adding atomic support with atomix
Created by: leios
After some discussions on #282, we decided to use Atomix for atomic support in KA.
A few quick questions:
- Because Base (and CUDA) both have an
@atomic
macro, we need to specify that we are using theAtomix.@atomic
macro in code that needs atomic operations. Should we overdub any@atomic
macros in KA to specifically use Atomix? - Should we add in the tests from #282?
- What about atomic primitives like
atomic_add!(...)
, andatomic_sub!(...)
from #282? These come from eitherCUDA
orCore.Intrinsics
. Maybe it's a good idea to useAtomix
on top of #282? I don't know how many people will use the primitives over the macro, to be honest.
Note, this should not be merged until https://github.com/JuliaRegistries/General/pull/61002 is automerged.