[1] https://rocmdocs.amd.com/en/latest/index.html
As AMDGPU.jl's maintainer, I do certainly appreciate more users using AMDGPU.jl if they have the ability to, but I don't want people to think that it's anywhere close in terms of maturity, overall performance, and feature-richness compared to CUDA.jl. If you already have access to an NVIDIA GPU, it's painless to setup and should work really well for basically anything you want to with it. I can't say the same about AMDGPU.jl right now (although we are definitely getting there).
Julia has all the tools required to "magically" transform code into SPIR-V kernels. Couldn't `:()` syntax be used to create kernels?
If the competition to CUDA wants to be taken serioulsy then provide the tooling and polyglot support to do so.
OpenCL was stuck in their "C only with printf debugging" mentality for too long, now it is too late.
AMD ROCm still isn't available in Windows.
If I learned anything from wasting my time with Khronos stuff, was that I should have switched to DirectX much earlier.
https://github.com/JuliaGPU/GPUCompiler.jl/ https://github.com/tshort/StaticCompiler.jl/
(Before someone complains, you can also opt out of this and direct the library to a version you installed yourself)
Edit: the site has one project per GPU type, shame there isn't one interface that works with every GPU type instead.
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
However, the low-level library for AMD GPUs is more of an alpha quality in Julia.