-
Notifications
You must be signed in to change notification settings - Fork 406
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
OpenMPTarget: Use OpenMP atomics for atomic_add. #6970
base: develop
Are you sure you want to change the base?
Conversation
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.
Please confirm that the issue is only affecting atomic_add
and none of the other atomic functions we provide.
Also please elaborate how you got Clang to segfault. What were you building? Was it Kokkos test suite? Are you able to reproduce with a simple Kokkos::parallel_for? etc.
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.
Wouldn't it make more sense to fix this in desul
directly?
Did not try anything other than |
Yeah that can also work. I am fine with either. |
I guess the first issue is do we want to do this if the problem only arises in very specific cases and with just one version of the compiler? |
We should try fixing for the minimum compiler version supported for |
Yeah we are setting the minimum version to 17 as of now https://github.com/kokkos/kokkos/blob/develop/cmake/kokkos_enable_devices.cmake#L95-L98 17 passes most of the enabled tests on both V100 and A100. With 18, I saw a few failing tests on A100. |
The PR uses
atomic
operation from OpenMP spec instead of DESUL atomics for llvm/18 as they cause compiler segfaults.