Skip to content

Commit dbe108d

Browse files
committed
GPU: Improve timing messages for GPU Display and GPU QA
1 parent 314fc87 commit dbe108d

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
@@ -755,6 +755,7 @@ GPUDisplay::vboList GPUDisplay::DrawGridTRD(int32_t sector)
755755

756756
size_t GPUDisplay::DrawGLScene_updateVertexList()
757757
{
758+
HighResTimer timer(mChain->GetProcessingSettings().debugLevel >= 2);
758759
for (int32_t i = 0; i < NSECTORS; i++) {
759760
mVertexBuffer[i].clear();
760761
mVertexBufferStart[i].clear();
@@ -776,6 +777,10 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
776777
mGlDLFinal[iSector].resize(mNCollissions);
777778
}
778779
}
780+
if (timer.IsRunning()) {
781+
GPUInfo("Display Time: Vertex Init:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
782+
}
783+
779784
int32_t numThreads = getNumThreads();
780785
tbb::task_arena(numThreads).execute([&] {
781786
if (mChain && (mChain->GetRecoSteps() & GPUDataTypes::RecoStep::TPCSectorTracking)) {
@@ -785,6 +790,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
785790
mGlDLLines[iSector][tINITLINK] = DrawLinks(tracker, tINITLINK, true);
786791
tracker.SetPointersDataLinks(mChain->rec()->Res(tracker.MemoryResLinks()).Ptr()); // clang-format off
787792
}, tbb::simple_partitioner()); // clang-format on
793+
if (timer.IsRunning()) {
794+
GPUInfo("Display Time: Vertex Links:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
795+
}
788796

789797
tbb::parallel_for(0, NSECTORS, [&](int32_t iSector) {
790798
const GPUTPCTracker& tracker = sectorTracker(iSector);
@@ -798,11 +806,17 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
798806
mGlDLGridTRD[iSector] = DrawGridTRD(iSector);
799807
} // clang-format off
800808
}, tbb::simple_partitioner()); // clang-format on
809+
if (timer.IsRunning()) {
810+
GPUInfo("Display Time: Vertex Seeds:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
811+
}
801812

802813
tbb::parallel_for(0, NSECTORS, [&](int32_t iSector) {
803814
const GPUTPCTracker& tracker = sectorTracker(iSector);
804815
mGlDLLines[iSector][tEXTRAPOLATEDTRACK] = DrawTracks(tracker, 1); // clang-format off
805816
}, tbb::simple_partitioner()); // clang-format on
817+
if (timer.IsRunning()) {
818+
GPUInfo("Display Time: Vertex Sector Tracks:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
819+
}
806820
}
807821
tbb::parallel_for(0, numThreads, [&](int32_t iThread) {
808822
mThreadTracks[iThread].resize(mNCollissions);
@@ -875,6 +889,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
875889
mThreadTracks[GPUReconstruction::getHostThreadIndex()][col][sector][1].emplace_back(i);
876890
});
877891
}
892+
if (timer.IsRunning()) {
893+
GPUInfo("Display Time: Vertex Sort merged tracks:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
894+
}
878895

879896
GPUTPCGMPropagator prop;
880897
prop.SetMaxSinPhi(.999);
@@ -903,6 +920,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
903920
}
904921
} // clang-format off
905922
}, tbb::simple_partitioner()); // clang-format on
923+
if (timer.IsRunning()) {
924+
GPUInfo("Display Time: Vertex Merged Tracks:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
925+
}
906926

907927
tbb::parallel_for(0, NSECTORS, [&](int32_t iSector) {
908928
for (int32_t i = 0; i < N_POINTS_TYPE_TPC; i++) {
@@ -911,36 +931,49 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
911931
}
912932
} // clang-format off
913933
}, tbb::simple_partitioner()); // clang-format on
934+
if (timer.IsRunning()) {
935+
GPUInfo("Display Time: Vertex Clusters:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
936+
}
937+
914938
});
915939
// End omp parallel
916940

