Skip to content

Commit a737cc6

Browse files
committed
GPU: Improve timing messages for GPU Display and GPU QA
1 parent 1c98ddc commit a737cc6

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
@@ -661,10 +661,9 @@ void GPUQA::InitO2MCData(GPUTrackingInOutPointers* updateIOPtr)
661661
{
662662
#ifdef GPUCA_O2_LIB
663663
if (!mO2MCDataLoaded) {
664-
HighResTimer timer;
664+
HighResTimer timer(mTracking && mTracking->GetProcessingSettings().debugLevel);
665665
if (mTracking && mTracking->GetProcessingSettings().debugLevel) {
666666
GPUInfo("Start reading O2 Track MC information");
667-
timer.Start();
668667
}
669668
static constexpr float PRIM_MAX_T = 0.01f;
670669

@@ -756,7 +755,7 @@ void GPUQA::InitO2MCData(GPUTrackingInOutPointers* updateIOPtr)
756755
}
757756
}
758757
}
759-
if (mTracking && mTracking->GetProcessingSettings().debugLevel) {
758+
if (timer.IsRunning()) {
760759
GPUInfo("Finished reading O2 Track MC information (%f seconds)", timer.GetCurrentElapsedTime());
761760
}
762761
mO2MCDataLoaded = true;
@@ -902,7 +901,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
902901
mClusterParam.resize(GetNMCLabels());
903902
memset(mClusterParam.data(), 0, mClusterParam.size() * sizeof(mClusterParam[0]));
904903
}
905-
HighResTimer timer;
904+
HighResTimer timer(QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 2));
906905

907906
mNEvents++;
908907
if (mConfig.writeMCLabels) {
@@ -914,9 +913,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
914913

915914
bool mcAvail = mcPresent() || tracksExtMC;
916915

917-
if (mcAvail) {
918-
// Assign Track MC Labels
919-
timer.Start();
916+
if (mcAvail) { // Assign Track MC Labels
920917
if (tracksExternal) {
921918
#ifdef GPUCA_O2_LIB
922919
for (uint32_t i = 0; i < tracksExternal->size(); i++) {
@@ -967,7 +964,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
967964
}
968965
});
969966
}
970-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
967+
if (timer.IsRunning()) {
971968
GPUInfo("QA Time: Assign Track Labels:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
972969
}
973970

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

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

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

@@ -1248,7 +1245,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
12481245
}
12491246
}
12501247
}
1251-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1248+
if (timer.IsRunning()) {
12521249
GPUInfo("QA Time: Fill efficiency histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
12531250
}
12541251
}
@@ -1421,7 +1418,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
14211418
}
14221419
}
14231420
}
1424-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1421+
if (timer.IsRunning()) {
14251422
GPUInfo("QA Time: Fill resolution histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
14261423
}
14271424
}
@@ -1648,7 +1645,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
16481645
}
16491646
}
16501647

1651-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1648+
if (timer.IsRunning()) {
16521649
GPUInfo("QA Time: Fill cluster histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
16531650
}
16541651
}
@@ -1737,7 +1734,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
17371734
clusterAttachCounts.clear();
17381735
}
17391736

1740-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1737+
if (timer.IsRunning()) {
17411738
GPUInfo("QA Time: Fill track statistics:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
17421739
}
17431740
}
@@ -1810,7 +1807,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
18101807
mClusterCounts = counts_t();
18111808
}
18121809

1813-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1810+
if (timer.IsRunning()) {
18141811
GPUInfo("QA Time: Cluster Counts:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
18151812
}
18161813

0 commit comments

Comments
 (0)