issues
search
LLNL
/
RAJA
RAJA Performance Portability Layer (C++)
BSD 3-Clause "New" or "Revised" License
474
stars
102
forks
source link
Builtin atomics fixes
#1657
Closed
adayton1
closed
4 months ago
adayton1
commented
4 months ago
Summary
This PR is a bugfix
It does the following:
Modifies builtin atomics to use atomic loads to guarantee correctness
Fixes the call to the short-circuiting test by passing the original type rather than the value reinterpreted as unsigned or unsigned long
Refactors the atomic CAS in a loop operations for more code reuse (as well as a simpler implementation)
Provide a slightly faster implementation when there is no option for short-circuiting
Summary