917941
mGlDLFinalITS = DrawFinalITS();
918-
919942
for (int32_t iSector = 0; iSector < NSECTORS; iSector++) {
920-
for (int32_t i = N_POINTS_TYPE_TPC; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD; i++) {
943+
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++) {
921944
for (int32_t iCol = 0; iCol < mNCollissions; iCol++) {
922-
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTRD(iSector, i, iCol);
945+
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsITS(iSector, i, iCol);
923946
}
924947
}
948+
break; // TODO: Only sector 0 filled for now
949+
}
950+
951+
if (timer.IsRunning()) {
952+
GPUInfo("Display Time: Vertex ITS:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
925953
}
926954

927955
for (int32_t iSector = 0; iSector < NSECTORS; iSector++) {
928-
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++) {
956+
for (int32_t i = N_POINTS_TYPE_TPC; i < N_POINTS_TYPE_TPC + N_POINTS_TYPE_TRD; i++) {
929957
for (int32_t iCol = 0; iCol < mNCollissions; iCol++) {
930-
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTOF(iSector, i, iCol);
958+
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTRD(iSector, i, iCol);
931959
}
932960
}
933-
break; // TODO: Only sector 0 filled for now
961+
}
962+
if (timer.IsRunning()) {
963+
GPUInfo("Display Time: Vertex TRD:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
934964
}
935965

936966
for (int32_t iSector = 0; iSector < NSECTORS; iSector++) {
937-
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++) {
967+
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++) {
938968
for (int32_t iCol = 0; iCol < mNCollissions; iCol++) {
939-
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsITS(iSector, i, iCol);
969+
mGlDLPoints[iSector][i][iCol] = DrawSpacePointsTOF(iSector, i, iCol);
940970
}
941971
}
942972
break; // TODO: Only sector 0 filled for now
943973
}
974+
if (timer.IsRunning()) {
975+
GPUInfo("Display Time: Vertex TOF:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
976+
}
944977

945978
mUpdateVertexLists = false;
946979
size_t totalVertizes = 0;
@@ -968,5 +1001,9 @@ size_t GPUDisplay::DrawGLScene_updateVertexList()
9681001
for (int32_t i = 0; i < (mUseMultiVBO ? GPUCA_NSECTORS : 1); i++) {
9691002
mVertexBuffer[i].clear();
9701003
}
1004+
if (timer.IsRunning()) {
1005+
GPUInfo("Display Time: Vertex Final:\t\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
1006+
}
1007+
9711008
return totalVertizes;
9721009
}

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

@@ -776,7 +775,7 @@ void GPUQA::InitO2MCData(GPUTrackingInOutPointers* updateIOPtr)
776775
}
777776
}
778777
}
779-
if (mTracking && mTracking->GetProcessingSettings().debugLevel) {
778+
if (timer.IsRunning()) {
780779
GPUInfo("Finished reading O2 Track MC information (%f seconds)", timer.GetCurrentElapsedTime());
781780
}
782781
mO2MCDataLoaded = true;
@@ -922,7 +921,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
922921
mClusterParam.resize(GetNMCLabels());
923922
memset(mClusterParam.data(), 0, mClusterParam.size() * sizeof(mClusterParam[0]));
924923
}
925-
HighResTimer timer;
924+
HighResTimer timer(QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 2));
926925

927926
mNEvents++;
928927
if (mConfig.writeMCLabels) {
@@ -934,9 +933,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
934933

935934
bool mcAvail = mcPresent() || tracksExtMC;
936935

937-
if (mcAvail) {
938-
// Assign Track MC Labels
939-
timer.Start();
936+
if (mcAvail) { // Assign Track MC Labels
940937
if (tracksExternal) {
941938
#ifdef GPUCA_O2_LIB
942939
for (uint32_t i = 0; i < tracksExternal->size(); i++) {
@@ -987,7 +984,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
987984
}
988985
});
989986
}
990-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
987+
if (timer.IsRunning()) {
991988
GPUInfo("QA Time: Assign Track Labels:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
992989
}
993990

@@ -1127,7 +1124,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
11271124
}
11281125
}
11291126
}
1130-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1127+
if (timer.IsRunning()) {
11311128
GPUInfo("QA Time: Cluster attach status:\t\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
11321129
}
11331130

@@ -1154,7 +1151,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
11541151
}
11551152
}
11561153
}
1157-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1154+
if (timer.IsRunning()) {
11581155
GPUInfo("QA Time: Compute cluster label weights:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
11591156
}
11601157

@@ -1178,7 +1175,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
11781175
}
11791176
} // clang-format off
11801177
}, tbb::simple_partitioner()); // clang-format on
1181-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1178+
if (timer.IsRunning()) {
11821179
GPUInfo("QA Time: Compute track mc parameters:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
11831180
}
11841181

@@ -1268,7 +1265,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
12681265
}
12691266
}
12701267
}
1271-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1268+
if (timer.IsRunning()) {
12721269
GPUInfo("QA Time: Fill efficiency histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
12731270
}
12741271
}
@@ -1444,7 +1441,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
14441441
}
14451442
}
14461443
}
1447-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1444+
if (timer.IsRunning()) {
14481445
GPUInfo("QA Time: Fill resolution histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
14491446
}
14501447
}
@@ -1671,7 +1668,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
16711668
}
16721669
}
16731670

1674-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1671+
if (timer.IsRunning()) {
16751672
GPUInfo("QA Time: Fill cluster histograms:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
16761673
}
16771674
}
@@ -1765,7 +1762,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
17651762
clusterAttachCounts.clear();
17661763
}
17671764

1768-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1765+
if (timer.IsRunning()) {
17691766
GPUInfo("QA Time: Fill track statistics:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
17701767
}
17711768
}
@@ -1838,7 +1835,7 @@ void GPUQA::RunQA(bool matchOnly, const std::vector<o2::tpc::TrackTPC>* tracksEx
18381835
mClusterCounts = counts_t();
18391836
}
18401837

1841-
if (QA_TIMING || (mTracking && mTracking->GetProcessingSettings().debugLevel >= 3)) {
1838+
if (timer.IsRunning()) {
18421839
GPUInfo("QA Time: Cluster Counts:\t%6.0f us", timer.GetCurrentElapsedTime(true) * 1e6);
18431840
}
18441841

0 commit comments

Comments
 (0)