| ▲ | jacobgorm 10 hours ago |
| CUDA is not an API, CUDA is a language, so you cannot make that comparison. |
|
| ▲ | pjmlp 4 hours ago | parent | next [-] |
| CUDA is neither an API, nor a language, it is an ecosystem. |
| |
| ▲ | fc417fc802 3 hours ago | parent [-] | | 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. | | |
| ▲ | pjmlp 3 hours ago | parent | next [-] | | 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. | |
| ▲ | dev_hugepages an hour ago | parent | prev | next [-] | | If i'm not mistaken, this already exists, and the assembly language here is called PTX https://llvm.org/docs/NVPTXUsage.html | |
| ▲ | imtringued 2 hours ago | parent | prev [-] | | 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. |
|
|
|
| ▲ | esseph 10 hours ago | parent | prev [-] |
| > The CUDA runtime is a special case of one of the libraries provided by the CUDA Toolkit. The CUDA runtime provides both an API and some language extensions to handle common tasks such as allocating memory, copying data between GPUs and other GPUs or CPUs, and launching kernels. The API components of the CUDA runtime are referred to as the CUDA runtime API. From: https://docs.nvidia.com/cuda/cuda-programming-guide/01-intro... |