GPU-Offload in Rust: Portabel, sicher und schnell
GPU Offload in Rust: Portable, Safe, and Fast

Hochleistungs-GPU-Programmierung erforderte bisher einen Kompromiss zwischen Effizienz und Speichersicherheit. Dieses Papier stellt ein null-Overhead-, Multi-Vendor-GPU-Kompilierungs-Framework vor, das direkt in den Rust-Compiler (rustc) und LLVM-Backends integriert ist. Es nutzt Rusts Ownership-System und noalias-Garantien, um Datenübertragungen über LLVMs Offload-Infrastruktur zu optimieren. Die Autoren adressieren technische Herausforderungen bei ABI-Mismatches zwischen Host- und Device-Zielen und präsentieren eine zweistufige Kompilierungspipeline. Die Bewertung auf RAJAPerf zeigt, dass die Lösung konkurrenzfähige LLVM-IR für GPU-Kernel erzeugt und solide Kernel-Leistung im Vergleich zu handoptimierten CUDA- und HIP-C++-Baselines erreicht.
Während Rust über sein strenges Ownership-Modell Speichersicherheit zur Compile-Zeit für Host-CPUs garantiert, erforderte die Anwendung dieser Einschränkungen auf massiv parallele GPU-Umgebungen bisher entweder herstellergebundene domänenspezifische Sprachen (DSLs) oder den Rückgriff auf explizite unsichere Rohzeiger.