@@ -755,6 +755,7 @@ GPUDisplay::vboList GPUDisplay::DrawGridTRD(int32_t sector)
755755
756756size_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}
0 commit comments