From 9f64769352f18eaa6e06431d5ba03c028570ebdb Mon Sep 17 00:00:00 2001 From: Michael Zikeli <michael.zikeli@fau.de> Date: Wed, 5 Feb 2025 14:38:31 +0100 Subject: [PATCH] Add functionality to expose timer information to the sqlite output as it was done for the benchmark. --- .../UniformGridGPU/UniformGridGPU.cpp | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/apps/benchmarks/UniformGridGPU/UniformGridGPU.cpp b/apps/benchmarks/UniformGridGPU/UniformGridGPU.cpp index 65e7b903a..7f2001822 100644 --- a/apps/benchmarks/UniformGridGPU/UniformGridGPU.cpp +++ b/apps/benchmarks/UniformGridGPU/UniformGridGPU.cpp @@ -279,6 +279,29 @@ int main(int argc, char** argv) pythonCallbackResults.data().exposeValue("collisionSetup", infoCollisionSetup); pythonCallbackResults.data().exposeValue("cse_global", infoCseGlobal); pythonCallbackResults.data().exposeValue("cse_pdfs", infoCsePdfs); + + auto stripWhiteSpaces = [](std::string str) { + str.erase(remove_if(str.begin(), str.end(), isspace), str.end()); + return str; + }; + + for (auto i = reducedTimeloopTiming->begin(); i != reducedTimeloopTiming->end(); ++i) + { + const std::string timerName = "Timer_" + i->first; + std::string columnName = timerName + "_Total"; + pythonCallbackResults.data().exposeValue(stripWhiteSpaces(columnName).c_str(), i->second.total()); + columnName = timerName + "_Average"; + pythonCallbackResults.data().exposeValue(stripWhiteSpaces(columnName).c_str(), i->second.average()); + columnName = timerName + "_Count"; + pythonCallbackResults.data().exposeValue(stripWhiteSpaces(columnName).c_str(), i->second.getCounter()); + columnName = timerName + "_Min"; + pythonCallbackResults.data().exposeValue(stripWhiteSpaces(columnName).c_str(), i->second.min()); + columnName = timerName + "_Max"; + pythonCallbackResults.data().exposeValue(stripWhiteSpaces(columnName).c_str(), i->second.max()); + columnName = timerName + "_Variance"; + pythonCallbackResults.data().exposeValue(stripWhiteSpaces(columnName).c_str(), i->second.variance()); + } + // Call Python function to report results pythonCallbackResults(); } -- GitLab