Skip to content

TICLGeom: parallelize the geometry SoA build with tbb::parallel_for - #51659

Merged
cmsbuild merged 1 commit into
cms-sw:masterfrom
felicepantaleo:TICLGeom_20_1_X_parallelBuild
Sep 5, 2026
Merged

TICLGeom: parallelize the geometry SoA build with tbb::parallel_for#51659
cmsbuild merged 1 commit into
cms-sw:masterfrom
felicepantaleo:TICLGeom_20_1_X_parallelBuild

Conversation

@felicepantaleo

Copy link
Copy Markdown
Contributor

Fill the per-cell columns with tbb::parallel_for instead of a serial loop. The running silicon and scint block counters are replaced by the arithmetic block-local index (i - nBarrel, i - nBarrel - nSilicon) so every iteration writes disjoint rows and RecHitTools is only read. The HGCal fill of 6.08M cells drops from 2844 ms to 332 ms using 8 threads without any difference in the output SoA.

Fill the per-cell columns with tbb::parallel_for instead of a serial loop.
The running silicon and scint block counters are replaced by the arithmetic
block-local index (i - nBarrel, i - nBarrel - nSilicon), valid from the
[barrel|silicon|scint] rawDetId ordering, so every iteration writes disjoint
rows and RecHitTools is only read. The HGCal fill of 6.08M cells drops from
2844 ms to 332 ms at 8 threads; the closure test is unchanged.
@cmsbuild

cmsbuild commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

cms-bot internal usage

@cmsbuild

Copy link
Copy Markdown
Contributor

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-51659/50525

@cmsbuild

Copy link
Copy Markdown
Contributor

A new Pull Request was created by @felicepantaleo for master.

It involves the following packages:

  • RecoHGCal/TICL (reconstruction)

@Moanwar, @cmsbuild, @jfernan2, @mandrenguyen, @srimanob can you please review it and eventually sign? Thanks.
@apsallid, @denizsun, @hatakeyamak, @lecriste, @rovere, @salimcerci, @sameasy, @sobhatta this is something you requested to watch as well.
@ftenchini, @mandrenguyen, @sextonkennedy you are the release manager for this.

cms-bot commands are listed here

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

type ngt

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

type performance-improvements

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

@cmsbuild please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 24KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c23fb1/55216/summary.html
COMMIT: 43dcaf2
CMSSW: CMSSW_20_1_X_2026-08-09-2300/el9_amd64_gcc13
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/51659/55216/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 45
  • DQMHistoTests: Total histograms compared: 3589140
  • DQMHistoTests: Total failures: 2
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3589120
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 44 files compared)
  • Checked 195 log files, 163 edm output root files, 45 DQM output files
  • TriggerResults: no differences found

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

@smuzaffar just checking: the tests are run in multithreaded jobs, right?

@smuzaffar

smuzaffar commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

@smuzaffar just checking: the tests are run in multithreaded jobs, right?

No @felicepantaleo , by default tests are run non-threaded ( otherwise dqm comparison shows a lot of differences). If you want to run relvals in threaded mode then use enable threading comment to enable threaded relvals and then next please test comment will run default non-threaded test plus extra threaded relvals

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

enable threading

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

@cmsbuild please test

@cmsbuild

Copy link
Copy Markdown
Contributor

-1

Failed Tests: RelVals RelVals-THREADING
Size: This PR adds an extra 24KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c23fb1/55222/summary.html
COMMIT: 43dcaf2
CMSSW: CMSSW_20_1_X_2026-08-10-1100/el9_amd64_gcc13
Additional Tests: THREADING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/51659/55222/install.sh to create a dev area with all the needed externals and cmssw changes.

Failed RelVals

----- Begin Fatal Exception 10-Aug-2026 13:29:43 CEST-----------------------
An exception of category 'NoSecondaryFiles' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=MixingModule label='mix'
Exception Message:
RootEmbeddedFileSequence no input files specified for secondary input source.
----- End Fatal Exception -------------------------------------------------

Failed RelVals-THREADING

  • 37834.037834.0_TTbar_14TeV+Run4D127PU/step2_TTbar_14TeV+Run4D127PU.log

@mandrenguyen

Copy link
Copy Markdown
Contributor

@felicepantaleo
Can you confirm that you have seen #51657 (comment)
We should make sure all the failures related to TICLGeom are addressed before integrating any further.

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

@cmsbuild please test

@cmsbuild

Copy link
Copy Markdown
Contributor

-1

Failed Tests: RelVals RelVals-THREADING
Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c23fb1/55235/summary.html
COMMIT: 43dcaf2
CMSSW: CMSSW_20_1_X_2026-08-10-2300/el9_amd64_gcc13
Additional Tests: THREADING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/51659/55235/install.sh to create a dev area with all the needed externals and cmssw changes.

