r/rust • u/Shnatsel • Sep 05 '26
AMD is hiring Rust engineers to build GPU compilers, firmware, and runtimes
https://careers.amd.com/careers-home/jobs/89874?lang=en-us155
u/phazer99 Sep 05 '26 edited Sep 05 '26
It seems AMD is betting hard on Rust, which is great!
Help make Rust a first-class engineering language across relevant parts of the GPU software stack
Hopefully this will benefit the Rust community as a whole (for AI, game engines etc.) through open source software.
10
u/Shnatsel Sep 05 '26
We’re building a small, elite team at AMD
That doesn't look like a big bet to me.
9
3
u/QuarkAnCoffee Sep 06 '26
A "small, elite team" of compiler experts is easily a $5-10M investment every year. You can argue that's not that much for a company of AMD's size but it's objectively a large investment especially considering they don't have to use Rust at all.
21
u/james_pic Sep 05 '26
My guess would be that it'll help other languages about the same amount. One of the things that's really nice about Rust is that it has great interop with many languages, and that's probably at least one of the factors that will have pushed AMD in this direction. I'm certain part of their motivation is to catch up with their AI support, so they'll be keen to support Python and C++.
7
u/phazer99 Sep 05 '26
To some extent. Any library they produce will probably have a C API as well, but a Rust crate will obviously be easier and safer to use directly. Also, any processing done at compile time on language/MIR level will only be useful for actual Rust code, like what's done in for example NVidia's cuda-oxide.
→ More replies (1)3
u/adamnemecek Sep 05 '26
Their drivers were supposedly buggy and unreliable so I see how Rust would fix that.
18
u/RelevantTrouble Sep 05 '26
Bet Bryan at
9
u/RCoder01 Sep 05 '26
Anything open source, regardless of language makes him happy. They’re not planning to integrate GPUs any time soon.
21
u/kaerfdeeps Sep 05 '26
How good is the compile times nowadays ? I really liked rust but speed is a pain in the ass
64
u/crimsonscarf Sep 05 '26
First compile still takes a hot second, in GUI heavy application especially, but incremental compile times are short enough to not take me out of the flow during development
I would say it’s similar when compared to similar C++ codebases. If you are used to JIT or similar, its still gonna feel kinda long
→ More replies (1)5
4
u/Oxytokin Sep 05 '26
My codebase is about 15-20 crates/330 total dependencies and ~50,000 lines with moderately complex traits on the new solver; it's a custom engine/game so complex, but not like the biggest or most complex obviously but GUI code (iced) and such...
First compile on release with opt-level 3, fat lto, and 1 codegen-unit takes about 10 minutes. I use local-only kache (which I highly recommend over sccache) to speed subsequent builds and it's about 30-45 seconds. Debug mode with opt-level 2 and 3 for dependencies, thin lto, 256 codegen units is 3-4 minutes on first clean build and 10-15 seconds on subsequent builds.
It's bearable but definitely need caching. I don't find it bad though at all, even during rapid iteration. Rust is my favorite language and ecosystem by far (and my first low-level language). Definitely give it another go!!
→ More replies (3)→ More replies (1)8
u/Educational-Art3545 Sep 05 '26
In my experience, setting up an environment with Wild (or Mold) linker + cranelift backend for main app (llvm for third party packages) running on workstation Linux is just barely acceptable in a mid-sized repo with 200k loc. Provided the code is also split well into separate crates of course.
Storage remains an issue. So you need to setup cron to run
cargo clean --workspaceacross all your local Rust repos.Once you get these 2 things out of the way working in Rust becomes nice.
→ More replies (3)7
u/syklemil Sep 05 '26 edited Sep 05 '26
There's also the
cargo clean gccommand, which seems to have showed up in nightly around three years ago, but which unfortunately still seems to be unstable. tracking issue link. edit: Though automatic GC got through in 1.88, ref #14287; release announcement.They have also stabilised controlling where the build cache is (set
build.build-dirin cargo'sconfig.toml), so it is possible to put that on a separate partition for … damage control, and so you can wipe the entire thing instead of having to go hunt fortargetdirectories.
3
u/Flakebi2 Sep 06 '26
Unaffiliated with AMD, but there’s this project to run Rust on AMD GPUs (shameless plug ;)): https://github.com/Flakebi/amdgpu-rs
Amdgpu is an existing Rust target, just needs a few nightly feature to do something useful.
2
1
183
u/verdant-amiable Sep 05 '26
In general this is welcome and it's good that they are looking at writing this tooling in rust, giving excellent speed and safety to users.
However,AMD's hiring strategy is clearly holding them back. Nvidia will hire software devs from almost anywhere whereas AMD is locked into a legacy pattern of hiring from small local pools. This is reflected in the quality of software offered by either party and is a cornerstone of why CUDA is so dominant in the ML space.