NVIDIAがRustでGPUカーネルを直接書ける「CUDA Rust」を発表

Nvidia announces native GPU programming in Rust

NVIDIAは、RustでGPUカーネルをネイティブに記述しPTXへコンパイルできる「CUDA Rust」を発表した。SIMTモデル向けのcuda-oxideと、タイルモデル向けのcutile-rsの2トラックを提供。Rustの所有権と型システムにより、データ競合などのバグをコンパイル時に検出できる。2027年以降も成熟を続ける計画だ。

GPUカーネルは例外だった。Rustからカーネルを起動することはできるが、カーネル自体は別の言語で書かなければならないことが多かった。NVIDIA CUDA Rustはそのギャップを埋める。
  1. jacobgorm

    私はCUDAが大嫌いだ。一度でもあのプロプライエタリなクソをC++コードベースに入れてしまうと、取り除くのは非常に難しく、最終的には単一ベンダーに縛られたコードか、#ifdef地獄、おそらくその両方になる。

    GPUをプログラムする最善の方法は、GPUはCPUとは同じマシンではないという現実を直視し、カーネルを別ファイルに書き、MetalやOpenCL、D3D12などのように手動で起動することだ。

    最近ではTritonのようなDSLもあり、Rustで達成できると期待されるものよりもはるかに人間工学的にカーネルを書ける。

  2. loup-vaillant

    なるほど、GPUは汎用の超並列マシンに一歩近づいているわけだ。それは素晴らしい。

    さらに素晴らしいのは、GPUベンダーがユーザーマニュアルを提供し始めることだ。しかも本当のユーザーマニュアル、つまりその金属片しか手元にないときにその金属片をどう使うかを説明するものを。つまり、ワイヤプロトコルの正確な記述、GPUに送受信するバッファのデータ形式、アクセスできるコアのISA、関連する性能特性…

    言い換えれば、任意のOS向けに最先端のドライバを書くのに十分な情報だ。それは素晴らしいだろう。

  3. dllu

    NVIDIAが今やhuggingfaceを所有しており、huggingfaceにはRustでの推論用に優れたCandle [1]クレートがあるので、これは素晴らしいネイティブRustカーネルへの良い一歩のように思える。

    [1] https://github.com/huggingface/candle

  4. lambdaone

    Rustの勢いは現時点でまったく止められないように見える。これに照らせば、LinuxカーネルへのRustの採用や、AmazonとMicrosoftによる形式検証済みソフトウェアの採用もそうだ。

  5. winwang

    本当にわくわくするが、Nvidiaのこれまでの投稿と比べて、これはClaudeが書いたように読める。技術ブログがヤングアダルト小説のように聞こえる必要もなければ、望みもしない。

  6. manyatoms

    これはvectorwareと比べてどうなのか? (https://www.vectorware.com/blog/)

  7. HexDecOctBin

    Rustのstd::autodiffがいつ安定するか知っている人はいる? このRustサポートが他のGPUベンダーにも広がると仮定すると、SlangをRustの代わりに使う唯一の理由はautogradになるだろう。

  8. michalsustr

    CUDAプログラマではないが、新しいAPIを作るなら、なぜ最初から一貫性を欠かせるのか? :-/ 例のa,b,cとz,x,y(出力要素の順序が異なる)のことだ。

  9. soleveloper

    つまり、すでに書かれたすべてのカーネルをRustで書き直して、cpp版と競争力のある性能を得られるようになったのか?

    もしそうなら、それは本当に大きい。

    そして次の自然なステップとして、Nvidia GPUなしでGPUコンピュートとメモリをシミュレートするためのカスタムコード生成だ。

  10. evaltoken

    Nvidiaからの興味深い方向性だ。信頼性の高いGPUコードを書くのが少しでも楽になるものは、間違いなく良いことだ。

この日のほかの記事

2026-09-16