Nvidia's native Rust GPU programming could reduce CUDA lock‑in
Problem
Developers worry about vendor lock‑in with CUDA, lack detailed hardware documentation, and miss ergonomic GPU kernel abstractions, making development cumbersome and hard to port across platforms.
Pain points
- Vendor lock‑in with CUDA
- Lack of detailed hardware documentation and interface specifications
- Absence of ergonomic GPU kernel abstraction tools
Questions to verify
- Would you be willing to try a Rust‑based GPU programming tool?
- Do you need more detailed hardware documentation to implement drivers yourself?
- Is there repetitive manual memory management in your current workflow?
Evidence
quote
I strongly dislike CUDA. Once you have allowed that proprietary cr*p into your C++ codebase, it is very hard to get rid, and you end up with code that is either tied to a single vendor or an #ifdef hell, probably both.The best way to program GPUs is face up to the reality that they are not the same machine as the CPU, write your kernels in separate files, and launch them manually, like in Metal, OpenCL, and D3D12, etc.
quote
Okay, so, GPUs are taking one more step towards being general purpose massively parallel machines. That's cool.What would be even cooler though would be for GPU vendors to start giving us the user manual. An I mean the real user manual, that explains how to use their piece of metal when all you have is that piece of metal. That means a precise description of the wire protocols, the data format of the buffers we send to & get from the GPU, the ISA of the cores we have access to, the relevant performance characteristics…In other words, enough information to write a state-of-the-art driver for any OS. That would be cool.
quote
Since NVIDIA owns huggingface now and huggingface has the excellent Candle [1] crate for inference on Rust, this seems like a good step towards nice native Rust kernels.[1] https://github.com/huggingface/candle
Disclaimer: this card is distilled by AI from community discussions as “pain point evidence”. It is a starting point for need analysis and validation, not a “validated market need”. AI has analytical limits; please open the original discussion above to manually verify before key decisions.