
NVIDIA、GPU カーネル開発向け「CUDA Rust」を発表
2026年9月、NVIDIAはRustでネイティブにGPUカーネルを記述・PTXにコンパイルできる「CUDA Rust」を発表した。SIMT(cuda-oxide)とTile(cutile-rs)の2つのプログラミングモデルを用意し、両者とも初期段階だが機能している。
NVIDIAがRustによるGPUプログラミングの専用環境を整備する。2026年9月、NVIDIA Technical Blogで「CUDA Rust」の発表があり、GPUカーネルをRustで直接記述してPTXにネイティブコンパイルできる環境を提供する。
2つのプログラミングトラック
CUDA Rustには、SIMT(cuda-oxide)とTile(cutile-rs)の2つのトラックが用意される。cuda-oxideはrustcのカスタムコードジェネバックエンドとして動作し、cutile-rsはJITコンパイラアプローチで、より高度なレベルでタイルに対する計算を実行する。
cuda-oxideはLinux、コンピュート能力8.0以上のGPU、CUDA 12.x以降、clangとlibclangヘッダ、ピン留めされたナイトリーツールチェーン(2026-04-03)が必要である。一方、cutile-rsはコンピュート能力8.0以上のGPU、CUDA 13.3、安定版Rust 1.89以降、Linuxが必須である。
開発段階と実装例
両プロジェクトは初期段階であり、本番運用に対応していない。cuda-oxideはアルファ版だが、cutile-rsはより進んでおり、crates.ioで公開されており、すでにHuggingFaceのGroutインファレンスエンジンとmistral.rsで使用されている。
例として、cuda-oxideの場合は256スレッド/ブロックで1024個の浮動小数点数を加算するベクトル加算カーネルが実装でき、cutile-rsでは128要素幅のタイルを用いた実装が可能である。NVIDIAのMelih Elbiolは2026年9月8~11日にモントリオールで開催されるRustConf 2026で「Fearless Concurrency on the GPU」を発表予定である。
NVIDIAのRust推進戦略
CUDA C++やCUDA Pythonは成熟したエンタープライズグレードのツールチェーンであり、NVIDIAはCUDA Rustを2027年以降も成長・成熟させる方針を示している。同社はNovaドライバとNVIDIA Dynamoをすでにスタックに組み込み、NVTXにはRustバインディングが用意されている。
この記事は元記事の事実のみに基づいて自動生成されました。
筆者の見立て
- Tileを優先的に選択すべきと論じている。コンパイラがアーキテクチャごとにタイルのマッピングを決定するため、ソースコードがアーキテクチャ固有の選択を含まず、制御や共有メモリ・スレッド管理の必要時のみSIMTに落とすことができるとしている。
- 言語間相互運用性のサポートを計画していると示唆している。RustスタックのGPUプログラミングを選択した場合でも、他の言語のオプションが制限されないようにする方針を伝えている。
- Tileが安全性を組み込みで実現していると解釈している。共有メモリとスレッドインデックスの管理をコンパイラが担当するため、タイルブロックが単一の論理スレッドとして機能し、スレッド競合が発生しないと論じている。
- 並行性バグが本番環境で初めて顕在化する可能性を予想している。テストでは検出されず、運用中に失敗するケースが少なくないと指摘している。
- Cargoとcratesエコシステムの期待値に対し、GPU プログラミングの伝統的な複雑性を削減することが重要な課題だと述べている。
出典
NVIDIA Technical Blog「Introducing CUDA Rust: Two Tracks for Writing GPU Kernels」https://developer.nvidia.com/blog/introducing-cuda-rust-two-tracks-for-writing-gpu-kernels/