Failed RelVals

----- Begin Fatal Exception 11-Aug-2026 07:28:21 CEST-----------------------
An exception of category 'NoSecondaryFiles' occurred while
   [0] Constructing the EventProcessor
   [1] Constructing module: class=MixingModule label='mix'
Exception Message:
RootEmbeddedFileSequence no input files specified for secondary input source.
----- End Fatal Exception -------------------------------------------------

Failed RelVals-THREADING

  • 37834.037834.0_TTbar_14TeV+Run4D127PU/step2_TTbar_14TeV+Run4D127PU.log

@mandrenguyen

mandrenguyen commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

@felicepantaleo Cross-posting the latest TICLGeom failure here:
#51660 (comment)
Can you please have a look urgently? This is blocking 20_1_0_pre2.

@felicepantaleo

Copy link
Copy Markdown
Contributor Author

@cmsbuild please test

@cmsbuild

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c23fb1/55275/summary.html
COMMIT: 43dcaf2
CMSSW: CMSSW_20_1_X_2026-08-11-2300/el9_amd64_gcc13
Additional Tests: THREADING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/51659/55275/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 0 differences found in the comparisons
  • DQMHistoTests: Total files compared: 44
  • DQMHistoTests: Total histograms compared: 3433258
  • DQMHistoTests: Total failures: 38
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3433202
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 43 files compared)
  • Checked 191 log files, 159 edm output root files, 44 DQM output files
  • TriggerResults: no differences found

@Moanwar

Moanwar commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

+1

@cmsbuild

cmsbuild commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @mandrenguyen, @ftenchini, @sextonkennedy (and backports should be raised in the release meeting by the corresponding L2)

@Moanwar

Moanwar commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@cmsbuild please test

  • Just to refresh the test

@cmsbuild

cmsbuild commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

+1

Size: This PR adds an extra 16KB to repository
Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-c23fb1/55719/summary.html
COMMIT: 43dcaf2
CMSSW: CMSSW_20_1_X_2026-09-04-1100/el9_amd64_gcc14
Additional Tests: THREADING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week1/cms-sw/cmssw/51659/55719/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • You potentially added 1 lines to the logs
  • Reco comparison results: 4 differences found in the comparisons
  • DQMHistoTests: Total files compared: 45
  • DQMHistoTests: Total histograms compared: 3592269
  • DQMHistoTests: Total failures: 36
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3592215
  • DQMHistoTests: Total skipped: 18
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 44 files compared)
  • Checked 195 log files, 163 edm output root files, 45 DQM output files
  • TriggerResults: no differences found

AMD_MI300X Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 65 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 173739
  • DQMHistoTests: Total failures: 7418
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 166321
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

AMD_W7900 Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 65 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 173739
  • DQMHistoTests: Total failures: 7192
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 166547
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

NVIDIA_H100 Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 81 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 173739
  • DQMHistoTests: Total failures: 8729
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 165010
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

NVIDIA_L4 Comparison Summary

Summary:

NVIDIA_L40S Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 56 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 173739
  • DQMHistoTests: Total failures: 7972
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 165767
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

NVIDIA_T4 Comparison Summary

Summary:

  • No significant changes to the logs found
  • Reco comparison results: 87 differences found in the comparisons
  • DQMHistoTests: Total files compared: 7
  • DQMHistoTests: Total histograms compared: 173739
  • DQMHistoTests: Total failures: 9114
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 164625
  • DQMHistoTests: Total skipped: 0
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 6 files compared)
  • Checked 25 log files, 20 edm output root files, 7 DQM output files
  • TriggerResults: no differences found

Max Memory Comparisons exceeding threshold NVIDIA_H100

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 37634.7503_TTbar_14TeV+Run4D127_HLTHeterogeneousValid step2 max memory diff -30.3 exceeds +/- 30.0 MiB

Max Memory Comparisons exceeding threshold NVIDIA_L4

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 37634.7503_TTbar_14TeV+Run4D127_HLTHeterogeneousValid step2 max memory diff -38.0 exceeds +/- 30.0 MiB

Max Memory Comparisons exceeding threshold NVIDIA_T4

@cms-sw/core-l2 , I found 1 workflow step(s) with memory usage exceeding the error threshold:

Expand to see workflows ...
  • Error: Workflow 37634.7503_TTbar_14TeV+Run4D127_HLTHeterogeneousValid step2 max memory diff 30.3 exceeds +/- 30.0 MiB

@mandrenguyen

Copy link
Copy Markdown
Contributor

+1

@cmsbuild
cmsbuild merged commit 09dbb84 into cms-sw:master Sep 5, 2026
37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants