Skip to content
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

Merged
merged 25 commits into from
Feb 13, 2024

Conversation

fwyzard
Copy link
Contributor

@fwyzard fwyzard commented Feb 6, 2024

PR description:

HeterogeneousCore/AlpakaInterface

Rewrite the work division utilities:

  • rewrite the uniform element kernel loops.
  • rewrite the independent element kernel loops.
  • remove the obsolete alpakatools utilities.

Rewrite the zeroAndInit kernel using the alpakatools utilities.
Rename elements_with_stride to uniform_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:

  • skip invalid or corrupted ROCs: 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);
  • fix the decoding of channels with timeout errors (errorType=27);
  • synchronise the treatment of pixel errorType=26, 27, 30 with the legacy code;
  • disable 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.

fwyzard and others added 11 commits February 5, 2024 11:26
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.
@fwyzard
Copy link
Contributor Author

fwyzard commented Feb 6, 2024

backport #43853

@fwyzard
Copy link
Contributor Author

fwyzard commented Feb 6, 2024

type bugfix

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 6, 2024

A new Pull Request was created by @fwyzard (Andrea Bocci) for CMSSW_14_0_X.

It involves the following packages:

  • CondFormats/SiPixelObjects (alca, db)
  • Geometry/CommonTopologies (geometry)
  • RecoLocalTracker/SiPixelClusterizer (reconstruction)
  • RecoTracker/MeasurementDet (reconstruction)

@cmsbuild, @mandrenguyen, @jfernan2, @bsunanda, @saumyaphor4252, @civanch, @francescobrivio, @perrotta, @consuegs, @makortel, @Dr15Jones, @mdhildreth can you please review it and eventually sign? Thanks.
@mroguljic, @JanFSchulte, @dkotlins, @rovere, @fabiocos, @threus, @yuanchao, @VinInn, @PonIlya, @rsreds, @gpetruc, @missirol, @seemasharmafnal, @dgulhan, @tvami, @GiacomoSguazzoni, @felicepantaleo, @mmusich, @bsunanda, @ferencek, @tocheng, @VourMa, @ebrondol, @mtosi this is something you requested to watch as well.
@sextonkennedy, @rappoccio, @antoniovilela you are the release manager for this.

cms-bot commands are listed here

@cmsbuild
Copy link
Contributor

cmsbuild commented Feb 6, 2024

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.
@mandrenguyen
Copy link
Contributor

+1

@perrotta
Copy link
Contributor

+1

@civanch
Copy link
Contributor

civanch commented Feb 13, 2024

+1

@srimanob
Copy link
Contributor

+Upgrade

@AdrianoDee
Copy link
Contributor

+pdmv

@cmsbuild
Copy link
Contributor

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)

@antoniovilela
Copy link
Contributor

+1

@cmsbuild cmsbuild merged commit efc4d46 into cms-sw:CMSSW_14_0_X Feb 13, 2024
25 checks passed
@fwyzard fwyzard deleted the alpaka_integration_branch branch March 2, 2024 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment