← Back to context

Comment by pjmlp

22 days ago

What makes CUDA easier to use isn't only C++ integration, rather since CUDA 3.0, NVidia has embraced a polyglot environment, with C, C++ and Fortran at the center stage, followed by anything that could target PTX.

Khronos took ages to understand this, until they finally came up with SPIR.

I was on an OpenCL conference (IOWCL), where the panel could not understand why people on the audience would care about Fortran or why C99 wasn't good enough.

Even now with Vulkan, NVidia with Slang, and Microsoft with HLSL, are doing Khronos work, because no one is sponsoring GLSL further development.

HLSL is following MSL footsteps and becoming more C++ like, even if not exactly the same.

Then again, up to AMD and Intel to improve SYCL story, which Intel is much further on.

I can agree with that. The pseudo-assembly language of PIX serving as the long term basis for tooling on NVidia likely helped a lot.

I know little changes to AMDs architecture required minor changes to the machine code. I think the Assembly could recompile but long term binary compatibility is something of an NVidia superpower (even if it's imperfect, it's far better than competitors attempts)

> SPIR

I hear it's kinda sorta worth using... Maybe soon?

Strangely, the most SPIR stuff seems to be from Intel and their OneAPI push? Id have expected a bigger role from AMD.

I'm wondering why it took so long for SPIR to become a serious engineering attempt. Well, better late than never.