-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Follow up to the Alpaka integration in CMSSW [14.0.x] #43879
Follow up to the Alpaka integration in CMSSW [14.0.x] #43879
Conversation
Make the Alpaka implementation of the pixel unpacker skip spurious ROCs, similar to the legacy and CUDA versions of the unpacker, and store the invalid ROC number error (errorType=36). Disable printf statements at compile time. Use named constants instead of magic numbers.
Rewrite loops using cms::alpakatools::independent_groups(acc, ...) and independent_group_elements(acc, ...). Rename variables and improve comments to help readability.
Rewrite loops using cms::alpakatools::independent_groups(acc, ...) and independent_group_elements(acc, ...). General clean up.
backport #43853 |
type bugfix |
A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_14_0_X. It involves the following packages:
@cmsbuild, @mandrenguyen, @jfernan2, @bsunanda, @saumyaphor4252, @civanch, @francescobrivio, @perrotta, @consuegs, @makortel, @Dr15Jones, @mdhildreth can you please review it and eventually sign? Thanks. cms-bot commands are listed here
|
cms-bot internal usage |
Renumber the ECAL-only alpaka workflow from ##.411 to ##.412, for consistency with the old gpu workflows (##.512) and the other alpaka workflows.
+1 |
+1
|
+1 |
+Upgrade |
+pdmv |
This pull request is fully signed and it will be integrated in one of the next CMSSW_14_0_X IBs (tests are also fine) and once validation in the development release cycle CMSSW_14_1_X is complete. This pull request will now be reviewed by the release team before it's merged. @rappoccio, @sextonkennedy, @antoniovilela (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
HeterogeneousCore/AlpakaInterface
Rewrite the work division utilities:
alpakatools
utilities.Rewrite the
zeroAndInit
kernel using thealpakatools
utilities.Rename
elements_with_stride
touniform_elements
in user code.RecoLocalTracker/SiPixelClusterizer
Implement fixes that were lost during the CUDA-to-Alpaka migration.
Collect the updates from #39711, #42618, #42977 and #43052, that were missing from the Alpaka implementation:
invalid ROC number error (
errorType=36
);errorType=27
);errorType=26
,27
,30
with the legacy code;printf
statements at compile time.RecoTracker/PixelSeeding
Do not call the fishbone for events with pixel hits only in BPIX1 (reimplement #35638).
RecoTracker/MeasurementDet
Add a check on the pixel ROC range, to avoid overflows in the (unsigned) range differences.
DataFormats/TrackingRecHitSoA
Extend
TrackingRecHits
collections for testing and their unit tests.CondFormats/SiPixelObjects
Clean up includes and dependencies, and avoid including framework headers in the device compilation.
Geometry/CommonTopologies
Update comments to pixel topologies.
Other changes
Fix include guards after files were moved to different packages.
Clean up include files.
Simplify nested namespace declarations.
PR validation:
Unit tests pass.
Validated running a recent HLT menu over 20k events without issues, both on GPU and on CPU, on data and MC: the alpaka implementation running on CPU or GPU gives the same results as the CUDA implementation, within the same non-reproducibility margins (1 event or up to 1% for high-rate triggers).
Backport status:
Backport of #43853 to 14.0.x (same branch) for 2024 data taking.