NVIDIAは2026年9月8日、CUDA Rustを発表した。他言語のコードをラップするのではなく、Rustで直接GPUカーネルを記述する手法である。本イニシアチブは、CUDAのプログラミングモデルに対応する2トラック——SIMT(Single Instruction, Multiple Threads)とTile——から構成される。

NVIDIAのロゴ(緑色)。CUDA Rust発表の出所を示す
NVIDIA、ネイティブGPUカーネル開発向けCUDA Rustを2トラックで発表developer.nvidia.com

NVIDIA開発者ブログのCUDA Rust発表記事にロゴが掲載されており、技術の出所が確認できる。

SIMTトラックはcuda-oxideによって実現される。これはカスタムrustc codegenバックエンドであり、#[kernel]関数をRust MIR、Pliron IRフレームワーク、LLVM IRを経由してPTXにコンパイルする。本トラックはLinux、計算能力8.0以上のGPU、CUDAツールキット(12.x以降)、libclangヘッダ付きclang、およびピン留めされたnightly Rustツールチェーンを必要とする。現在は早期alpha段階である。

Tileトラックはcutile-rsにより提供される。Rust 1.89以降のstableとCUDA 13.3で動作し、カスタムLLVMインストールを必要としない。cutile-rsはcrates.ioに公開されており、HuggingFaceのGroutやmistral.rsといった本番環境の推論エンジンで既に使用されている。

CUDA Tileプログラミングモデルの図。グループ化されたスレッドがデータタイルを処理する様子
CUDA Tileの例。cutile-rsトラックで採用されたタイルベースのアプローチを示すdeveloper.nvidia.com

NVIDIAブログの図で、cutile-rsが実装するTileプログラミングモデルを説明し、スレッドがデータタイル上で協調して動作する様子を視覚的に理解できるようにする。

両トラックともコンパイル時にメモリ安全性を保証する。cuda-oxideはDisjointSlice型により各スレッドにデータの排他アクセスを与え、#[launch_contract]属性で起動構成を検証する。cutile-rsはテンソル分割と所有権保証により、特別な型を必要とせずに排他アクセスを保証する。

NVIDIAは、CUDA Rust、CUDA C++、CUDA Python間の言語間相互運用性を今後サポートする計画であると述べた。これにより、フロントエンドの選択が開発者を単一エコシステムに縛ることがないようになる。