215111 Stack

2026-05-10 20:24:45

Rust 1.97 to End Support for Pre-Volta GPUs and Older CUDA Drivers in NVIDIA GPU Compilation Target

Rust 1.97 raises baseline for nvptx64-nvidia-cuda, dropping support for pre-Volta GPUs and CUDA 10 drivers. New minimum: PTX ISA 7.0, SM 7.0.

Breaking: Rust 1.97 Raises Baseline for NVIDIA GPU Compilation

The upcoming Rust 1.97 release, scheduled for July 9, 2026, will implement a significant baseline shift for the nvptx64-nvidia-cuda compilation target. This change effectively ends support for NVIDIA GPUs with compute capability below 7.0 (pre-Volta) and CUDA drivers older than version 11.

Rust 1.97 to End Support for Pre-Volta GPUs and Older CUDA Drivers in NVIDIA GPU Compilation Target
Source: blog.rust-lang.org

"By raising the baseline, we eliminate persistent defects and miscompilations that have plagued older architectures," explained a Rust compiler team member. "This allows us to focus on performance and correctness for modern hardware."

New Minimum Requirements

The updated target will require PTX ISA 7.0 (compatible with CUDA 11+ drivers) and SM 7.0 (compute capability 7.0, Volta architecture or newer). Both rustc and host tooling will enforce these minima.

Users targeting older environments—such as Maxwell or Pascal GPUs—will no longer be able to generate compatible PTX from Rust 1.97 onward. The PTX output will be loadable only by CUDA drivers at version 11 or above.

Background

Previously, Rust supported a broad range of GPU architectures and PTX ISA versions. However, this wide support came with hidden costs: valid Rust code could trigger compiler crashes or produce incorrect machine code on older hardware.

"Maintaining backwards compatibility for seven-year-old GPUs required substantial engineering time," the team member added. "These architectures are no longer actively supported by NVIDIA, so the impact on users is expected to be minimal."

The most affected GPUs date back to 2017. By dropping support, Rust developers can concentrate on improving correctness and performance for Volta and later architectures.

What This Means

If you upgrade to Rust 1.97 and rely on older hardware or drivers, you will need to adapt. For those already using -C target-cpu=sm_70 or newer, no changes are needed.

Users who do not specify a target CPU will receive the new default: sm_70. This ensures compatibility with Volta and beyond, but breaks compatibility with pre-Volta GPUs.

If you currently specify -C target-cpu=sm_60 or similar old architectures, you must either:

  • Remove the flag to default to sm_70, or
  • Update the value to sm_70 or a newer architecture (e.g., sm_80).

Important: If your deployment uses CUDA 10-era drivers, you cannot upgrade to Rust 1.97 for CUDA workloads. Stay on an earlier Rust version or upgrade your driver to CUDA 11+.

For complete build and configuration instructions, refer to the platform support documentation.

"We understand this may inconvenience a small set of users, but the long-term benefits for the entire Rust CUDA ecosystem are substantial," the team concluded.