-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Various fixes for heterogeneous utilities #47605
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
base: master
Are you sure you want to change the base?
Conversation
cms-bot internal usage |
type bugfix |
enable gpu |
please test |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-47605/44115
|
A new Pull Request was created by @fwyzard for master. It involves the following packages:
@fwyzard, @makortel can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
T const& limit, | ||
THierarchy const& hierarchy = THierarchy()) -> T { | ||
T assumed; | ||
T old = *address; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On host parallel backends (that we don't use at the moment) this line is not thread safe (actually, strictly speaking with the default Grids
hierarchy level this line is not thread safe even with host serial backend if the same address
is accessed concurrently from multiple kernels). To guarantee thread safety on host the load from address
would have to be atomic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see.
I will have to think how it can be implemented in a portable way, or specialised for the various backends.
PR description:
Add missing
#include
s underDataFormats/SoATemplate
.Implement
alpaka::atomicInc
variants:Fix a typo in the documentation.
PR validation:
None.
If this PR is a backport please specify the original PR and why you need to backport that PR. If this PR will be backported please specify to which release cycle the backport is meant for:
To be backported to 15.0.x for data taking.