LLNL / RAJA

RAJA Performance Portability Layer (C++)
BSD 3-Clause "New" or "Revised" License
450 stars 102 forks source link

Atomics wishlist #1661

Open adayton1 opened 1 month ago

adayton1 commented 1 month ago

Builtin atomics

Openmp atomics

All atomics

adayton1 commented 1 month ago

I'm working on adding atomicLoad and atomicStore, and I noticed that atomicStore is very similar to atomicExchange, which we already have implemented. Should we add atomicStore as an alias to atomicExchange? Or should we make it different by not returning the old value? I'm leaning toward making it an alias to atomicExchange.

EDIT: I made atomicStore a different function that does not return the old value. Jason pointed out some platform intrinsics that don't return a value are more efficient.