-
Notifications
You must be signed in to change notification settings - Fork 407
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
OpenACC: add atomics support #6446
Conversation
… on a sequential host
- Remove const_cast() - Change Kokkos::abort() with printf() - Add FIXME_OPENACC comment.
(OpenACC C/C++ does not support atomic max/min/mod operations) Disable TestOpenACC_BitManipulationBuiltins for OpenACC due to errors.
Co-authored-by: Damien L-G <dalg24+github@gmail.com>
…r the OpenACC backend.
suggested by the code review.
Co-authored-by: Damien L-G <dalg24+github@gmail.com>
Re-enable atomic max/min tests for OpenACC.
2536a2d
to
18132bf
Compare
Retest this please |
…fail due to compiler bugs, which are reported to NVIDIA. - Change the values of start and end variables in TestAtomicOperations_double.hpp and TestAtomicOperations_float.hpp so that atomic-division tests calculate trivial divisions. (In the original tests, NVHPC compiler failed since device results are slightly different from the host results due to precision mismatch.)
host and device atomic operations using a relative error.
It looks good to me. Let's re trigger the CI. |
This reverts commit 18132bf.
This is ready. |
tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp
Outdated
Show resolved
Hide resolved
#if defined(KOKKOS_ENABLE_OPENACC) && defined(KOKKOS_COMPILER_NVHPC) | ||
// NVHPC may use different internal precisions for the device and host | ||
// atomic operations. Therefore, relative errors are used to compare the | ||
// host results and device results. | ||
case 5: | ||
return update != 0 ? atomic_op_test_rel<DivAtomicTest, T, ExecSpace>( | ||
old_val, update) | ||
: true; | ||
#else |
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.
Note that we have very similar "problems" for 32-bit support.
(I applied Bruno's suggestion (proposed in desul/desul#118) and merged develop to make sure there is no surprise after the SYCL updates) |
Retest this please |
This PR outputs an insane number of messages I think it's filling up the server with the log. |
Are you able to fix? |
Still waiting to get access to the machine to see if that's the issue. |
Those error messages are printed because some of the internal Kokkos host codes call |
Supersedes #5955