upvote
kernels aren't meant to be written by any defined language. C is just a traditionally good default language that took over from assembly. No particular reason we have to stick with C.
reply
And quite a few reasons that something better than C should be used. Rust seems a good candidate.
reply
That is exactly why OpenCL failed adoption, focusing on C, instead of being polyglot like CUDA.
reply
SYCL is the natively polyglot counterpart, with practical implementations of it compiling down to the same sort of SPIR-V kernels as OpenCL. (OTOH, much of the current adoption on the open standards side seems to target the more widely supported SPIR-V compute shaders, via Vulkan compute.)
reply
Not really, first of all it is for C++, not the range of languages supported by CUDA.

Before SPIR was a thing in OpenCL, Khronos could not understand why anyone would care about anything else other than C99, or why supporting Fortran on GPUs was at all relevant.

Secondly, from the competition only Intel cares about SYCL with their own sugar on top, OpenAPI.

AMD hasn't cared one second about it.

You may mention Codeplay, which is anyway an Intel owned company since 2022.

As for Vulkan, it doesn't have neither the features, nor the tooling that CUDA enjoys, it is the usual putting up with using LEGOs from different brands, with various pin sizes, that is so common with Khronos.

reply
I have never seen a comment this gray
reply
deleted
reply
oh no no no, this is going to break the CPP hold on AI and game dev.
reply
Nah, Rust compiler still needs C++ to be built in first place, and everyone on AI uses LLVM as infrastructure.
reply