Back to wire
Development·Article·Confirmed

NVIDIA turns CUDA kernel ports into a validated agent pipeline for Rust

NVIDIA says its agent workflow translated all 24 public TileGym operators from cuTile Python or Triton-TileIR into cuTile Rust, with numerical checks, IR diffs and performance gates. On DGX B200, the generated Rust kernels reached 0.995 geomean device-time performance versus cuTile Python; the result builds on NVIDIA's native Rust paths for CUDA kernels, but remains vendor-measured and Blackwell-focused.

Published 16 Sept 2026, 02:00 · Updated 17 Sept 2026, 08:24

From Rust front end to repeatable migration

NVIDIA has moved its CUDA Rust work from a language experiment toward a repeatable kernel-migration workflow. The company says an agent skill in the TileGym repository translated all 24 public TileGym operators, roughly 40 GPU kernels, from cuTile Python or Triton-TileIR into cuTile Rust. The set includes element-wise kernels, flash-attention decode, Multi-head Latent Attention and mixture-of-experts workloads.

The conversion is tractable because cuTile Python, Triton-TileIR and cuTile Rust all target the same CUDA Tile IR and ultimately the same tile compiler. NVIDIA uses that shared representation as a verification surface: the pipeline dumps the reference Tile IR, compares the generated Rust IR structurally, then runs functional tests. The Rust front end makes specialization more explicit through const generics and typed signatures, while the final GPU binary is still JIT-compiled for the concrete launch.

The agent pipeline is built around machine-checkable gates

The top-level agent does not write the port itself. NVIDIA describes it as a router that spawns specialised stages for reference analysis, kernel translation, host and FFI integration, correctness testing and performance validation. Stages communicate through files with fixed schemas and literal verdicts rather than conversational summaries. Failed correctness or performance checks route to diagnostic agents, and hard retry caps stop the system from looping indefinitely.

A port is accepted only after the real TileGym test suite passes, the harness proves that the cuTile Rust backend actually executed, and CUPTI device-time performance reaches at least 95% of the chosen Python reference. The skill, validation scripts and translated operators are published with TileGym. cuTile Rust itself is Apache-2.0 licensed. NVIDIA also notes that some translated kernels still use lower-level unsafe APIs where reproducing the reference IR requires them, so the current corpus is not uniformly on the safest surface.

The measured result is parity, not a general speedup

Across 347 paired configurations on a DGX B200, NVIDIA reports an overall geometric mean of 0.995 for cuTile Rust device time relative to cuTile Python. All 24 operators cleared the 0.95 acceptance threshold and about one third were faster than the reference in the company's measurements. The benchmark takes the best result from four CI runs for each configuration and isolates kernel device time with CUPTI.

That scope matters. Device time excludes launch, scheduling and host overhead, and the experiment runs on NVIDIA's own Blackwell system using the same underlying compiler family on both sides. The published workflow also requires CUDA 13.1 or newer, a Blackwell GPU for its performance gate, Rust 1.89 or newer and the tile compiler. NVIDIA says token cost fell to about half on average during development, but that is an internal workflow measurement rather than an independently reproduced efficiency result.

Why this is useful beyond a Rust port

The stronger engineering result is the acceptance structure around the agents. The workflow turns a broad instruction such as port this kernel into a bounded state machine with explicit artefacts, structural equivalence checks, numerical tests and a performance floor. That makes the generated code reviewable against machine-readable evidence instead of asking a reviewer to trust an agent's explanation of what it changed.

The limits are equally important. NVIDIA built the source language, target language, compiler path, benchmarks and validation harness, so the result does not show that the same pipeline will generalise to arbitrary CUDA code or to migrations without a shared intermediate representation. Both cuda-oxide and cuTile Rust are still described as early-stage projects whose APIs can move. The evidence supports a credible, reproducible path for this specific kernel family, rather than a general claim that agents can automatically port GPU software without expert constraints.

Source trail

3 sources · 3 primary