-
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
Add central synchronize
configuration parameter to Alpaka modules
#47028
base: master
Are you sure you want to change the base?
Conversation
cms-bot internal usage |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-47028/43144 |
A new Pull Request was created by @makortel for master. It involves the following packages:
@cmsbuild, @fwyzard, @makortel can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
enable gpu |
@cmsbuild, please test |
+1 Size: This PR adds an extra 48KB to repository Comparison SummarySummary:
GPU Comparison SummarySummary:
|
+heterogeneous |
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. @antoniovilela, @rappoccio, @sextonkennedy, @mandrenguyen (and backports should be raised in the release meeting by the corresponding L2) |
PR description:
Many developers of Alpaka modules add
synchronize
parameter to callalpaka::wait()
at the end ofacquire()
/produce()
. Having such parameter centrally would allowProcessAcceleratorAlpaka
(similarly tobackend
)EDMetadata
would know at the Event insertion time all async work has finishedThis change requires the Alpaka EDModules to pass the
edm::ParameterSet
to their base classes (this pattern is already required for Alpaka ESProducers). I think the number of Alpaka EDModules is small enough for this change to be feasible, but large enough to not to be done in this PR. Instead this PR allows a migration path (EDModules implicitly calling the default constructor of the base class have theiralpaka.synchronize
parameter treated asFalse
).The
alpaka.synchronize
parameter applies to Alpaka ESProducers as well. I reminded myself that the Alpaka ESProducers are presently still synchronous, so as a follow-up step I'm going to make them asynchronous by default (after which thealpaka.synchronize
parameter would have an effect).The second commit adds an exception with a clear error message if
alpaka
PSet is tracked. The commit is not strictly related to this PR, but I made the mistake myself while extending the tests.Resolves cms-sw/framework-team#1115
PR validation:
Unit tests pass.