Skip to content

Commit 0c0f82d

Browse files
committed
GPU: Improve timing messages for GPU Display and GPU QA
1 parent c222536 commit 0c0f82d

File tree

7 files changed

+97
-31
lines changed

7 files changed

+97
-31
lines changed

GPU/GPUTracking/display/GPUDisplay.cxx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ int32_t GPUDisplay::DrawGLScene()
237237

238238
void GPUDisplay::DrawGLScene_cameraAndAnimation(float animateTime, float& mixSlaveImage, hmm_mat4& nextViewMatrix)
239239
{
240+
HighResTimer timer(mUpdateVertexLists && mChain->GetProcessingSettings().debugLevel >= 2);
240241
int32_t mMouseWheelTmp = mFrontend->mMouseWheel;
241242
mFrontend->mMouseWheel = 0;
242243
bool lookOrigin = mCfgR.camLookOrigin ^ mFrontend->mKeys[mFrontend->KEY_ALT];
@@ -420,6 +421,9 @@ void GPUDisplay::DrawGLScene_cameraAndAnimation(float animateTime, float& mixSla
420421
mFrontend->mMouseDnX = mFrontend->mMouseMvX;
421422
mFrontend->mMouseDnY = mFrontend->mMouseMvY;
422423
}
424+
if (timer.IsRunning()) {
425+
GPUInfo("Display Time: Camera:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
426+
}
423427
}
424428

425429
void GPUDisplay::DrawGLScene_drawCommands()
@@ -618,7 +622,6 @@ void GPUDisplay::DrawGLScene_drawCommands()
618622

619623
void GPUDisplay::DrawGLScene_internal(float animateTime, bool renderToMixBuffer) // negative time = no mixing
620624
{
621-
bool showTimer = false;
622625
bool doScreenshot = (mRequestScreenshot || mAnimateScreenshot) && animateTime < 0;
623626

624627
updateOptions();
@@ -629,8 +632,9 @@ void GPUDisplay::DrawGLScene_internal(float animateTime, bool renderToMixBuffer)
629632
mUpdateDrawCommands = true;
630633
}
631634

635+
HighResTimer timerDraw;
632636
if (animateTime < 0 && (mUpdateEventData || mResetScene) && mIOPtrs) {
633-
showTimer = true;
637+
timerDraw.ResetStart();
634638
DrawGLScene_updateEventData();
635639
mTimerFPS.ResetStart();
636640
mFramesDoneFPS = 0;
@@ -646,8 +650,8 @@ void GPUDisplay::DrawGLScene_internal(float animateTime, bool renderToMixBuffer)
646650
// Prepare Event
647651
if (mUpdateVertexLists && mIOPtrs) {
648652
size_t totalVertizes = DrawGLScene_updateVertexList();
649-
if (showTimer) {
650-
printf("Event visualization time: %'d us (vertices %'ld / %'ld bytes)\n", (int32_t)(mTimerDraw.GetCurrentElapsedTime() * 1000000.), (int64_t)totalVertizes, (int64_t)(totalVertizes * sizeof(mVertexBuffer[0][0])));
653+
if (timerDraw.IsRunning()) {
654+
printf("Event visualization time: %'d us (vertices %'ld / %'ld bytes)\n", (int32_t)(timerDraw.GetCurrentElapsedTime() * 1000000.), (int64_t)totalVertizes, (int64_t)(totalVertizes * sizeof(mVertexBuffer[0][0])));
651655
}
652656
}
653657

@@ -668,7 +672,8 @@ void GPUDisplay::DrawGLScene_internal(float animateTime, bool renderToMixBuffer)
668672
mBackend->drawField();
669673
}
670674

671-
mUpdateDrawCommands = mUpdateRenderPipeline = false;
675+
mUpdateDrawCommands = false;
676+
mUpdateRenderPipeline = false;
672677
mBackend->finishDraw(doScreenshot, renderToMixBuffer, mixSlaveImage);
673678

674679
if (animateTime < 0) {

GPU/GPUTracking/display/GPUDisplay.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ class GPUDisplay : public GPUDisplayInterface
310310

311311
float mFPSScale = 1, mFPSScaleadjust = 0;
312312
int32_t mFramesDone = 0, mFramesDoneFPS = 0;
313-
HighResTimer mTimerFPS, mTimerDisplay, mTimerDraw;
313+
HighResTimer mTimerFPS;
314314
vboList mGlDLLines[NSECTORS][N_LINES_TYPE];
315315
vecpod<std::array<vboList, N_FINAL_TYPE>> mGlDLFinal[NSECTORS];
316316
vboList mGlDLFinalITS;

GPU/GPUTracking/display/render/GPUDisplayDraw.cxx

Lines changed: 45 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,7 @@ GPUDisplay::vboList GPUDisplay::DrawGridTRD(int32_t sector)
752752

753753
size_t GPUDisplay::DrawGLScene_updateVertexList()
754754
{
755+
HighResTimer timer(mChain->GetProcessingSettings().debugLevel >= 2);
755756
for (int32_t i = 0; i < NSECTORS; i++) {
756757
mVertexBuffer[i].clear();
757758
mVertexBufferStart[i].clear();
@@ -773,6 +774,10 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
773774
mGlDLFinal[iSector].resize(mNCollissions);
774775
}
775776
}
777+
if (timer.IsRunning()) {
778+
GPUInfo("Display Time: Vertex Init:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
779+
}
780+
776781
int32_t numThreads = getNumThreads();
777782
tbb::task_arena(numThreads).execute([&] {
778783
if (mChain && (mChain->GetRecoSteps() & GPUDataTypes::RecoStep::TPCSectorTracking)) {
@@ -782,6 +787,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
782787
mGlDLLines[iSector][tINITLINK] = DrawLinks(tracker, tINITLINK, true);
783788
tracker.SetPointersDataLinks(mChain->rec()->Res(tracker.MemoryResLinks()).Ptr()); // clang-format off
784789
}, tbb::simple_partitioner()); // clang-format on
790+
if (timer.IsRunning()) {
791+
GPUInfo("Display Time: Vertex Links:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
792+
}
785793

786794
tbb::parallel_for(0, NSECTORS, [&](int32_t iSector) {
787795
const GPUTPCTracker& tracker = sectorTracker(iSector);
@@ -795,11 +803,17 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
795803
mGlDLGridTRD[iSector] = DrawGridTRD(iSector);
796804
} // clang-format off
797805
}, tbb::simple_partitioner()); // clang-format on
806+
if (timer.IsRunning()) {
807+
GPUInfo("Display Time: Vertex Seeds:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
808+
}
798809

799810
tbb::parallel_for(0, NSECTORS, [&](int32_t iSector) {
800811
const GPUTPCTracker& tracker = sectorTracker(iSector);
801812
mGlDLLines[iSector][tEXTRAPOLATEDTRACK] = DrawTracks(tracker, 1); // clang-format off
802813
}, tbb::simple_partitioner()); // clang-format on
814+
if (timer.IsRunning()) {
815+
GPUInfo("Display Time: Vertex Sector Tracks:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
816+
}
803817
}
804818
tbb::parallel_for(0, numThreads, [&](int32_t iThread) {
805819
mThreadTracks[iThread].resize(mNCollissions);
@@ -872,6 +886,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
872886
mThreadTracks[GPUReconstruction::getHostThreadIndex()][col][sector][1].emplace_back(i);
873887
});
874888
}
889+
if (timer.IsRunning()) {
890+
GPUInfo("Display Time: Vertex Sort merged tracks:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
891+
}
875892

876893
GPUTPCGMPropagator prop;
877894
prop.SetMaxSinPhi(.999);
@@ -900,6 +917,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
900917
}
901918
} // clang-format off
902919
}, tbb::simple_partitioner()); // clang-format on
920+
if (timer.IsRunning()) {
921+
GPUInfo("Display Time: Vertex Merged Tracks:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
922+
}
903923

904924
tbb::parallel_for(0, NSECTORS, [&](int32_t iSector) {
905925
for (int32_t i = 0; i < N_POINTS_TYPE_TPC; i++) {
@@ -908,36 +928,49 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
908928
}
909929
} // clang-format off
910930
}, tbb::simple_partitioner()); // clang-format on
931+
if (timer.IsRunning()) {
932+
GPUInfo("Display Time: Vertex Clusters:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
933+
}
934+
911935
});
912936
// End omp parallel
913937

914938
mGlDLFinalITS = DrawFinalITS();
915-
916939
for (int32_t iSector = 0; iSector < NSECTORS; iSector++) {
917-
for (int32_t i = N_POINTS_TYPE_TPC; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD; i++) {
940+
for (int32_t i = N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD + N_POINTS_TYPE_TOF; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD + N_POINTS_TYPE_TOF + N_POINTS_TYPE_ITS; i++) {
918941
for (int32_t iCol = 0; iCol < mNCollissions; iCol++) {
919-
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTRD(iSector, i, iCol);
942+
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsITS(iSector, i, iCol);
920943
}
921944
}
945+
break; // TODO: Only sector 0 filled for now
946+
}
947+
948+
if (timer.IsRunning()) {
949+
GPUInfo("Display Time: Vertex ITS:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
922950
}
923951

924952
for (int32_t iSector = 0; iSector < NSECTORS; iSector++) {
925-
for (int32_t i = N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD + N_POINTS_TYPE_TOF; i++) {
953+
for (int32_t i = N_POINTS_TYPE_TPC; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD; i++) {
926954
for (int32_t iCol = 0; iCol < mNCollissions; iCol++) {
927-
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTOF(iSector, i, iCol);
955+
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTRD(iSector, i, iCol);
928956
}
929957
}
930-
break; // TODO: Only sector 0 filled for now
958+
}
959+
if (timer.IsRunning()) {
960+
GPUInfo("Display Time: Vertex TRD:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
931961
}
932962

933963
for (int32_t iSector = 0; iSector < NSECTORS; iSector++) {
934-
for (int32_t i = N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD + N_POINTS_TYPE_TOF; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD + N_POINTS_TYPE_TOF + N_POINTS_TYPE_ITS; i++) {
964+
for (int32_t i = N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD + N_POINTS_TYPE_TOF; i++) {
935965
for (int32_t iCol = 0; iCol < mNCollissions; iCol++) {
936-
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsITS(iSector, i, iCol);
966+
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTOF(iSector, i, iCol);
937967
}
938968
}
939969
break; // TODO: Only sector 0 filled for now
940970
}
971+
if (timer.IsRunning()) {
972+
GPUInfo("Display Time: Vertex TOF:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
973+
}
941974

942975
mUpdateVertexLists = false;
943976
size_t totalVertizes = 0;
@@ -965,5 +998,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
965998
for (int32_t i = 0; i < (mUseMultiVBO ? GPUCA_NSECTORS : 1); i++) {
966999
mVertexBuffer[i].clear();
9671000
}
1001+
if (timer.IsRunning()) {
1002+
GPUInfo("Display Time: Vertex Final:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
1003+
}
1004+
9681005
return totalVertizes;
9691006
}

GPU/GPUTracking/display/render/GPUDisplayImportEvent.cxx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include "GPUTPCConvertImpl.h"
2424
#include "GPUTRDGeometry.h"
2525
#include "GPUTRDTrackletWord.h"
26+
#include "GPUChainTracking.h"
2627
#include "GPUParam.inc"
2728

2829
#include "DataFormatsTOF/Cluster.h"
@@ -40,7 +41,7 @@ using namespace o2::gpu;
4041

4142
void GPUDisplay::DrawGLScene_updateEventData()
4243
{
43-
mTimerDraw.ResetStart();
44+
HighResTimer timer(mChain->GetProcessingSettings().debugLevel >= 2);
4445
if (mIOPtrs->clustersNative) {
4546
mCurrentClusters = mIOPtrs->clustersNative->nClustersTotal;
4647
} else {
@@ -110,6 +111,9 @@ void GPUDisplay::DrawGLScene_updateEventData()
110111
}
111112
}
112113
}
114+
if (timer.IsRunning()) {
115+
GPUInfo("Display Time: Init:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
116+
}
113117

114118
if (mCfgH.trackFilter) {
115119
uint32_t nTracks = mConfig.showTPCTracksFromO2Format ? mIOPtrs->nOutputTracksTPCO2 : mIOPtrs->nMergedTracks;
@@ -128,6 +132,9 @@ void GPUDisplay::DrawGLScene_updateEventData()
128132
}
129133
}
130134
mUpdateTrackFilter = false;
135+
if (timer.IsRunning()) {
136+
GPUInfo("Display Time: Track Filter:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
137+
}
131138

132139
mMaxClusterZ = tbb::parallel_reduce(tbb::blocked_range<int32_t>(0, NSECTORS, 1), float(0.f), [&](const tbb::blocked_range<int32_t>& r, float maxClusterZ) {
133140
for (int32_t iSector = r.begin(); iSector < r.end(); iSector++) {
@@ -174,6 +181,9 @@ void GPUDisplay::DrawGLScene_updateEventData()
174181
}
175182
return maxClusterZ; // clang-format off
176183
}, [](const float a, const float b) { return std::max(a, b); }, tbb::simple_partitioner()); // clang-format on
184+
if (timer.IsRunning()) {
185+
GPUInfo("Display Time: Load TPC:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
186+
}
177187

178188
mMaxClusterZ = tbb::parallel_reduce(tbb::blocked_range<int32_t>(0, mCurrentSpacePointsTRD, 32), float(mMaxClusterZ), [&](const tbb::blocked_range<int32_t>& r, float maxClusterZ) {
179189
int32_t trdTriggerRecord = -1;
@@ -209,6 +219,9 @@ void GPUDisplay::DrawGLScene_updateEventData()
209219
}
210220
return maxClusterZ; // clang-format off
211221
}, [](const float a, const float b) { return std::max(a, b); }, tbb::static_partitioner()); // clang-format on
222+
if (timer.IsRunning()) {
223+
GPUInfo("Display Time: Load TRD:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
224+
}
212225

213226
mMaxClusterZ = tbb::parallel_reduce(tbb::blocked_range<int32_t>(0, mCurrentClustersTOF, 32), float(mMaxClusterZ), [&](const tbb::blocked_range<int32_t>& r, float maxClusterZ) {
214227
for (int32_t i = r.begin(); i < r.end(); i++) {
@@ -230,6 +243,9 @@ void GPUDisplay::DrawGLScene_updateEventData()
230243
}
231244
return maxClusterZ; // clang-format off
232245
}, [](const float a, const float b) { return std::max(a, b); }); // clang-format on
246+
if (timer.IsRunning()) {
247+
GPUInfo("Display Time: Load TOF:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
248+
}
233249

234250
if (mCurrentClustersITS) {
235251
float itsROFhalfLen = 0;
@@ -270,4 +286,7 @@ void GPUDisplay::DrawGLScene_updateEventData()
270286
}
271287
}
272288
}
289+
if (timer.IsRunning()) {
290+
GPUInfo("Display Time: Load ITS:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
291+
}
273292
}

GPU/GPUTracking/qa/GPUQA.cxx

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -663,10 +663,9 @@ void GPUQA::InitO2MCData(GPUTrackingInOutPointers* updateIOPtr)
663663
{
664664
#ifdef GPUCA_O2_LIB
665665
if (!mO2MCDataLoaded) {
666-
HighResTimer timer;
666+
HighResTimer timer(mTracking && mTracking->GetProcessingSettings().debugLevel);
667667
if (mTracking && mTracking->GetProcessingSettings().debugLevel) {
668668
GPUInfo("Start reading O2 Track MC information");
669-
timer.Start();
670669
}
671670
static constexpr float PRIM_MAX_T = 0.01f;
672671

@@ -758,7 +757,7 @@ void GPUQA::InitO2MCData(GPUTrackingInOutPointers* updateIOPtr)
758757
}
759758
}
760759
}
761-
if (mTracking && mTracking->GetProcessingSettings().debugLevel) {
760+
if (timer.IsRunning()) {
762761
GPUInfo("Finished reading O2 Track MC information (%f seconds)", timer.GetCurrentElapsedTime());
763762
}
764763
mO2MCDataLoaded = true;
@@ -904,7 +903,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
904903
mClusterParam.resize(GetNMCLabels());
905904
memset(mClusterParam.data(), 0, mClusterParam.size() * sizeof(mClusterParam[0]));
906905
}
907-
HighResTimer timer;
906+
HighResTimer timer(QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 2));
908907

909908
mNEvents++;
910909
if (mConfig.writeMCLabels) {
@@ -916,9 +915,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
916915

917916
bool mcAvail = mcPresent() || tracksExtMC;
918917

919-
if (mcAvail) {
920-
// Assign Track MC Labels
921-
timer.Start();
918+
if (mcAvail) { // Assign Track MC Labels
922919
if (tracksExternal) {
923920
#ifdef GPUCA_O2_LIB
924921
for (uint32_t i = 0; i < tracksExternal->size(); i++) {
@@ -969,7 +966,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
969966
}
970967
});
971968
}
972-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
969+
if (timer.IsRunning()) {
973970
GPUInfo("QA Time: Assign Track Labels:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
974971
}
975972

@@ -1109,7 +1106,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
11091106
}
11101107
}
11111108
}
1112-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1109+
if (timer.IsRunning()) {
11131110
GPUInfo("QA Time: Cluster attach status:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
11141111
}
11151112

@@ -1136,7 +1133,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
11361133
}
11371134
}
11381135
}
1139-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1136+
if (timer.IsRunning()) {
11401137
GPUInfo("QA Time: Compute cluster label weights:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
11411138
}
11421139

@@ -1160,7 +1157,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
11601157
}
11611158
} // clang-format off
11621159
}, tbb::simple_partitioner()); // clang-format on
1163-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1160+
if (timer.IsRunning()) {
11641161
GPUInfo("QA Time: Compute track mc parameters:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
11651162
}
11661163

@@ -1250,7 +1247,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
12501247
}
12511248
}
12521249
}
1253-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1250+
if (timer.IsRunning()) {
12541251
GPUInfo("QA Time: Fill efficiency histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
12551252
}
12561253
}
@@ -1423,7 +1420,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
14231420
}
14241421
}
14251422
}
1426-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1423+
if (timer.IsRunning()) {
14271424
GPUInfo("QA Time: Fill resolution histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
14281425
}
14291426
}
@@ -1650,7 +1647,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
16501647
}
16511648
}
16521649

1653-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1650+
if (timer.IsRunning()) {
16541651
GPUInfo("QA Time: Fill cluster histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
16551652
}
16561653
}
@@ -1744,7 +1741,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
17441741
clusterAttachCounts.clear();
17451742
}
17461743

1747-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1744+
if (timer.IsRunning()) {
17481745
GPUInfo("QA Time: Fill track statistics:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
17491746
}
17501747
}
@@ -1817,7 +1814,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
18171814
mClusterCounts = counts_t();
18181815
}
18191816

1820-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1817+
if (timer.IsRunning()) {
18211818
GPUInfo("QA Time: Cluster Counts:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
18221819
}
18231820

0 commit comments

Comments
 (0)