Re:Cuda.jl v3.3: union types, debug info, graph APIs
by eigenspace on Sunday June 13, 2021 @10:54PM
(#27498782)
https://github.com/JuliaGPU/AMDGPU.jl
https://github.com/JuliaGPU/oneAPI.jl
These are both less mature than CUDA.jl, but are in active development.
> Edit: the site has one project per GPU type, shame there isn't one interface that works with every GPU type instead.
That would be https://juliagpu.github.io/KernelAbstractions.jl
Re:Cuda.jl v3.3: union types, debug info, graph APIs
by jpsamaroo on Monday June 14, 2021 @08:06AM
(#27501603)
For kernel programming, https://github.com/JuliaGPU/KernelAbstractions.jl (shortened to KA) is what the JuliaGPU team has been developing as a unified programming interface for GPUs of any flavor. It's not significantly different from the (basically identical) interfaces exposed by CUDA.jl and AMDGPU.jl, so it's easy to transition to. I think the event system in KA is also far superior to CUDA's native synchronization system, since it allows one to easily express graphs of dependencies between kernels and data transfers.
Re:Cuda.jl v3.3: union types, debug info, graph APIs
by krastanov on Sunday June 13, 2021 @09:56PM
(#27498515)
These libraries provide the same API, so from a user perspective, as long as you do not need low-level access, it does not matter what your GPU is.
However, the low-level library for AMD GPUs is more of an alpha quality in Julia.
Edit: the site has one project per GPU type, shame there isn't one interface that works with every GPU type instead.