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
In JuliaConcurrent/Atomix.jl#39, where some IR with atomicrmw instructions is getting generated (as opposed to using AIR intrinsics), I noticed that the IR executes fine. Does that mean that Apple has been adding support for native LLVM atomics to Metal? If so, we should be able to simplify or even get rid of lots of the custom atomic stuff here.
; │┌ @ /Users/tim/Julia/pkg/Atomix/src/core.jl:30 within `modify!`; ││┌ @ /Users/tim/Julia/pkg/Atomix/src/references.jl:99 within `pointer` @ /Users/tim/Julia/pkg/Metal/src/device/array.jl:64; │││┌ @ abstractarray.jl:1236 within `_memory_offset`; ││││┌ @ int.jl:88 within `*`%16 = shlnuwnswi64%14, 2%17 = addnswi64%16, -4; │││└└; │││┌ @ /Users/tim/.julia/packages/LLVM/wMjUU/src/interop/pointer.jl:147 within `+`; ││││┌ @ /Users/tim/.julia/packages/LLVM/wMjUU/src/interop/pointer.jl:114 within `add_ptr`; │││││┌ @ /Users/tim/.julia/packages/LLVM/wMjUU/src/interop/pointer.jl:114 within `macro expansion` @ /Users/tim/.julia/packages/LLVM/wMjUU/src/interop/base.jl:39%18 = getelementptri8, i8addrspace(1)* %.unpack, i64%17; ││└└└└; ││ @ /Users/tim/Julia/pkg/Atomix/src/core.jl:33 within `modify!` @ /Users/tim/.julia/packages/UnsafeAtomicsLLVM/LPqS5/src/internal.jl:23 @ /Users/tim/.julia/packages/UnsafeAtomicsLLVM/LPqS5/src/internal.jl:23; ││┌ @ /Users/tim/.julia/packages/UnsafeAtomicsLLVM/LPqS5/src/atomics.jl:399 within `atomic_pointermodify`; │││┌ @ /Users/tim/.julia/packages/UnsafeAtomicsLLVM/LPqS5/src/atomics.jl:260 within `llvm_atomic_op`; ││││┌ @ /Users/tim/.julia/packages/UnsafeAtomicsLLVM/LPqS5/src/atomics.jl:260 within `macro expansion` @ /Users/tim/.julia/packages/LLVM/wMjUU/src/interop/base.jl:39%19 = bitcasti8addrspace(1)* %18toi32addrspace(1)*
%20 = atomicrmwaddi32addrspace(1)* %19, i321seq_cst, align4
The text was updated successfully, but these errors were encountered:
In JuliaConcurrent/Atomix.jl#39, where some IR with
atomicrmw
instructions is getting generated (as opposed to using AIR intrinsics), I noticed that the IR executes fine. Does that mean that Apple has been adding support for native LLVM atomics to Metal? If so, we should be able to simplify or even get rid of lots of the custom atomic stuff here.The text was updated successfully, but these errors were encountered: