It appears that LLVM 20 will have a SPIR-V backend.
Does this new backend help Julia in any way?
It appears that LLVM 20 will have a SPIR-V backend.
Does this new backend help Julia in any way?
I don’t think so. We generally codegen directly from Julia to the GPU assembly.
SPIR-V IR is the GPU assembly in the case of oneAPI and OpenCL. We’re currently using the Khronos’ LLVM to SPIR-V translator, and it would be interesting to try and switch to the one in LLVM, although I’m not sure it’s worth adding to the default build (maybe we can build it separately and ship llvm-as
like we do for the LLVM IR downgrader).