-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL][CUDA][libclc] Add software atomics implementations for lower sm versions #5998
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
Conversation
/verify with intel/llvm-test-suite#985 |
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.
FE changes look ok to me
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.
FE changes look okay to me.
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.
LGTM!
Can this be merged? |
Test failures are unrelated.
|
Reduces sm version requirement for atomic_ref tests. Testing this properly would require duplicating all the atomic ref tests for sm_50 (as in this PR) and for sm_70 (for system scope atomics). That would duplicate all the slowest tests. To avoid significant increase of test running time I am instead removing testing for system atomics, which have relatively simple implementations. Tests intel/llvm#5998
…lvm-test-suite#985) Reduces sm version requirement for atomic_ref tests. Testing this properly would require duplicating all the atomic ref tests for sm_50 (as in this PR) and for sm_70 (for system scope atomics). That would duplicate all the slowest tests. To avoid significant increase of test running time I am instead removing testing for system atomics, which have relatively simple implementations. Tests intel#5998
Adds software implementations for various atomics for sm versions blow ones where they are supported natively. Now all atomics, except for the ones using system scope are supported regardless of the sm version.
Now
SYCL_USE_NATIVE_FP_ATOMICS
is also defined for CUDA by default.Closes #5936.
Tested by: intel/llvm-test-suite#985