HeadlinesBriefing favicon HeadlinesBriefing.com

CUDA Rust: Zwei Wege für GPU-Kernel

Hacker News •
×

Im September 2026 kündigte NVIDIA an, auf native GPU-Programmierung in Rust zu setzen. CUDA C++ und CUDA Python sind ausgereifte Toolchains auf Unternehmensniveau, und NVIDIA wird CUDA Rust bis 2027 und darüber hinaus ausbauen und ausreifen lassen. Die Systemschicht der KI umfasst Inferenz-Engines, Serving-Infrastruktur, Treiber und Agent-Runtimes, und sie wandelt sich ständig. Immer mehr davon wird in Rust geschrieben. NVIDIA ist Teil dieses Wandels. Der Nova Linux-Treiber ist in Rust geschrieben. NVIDIA Dynamo basiert auf einem Rust-Kern. NVTX hat Rust-Bindings.

Der GPU-Kernel ist die Ausnahme. Man kann Kernel aus Rust starten, aber der Kernel selbst muss oft in einer anderen Sprache geschrieben werden. NVIDIA CUDA Rust schließt diese Lücke. GPU-Kernel können in Rust geschrieben und nativ zu PTX kompiliert werden, statt ein Wrapper um Code von woanders zu sein.

Es gibt zwei Wege, Rust zu nutzen, passend zu den zwei Wegen, die CUDA selbst hat. SIMT ist das Modell, das man bereits in CUDA C++ oder numba-cuda schreibt. Tile ist ein neueres Programmiermodell, das auch in C++ und Python verfügbar ist. Wenn man eines zum Aufbauen auswählt, sollte man zuerst zu Tile greifen. Der Compiler entscheidet, wie Tiles auf jede Architektur abgebildet werden, sodass der Quellcode keine architekturspezifischen Entscheidungen kodiert, und man steigt zu SIMT hinab, wenn man diese Kontrolle braucht.

Unten steht derselbe Kernel auf jedem Weg, der eine elementweise Addition über 1.024 Floats durchführt. Der SIMT-Weg: cuda-oxide ist ein benutzerdefiniertes rustc-Codegen-Backend. Es fängt die Kompilierung ab, leitet #[kernel]-Funktionen über Rust MIR, das Community-Pliron-IR-Framework und LLVM IR bis hinunter zu PTX.

Wichtige Entitäten: Unternehmen: NVIDIA, NVlabs