NewsGPU-ProgrammierungRustCUDA

Nvidia stellt CUDA Rust vor – GPU-Kernels jetzt nativ in Rust

Nvidia öffnet die GPU-Kernelentwicklung für Rust-Programmierer. Mit zwei neuen Tracks – cuda-oxide und cutile-rs – lassen sich Grafikkarten-Kernels direkt in Rust schreiben und zu PTX kompilieren, statt sie in C++ oder Python zu entwickeln.

Zwei neue Rust-Frameworks für GPU-Kernels

Nvidia stellt CUDA Rust vor – GPU-Kernels jetzt nativ in Rust

Nvidia hat im September 2026 zwei neue Rust-Frameworks für die GPU-Programmierung vorgestellt: cuda-oxide und cutile-rs. Damit schließt der Chip-Hersteller eine Lücke, die lange Zeit bestand – während immer mehr der KI-Infrastruktur in Rust geschrieben wird (Treiber, Inference-Engines, Agent-Runtimes), mussten GPU-Kernels bislang in anderen Sprachen entwickelt werden. Jetzt können Entwickler Kernels direkt in Rust schreiben und nativ zu PTX (Parallel Thread Execution) kompilieren.

Kurz & knapp

  • Zwei Programmiermodelle: cuda-oxide folgt dem SIMT-Modell (Single Instruction, Multiple Threads), cutile-rs dem neueren Tile-Modell, das Architektur-Entscheidungen dem Compiler überlässt
  • Unterschiedliche Stabilität: cutile-rs läuft auf stabilem Rust 1.89+ und ist bereits auf crates.io veröffentlicht; cuda-oxide benötigt einen pinned Nightly-Toolchain und ist noch in früher Alpha
  • Erste Nutzer: cutile-rs wird bereits in HuggingFace's Grout Inference Engine und mistral.rs eingesetzt
  • Speichersicherheit: Beide Frameworks erzwingen Speichersicherheit zur Compile-Zeit – cuda-oxide über DisjointSlice und Launch-Contracts, cutile-rs über Tensor-Partitionierung und Ownership

Zwei Wege, eine Sprache

Die beiden Frameworks adressieren unterschiedliche Entwickler-Bedürfnisse. cuda-oxide richtet sich an die, die volle Kontrolle über Thread-Mapping und Speicher-Layout brauchen – das klassische SIMT-Modell, das Entwickler aus CUDA C++ oder Numba kennen. Du schreibst auf, was ein einzelner Thread tun soll, und startest tausende davon.

cutile-rs verfolgt einen abstrakteren Ansatz: Du definierst, was eine Daten-Tile tun soll, und der Compiler entscheidet, wie diese Tiles auf die jeweilige GPU-Architektur abgebildet werden. Das macht den Code portabler und weniger anfällig für Architektur-spezifische Optimierungsfehler. Nvidia empfiehlt, zuerst mit Tile zu beginnen und nur bei Bedarf zu SIMT zu wechseln.

Kriterium cuda-oxide cutile-rs
Modell SIMT (klassisch) Tile (modern)
Rust-Version Nightly (pinned) Stable 1.89+
Abhängigkeiten LLVM erforderlich Keine Custom-LLVM
Status Early Alpha Produktiv (crates.io)
Nutzer HuggingFace, mistral.rs

Speichersicherheit ohne Performance-Opfer

Both frameworks enforce memory safety at compile time – ein großer Vorteil von Rust. cuda-oxide nutzt DisjointSlice und Launch-Contracts, um Aliasing-Probleme auszuschließen. cutile-rs setzt auf Tensor-Partitionierung und Ownership-Regeln, um exklusiven Zugriff zu garantieren. Das heißt: Ganze Klassen von Bugs (Race Conditions, Buffer Overflows) entstehen erst gar nicht, statt sie zur Laufzeit zu debuggen.

Interoperabilität geplant

Nvidia plant, dass CUDA Rust, CUDA C++ und CUDA Python künftig nahtlos zusammenarbeiten. Das bedeutet: Die Wahl der Frontend-Sprache sperrt dich nicht aus anderen Ökosystemen aus. Du kannst Rust-Kernels neben C++-Kernels im gleichen Projekt nutzen.

Was das für deutsche Unternehmen bedeutet

Für Teams, die an KI-Infrastruktur, Inference-Engines oder spezialisierter GPU-Software arbeiten, wird die Einstiegshürde niedriger. Statt Rust-Entwickler erst in CUDA C++ einarbeiten zu müssen, können sie jetzt in ihrer Sprache bleiben. Das könnte besonders für Startups und Mittelständler interessant sein, die Rust-first-Stacks aufbauen. Allerdings: cuda-oxide ist noch Alpha, cutile-rs ist produktiv – wer heute anfangen will, sollte mit Tile und cutile-rs starten, nicht mit SIMT.

Quellen

Redaktionell verantwortet von Ideal Syka. Quellen und Arbeitsweise: Redaktion & Methode. Hinweise und Korrekturen: ai@i6eal.de.

Teilen
← Alle Beiträge

Alle Analysen basieren auf eigenen Messungen von i6eal oder auf klar gekennzeichneten Quellen. Zahlen sind Momentaufnahmen und können sich ändern; Korrekturen weisen wir transparent aus.