← Back to context

Comment by pjmlp

6 hours ago

CUDA is neither an API, nor a language, it is an ecosystem.

That's a nice way of saying that it's a dependency clusterfuck.

I've never understood why we can't just expose the GPU ISA directly the way the CPU does. It's all getting compiled down at the end of the day so someone has to write a compiler for it either way. We'd be substantially better off IMO if it was all built directly into LLVM and then let middleware sort out the details.

  • Because even CPUs rather use JIT runtimes to deal with the various kinds of ISAs that exist.

    Naturally plenty of folks rather use software that doesn't take advantage of the hardware they paid for.

  • That would require vendors to either stick with a single backwards compatible ISA like intel did for x86 or document how their graphics cards work.

    CPUs manage this by changing the internal micro-architecture, but historically GPUs only needed to support a graphics API and used that abstraction layer to freely change the hardware.