Rust 1.97 raises baseline for NVIDIA GPU compilation target: What you need to know

This article explains the upcoming change in Rust 1.97 for the nvptx64-nvidia-cuda target, which compiles code to PTX (Parallel Thread Execution) for NVIDIA GPUs. Starting with version 1.97, the minimum PTX ISA version and GPU architecture are being raised to PTX ISA 7.0 and SM 7.0 respectively. This means support for older GPUs and CUDA drivers will be dropped. Below are answers to key questions about this change.

What exactly is the nvptx64-nvidia-cuda target and what does it produce?

The nvptx64-nvidia-cuda target is a compilation target specifically for NVIDIA GPUs. When you compile Rust code using this target, the final output is PTX (Parallel Thread Execution), a low-level virtual machine and instruction set architecture used by NVIDIA's CUDA platform. PTX code can then be further compiled by the NVIDIA driver into machine code for specific GPU architectures. This target is essential for writing high-performance GPU kernels in Rust that run on NVIDIA hardware.

Rust 1.97 raises baseline for NVIDIA GPU compilation target: What you need to know
Source: blog.rust-lang.org

What are the two version choices that shape PTX output?

Two key parameters determine the PTX output from the nvptx64-nvidia-cuda target:

Choosing appropriate versions ensures compatibility with your target hardware and drivers.

What are the new minimum supported versions in Rust 1.97?

Starting from Rust 1.97 (scheduled for release on July 9, 2026), the baseline requirements for the nvptx64-nvidia-cuda target will be increased to:

This means PTX generated by Rust 1.97 will no longer be compatible with older CUDA drivers (pre-11) or GPUs with compute capability below 7.0, such as Maxwell (sm_50/52) or Pascal (sm_60/61/62).

Why is Rust raising the baseline requirements?

Previously, Rust attempted to support a wide range of GPU architectures and PTX ISA versions. However, maintaining that broad support introduced several defects that could cause valid Rust code to trigger compiler crashes or miscompilations. By raising the baseline, the Rust team can focus on providing more complete and reliable support for the remaining supported hardware. Additionally, the oldest affected GPUs (e.g., Maxwell, Pascal) date back to 2014-2017 and are no longer actively supported by NVIDIA. The effort required to keep compatibility with these outdated platforms is substantial, so dropping them allows developers to improve correctness and performance for current hardware.

How will this change affect me if I update to Rust 1.97?

If you are using a CUDA driver that does not support PTX ISA 7.0 (pre-CUDA 11) or running on GPUs with compute capability below 7.0, the PTX generated by Rust 1.97 will not work. If you target CUDA 11+ and Volta or newer GPUs, the impact depends on your current configuration:

What should I do if I currently specify an older target-cpu?

If your build currently uses a -C target-cpu value below sm_70 (e.g., sm_60 for Pascal), you have two options:

After Rust 1.97, sm_70 is the minimum supported GPU architecture. If you need to keep running on older GPUs, you must stay on an earlier Rust version (1.96 or older) and be aware that those versions may have unresolved bugs. For further details, refer to the official platform support documentation for nvptx64-nvidia-cuda.

Tags:

Recommended

Discover More

Amazon Expands Price History Tool to Full Year Ahead of Prime Day Amid Antitrust LawsuitRussian GRU Hackers Exploit Aging Routers to Steal Microsoft Office Authentication TokensHow Coursera's Learning Agent Transforms Skill Development in Microsoft 365 CopilotHow to Ethically Collect and Study Roadkill Specimens: A Bioethical GuideHow to Achieve Machine-Speed Cybersecurity with Automation and AI