Vb65obs0.putty PDocsHardware
Related
Rust 1.97 Drops Support for Pre-Volta GPUs and Older CUDA DriversGPD BOX Breaks Ground: First Mini PC With Intel Panther Lake and MCIO 8i External PCIe 5.0 PortUnderstanding the CPUC's Rejection of SoCalGas' Hydrogen Pipeline Cost-Shifting: A Practical Guide for Ratepayers and StakeholdersA Step-by-Step Guide to Quantum Processor Calibration Using NVIDIA Ising Open Models10 Key Upgrades in AMD's Latest GAIA Release for Local AI MasteryGPD BOX: A Compact Panther Lake Mini PC with Revolutionary MCIO 8i External PCIe 5.0 ConnectivityHow Huawei is Poised to Dominate China's AI Chip Market by 2026: A Comprehensive GuideThe Asian Supply Chain Revolution: How Nvidia's Production Costs Shifted to 90%

Rust 1.97 Drops Support for Pre-Volta GPUs and Older CUDA Drivers: New Baseline for NVIDIA PTX Compilation

Last updated: 2026-05-11 00:56:59 · Hardware

In a breaking change for Rust developers targeting NVIDIA GPUs, the upcoming Rust 1.97 release (scheduled for July 9, 2026) will raise the minimum requirements for the nvptx64-nvidia-cuda compilation target. The new baseline demands PTX ISA 7.0 (requiring CUDA 11 drivers or newer) and GPU architecture SM 7.0 (compute capability 7.0 or higher), effectively ending support for older hardware like Maxwell and Pascal GPUs and CUDA 10-era drivers.

"This change is necessary to address long-standing defects in PTX generation for older architectures," said a Rust core team member familiar with the compiler backend. "Raising the baseline allows us to provide more complete and reliable support for the GPUs and drivers that are still actively maintained by NVIDIA."

Why the Baseline Is Being Raised

The Rust compiler previously attempted to support a wide range of GPU architectures and PTX ISA versions. However, this broad compatibility came at a cost: valid Rust code could trigger compiler crashes or miscompilations on older targets. By dropping support for the oldest hardware and driver versions, the development team can focus on correctness and performance for the remaining supported platforms.

Rust 1.97 Drops Support for Pre-Volta GPUs and Older CUDA Drivers: New Baseline for NVIDIA PTX Compilation
Source: blog.rust-lang.org

The most recent affected GPU architectures date back to 2017 and are no longer receiving active support from NVIDIA. "We expect the overall impact to be limited, as most users have already moved to Volta or newer architectures," the team member added.

Background: The nvptx64-nvidia-cuda Target

The nvptx64-nvidia-cuda target compiles Rust code into PTX (Parallel Thread Execution) intermediate representation, which is then loaded and JIT-compiled by the CUDA driver. A PTX artifact targets a specific GPU architecture (e.g., sm_70, sm_80) and a PTX ISA version. The GPU architecture determines which GPUs can physically run the compiled code, while the PTX ISA version dictates which CUDA driver versions can load and JIT-compile it.

Previously, Rust allowed targeting architectures as old as sm_35 (Kepler) and PTX ISA versions down to 3.x. With Rust 1.97, the minimums jump to PTX ISA 7.0 and SM 7.0. See the full platform support documentation for more details on configuring the target.

What This Means for Developers

If you are targeting CUDA drivers older than CUDA 11 (e.g., CUDA 10.x), Rust 1.97 will no longer generate PTX compatible with your environment. You will need to either upgrade the driver or stick with a pre-1.97 Rust release.

If you are targeting GPUs with compute capability below 7.0 (Maxwell, Pascal, Kepler), the new Rust version will not produce PTX that runs on those GPUs. Upgrade to Volta (SM 7.0) or newer hardware to use Rust 1.97+.

If you already target SM 7.0 or newer and use a CUDA 11+ driver, no changes are required. The default target CPU (-C target-cpu) becomes sm_70. Users who previously specified sm_60 or older must update their flags to sm_70 or remove the flag entirely.

How to Adapt Your Build Configuration

  • If you do not specify -C target-cpu, the new default of sm_70 will apply automatically.
  • If you currently specify an older architecture (e.g., sm_60), either remove the flag to default to sm_70, or change it to sm_70 or a newer architecture.
  • If you already specify sm_70 or newer, your builds will continue without behavioral changes.

"The change simplifies our codebase and allows us to deliver more reliable PTX output for the hardware that matters most," the core team member concluded. Developers are urged to update their tooling and hardware to align with the new baseline before the Rust 1.97 release date.

For more details, see the platform support documentation at doc.rust-lang.org.