You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For example CUDA.atomic_xchg! exists yet it isn't called by Atomic.modify!.
Changing this function by adding two lines does the trick:
@inlinefunction Atomix.modify!(ref::CuIndexableRef, op::OP, x, order) where {OP}
# ...elseif op === Atomix.right
CUDA.atomic_xchg!(ptr, x)
# ...end
I do not know if this is supported by the other GPU backends.
There is also the case of Atomix.get! and Atomix.set! which aren't supported. There is no direct equivalent in CUDA, but doing a CUDA.atomic_add!(x, 0) works like a load and CUDA.atomic_xchg!(x, y) works as a store. Would it be better to use those until there is a nicer solution?
The text was updated successfully, but these errors were encountered:
For example
CUDA.atomic_xchg!
exists yet it isn't called byAtomic.modify!
.Changing this function by adding two lines does the trick:
I do not know if this is supported by the other GPU backends.
There is also the case of
Atomix.get!
andAtomix.set!
which aren't supported. There is no direct equivalent in CUDA, but doing aCUDA.atomic_add!(x, 0)
works like a load andCUDA.atomic_xchg!(x, y)
works as a store. Would it be better to use those until there is a nicer solution?The text was updated successfully, but these errors were encountered: