Updated Minimum Requirements for NVIDIA GPU Compilation in Rust 1.97
Introduction: Understanding the nvptx64-nvidia-cuda Target
The nvptx64-nvidia-cuda target is Rust's compilation pathway for NVIDIA GPUs, producing PTX (Parallel Thread Execution) code. Two parameters shape the output:

- GPU architecture (e.g.,
sm_70,sm_80) – determines which GPU models can execute the PTX. - PTX ISA version – determines the minimum CUDA driver version required to load and JIT-compile the PTX.
Starting with Rust 1.97 (scheduled for release on July 9, 2026), both the baseline PTX ISA version and GPU architecture will be raised. This change affects rustc and related host tooling, and it means generated PTX artifacts will no longer run on older GPUs or outdated CUDA drivers.
What Is Changing in Rust 1.97
The new minimum supported versions are:
- PTX ISA 7.0 – requires CUDA 11 driver or newer.
- SM 7.0 – GPUs with compute capability below 7.0 (e.g., Maxwell, Pascal) are no longer supported.
In essence, any GPU older than NVIDIA's Volta architecture (2017) and any CUDA driver predating version 11 will be incompatible with PTX generated by Rust 1.97 and later.
Why Are the Requirements Being Raised?
Historically, Rust supported a broad range of GPU architectures and PTX ISA versions. However, several underlying defects caused valid Rust code to trigger compiler crashes or produce incorrect machine code. By raising the baseline, the Rust team can focus on delivering robust support for the remaining hardware.
The affected GPU architectures – the most recent being from 2017 – are no longer actively maintained by NVIDIA. Maintaining compatibility would require considerable effort from the compiler team, diverting resources from improving correctness and performance for currently supported hardware. Consequently, the impact on users is expected to be limited.
Impact on Users: What Happens When You Update?
If you rely on CUDA drivers older than version 11 or GPUs with compute capability below 7.0 (such as Maxwell or Pascal), Rust 1.97 will no longer produce compatible PTX. You will need to either:
- Keep using an older Rust version for those environments, or
- Update your hardware and drivers to meet the new minimums.
If You Already Meet the New Requirements
Assuming you are targeting CUDA 11+ and GPUs with compute capability 7.0 or newer, the update is straightforward:
- If you do not specify
-C target-cpu, the default will now besm_70. Your build will continue to work, but it will no longer run on pre-Volta GPUs. - If you currently set an older architecture (e.g.,
sm_60), you must either remove the flag (to use the new default) or update it tosm_70or newer. - If you already use
sm_70or newer, there should be no behavioral changes.
How to Adapt Your Projects
To ensure a smooth transition, review your build configuration:
- Check your
.cargo/config.tomlor command-line flags for any-C target-cpusetting. - If it specifies
sm_60or older, change it tosm_70or remove it entirely. - If you are unsure which architecture to target, consult the NVIDIA documentation for your GPU's compute capability.
- For driver compatibility, ensure your deployment environment uses CUDA 11 or later. Older drivers will fail to load the PTX produced by Rust 1.97.
For more detailed guidance, refer to the platform support documentation.
Looking Ahead
This baseline increase enables the Rust compiler team to deliver a more reliable and performant experience for modern NVIDIA GPUs. By shedding outdated support, future updates can focus on enhancing correctness, optimization, and support for new architecture features. Users who stay within the supported range will benefit from fewer bugs and better code generation.