Nvidia announces native GPU programming in Rust
- jacobgorm - 37396 sekunder sedanI 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. These days we even have DSLs like Triton that make kernel writing much more ergonomic than anything you would hope to achieve in Rust.
- dllu - 39287 sekunder sedanSince 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.
- winwang - 27484 sekunder sedanReally exciting but it reads like Claude instead of what Nvidia posts have generally been like in the past. I don't need nor want my tech blogs to sound like a young adult novel.
- HexDecOctBin - 13273 sekunder sedanAnyone know when Rust's std::autodiff will become stable? Assuming this Rust support expands to other GPU vendors, autograd will probably be the only reason to use Slang instead of Rust anymore.
- michalsustr - 9580 sekunder sedanNot a cuda programmer, but since they’re making a new API, why would they already make it inconsistent at start? :-/ I’m referring to the examples a,b,c vs z,x,y (different ordering of output elements)
- manyatoms - 36994 sekunder sedanHow does this compare to vectorware? (https://www.vectorware.com/blog/)
- Swiffy0 - 4426 sekunder sedanMy understanding is not so deep regarding GPU programming or Rust... Does this mean anything regarding Nvidia GPUs and WebAssembly / WebGPU?
- evaltoken - 28464 sekunder sedanInteresting direction from Nvidia. Anything that makes writing reliable GPU code less painful is definitely a good thing.
- salsa_catsup - 23487 sekunder sedanDoes this mean I can write shaders in Rust for use with WGPU or Vulkan?
- lsofzz - 20266 sekunder sedanI read this the other day - definitely think it is the right direction Nvidia is taking.
Thank you NVIDIA - for once (not twice though - you've given us nothing but despair for Linux+GPU).
- calini - 10364 sekunder sedanDo it in Go and I’m interested
- the__alchemist - 39405 sekunder sedanI'm looking forward to trying these when they stabilize! I currently use WGPU for graphics, and cudarc for CUDA.
Note: Cuda-oxide is similar to Cudarc's host component, but uses a rust-style kernel dialect. Advantage: Share structs between host and device. Disadvantage: Trading standard Cuda kernels for a new, WIP dialect.
I haven't tried the tile API yet; looking forward to it.
The last time I checked, Cuda Oxide was Linux only, and required Async; these are why I haven't tried it yet.
- kalikingkorea - 2234 sekunder sedanhmmm interesting
- jtfrench - 15389 sekunder sedanI wonder how many parallels there are between CUDA's Tile abstraction and that of Metal.
- claiir - 38952 sekunder sedan> The launch is checked rather than trusted.
Damn even Nvidia is putting out fully Claude-written articles.
- LarsDu88 - 37996 sekunder sedanIn this age of LLM written everything which has softly killed my motivation for learning Rust somewhat, this has revived my interest if not only for the fact the LLMs haven't yet been trained on this yet!
- m00dy - 8087 sekunder sedanThank you Nvidia !! You're in the right path.
- Danox - 22934 sekunder sedanThe recent circular moves that Nvidia is making is designed to wrap things around them, anything to keep the AI model party going.
- bt1a - 35248 sekunder sedanWill it then be possible to query TJunc hotspot temps on linux?
- jauntywundrkind - 23199 sekunder sedanWorth mentioning that Nvidia open sourced CUDA Tile IR ~8 months ago. And yes the code is open source too. https://news.ycombinator.com/item?id=46330732
- nicebyte - 37846 sekunder sedanwhat this article tells me is that no one at Nvidia actually cares about this project whatsoever. otherwise, they would have had a person actually write the announcement.
- rvz - 38764 sekunder sedanFirst of all, this is a pre-1.0 release that requires a nightly Rust compiler (if you choose the SIMT track with cuda-oxide) so that one is going to be unstable software.
Secondly, When an issue occurs with a kernel or you want to write your own custom kernel in Rust, now we need to diagnose if the problem came from either cuda-oxide (SIMT), Rust's side, CUDA or Tile (If you decide to choose the Tile track).
Another dependency into the list and course everything is open source except CUDA itself. So any issue that happens on the CUDA level, you are forced to wait for them to fix it.
- mococa - 35077 sekunder sedanAI slop article, how can I trust on this?
- shmerl - 33031 sekunder sedanNvidia only? Typical.
This is more promising: https://github.com/Rust-GPU/rust-gpu/
- nonmaskable - 79221 sekunder sedan[dead]
- ReshamJoshi - 77647 sekunder sedan[dead]
- westurner - 34425 sekunder sedan[dead]
- mococa - 35122 sekunder sedanThe world is unsafe
- dunlin - 31369 sekunder sedanRust for GPU programming? My CUDA debugging sessions just got a whole lot less painful, hopefully.
- Driftbench - 30211 sekunder sedanBeen waiting for something like this. CUDA C++ is a pain; Rust's safety for kernel programming could be a game changer.
- nullbio - 27647 sekunder sedanMakes me sad that Go doesn't get love. I feel like Go is perfect for LLMs.
Nördnytt! 🤓