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