Nvidia Developer 09月03日
NVIDIA CUDA编译器将停止支持旧GPU架构
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

NVIDIA CUDA Toolkit即将发布的13.0版本将移除对计算能力(CC)低于7.5的GPU架构的离线编译支持。这意味着使用Maxwell、Pascal和Volta等架构的GPU将无法再通过NVCC编译器直接构建针对这些旧架构的新应用程序。然而,已编译的应用仍可正常运行。开发者若需继续支持这些旧架构,应停留在NVIDIA驱动580分支和CUDA Toolkit 12.9版本,以获得直至2028年的支持。

⚠️ NVIDIA CUDA Toolkit 13.0将取消对计算能力(CC)低于7.5的GPU架构的离线编译支持。此举意味着,像Maxwell(CC 5.x)、Pascal(CC 6.x)和早期Volta(CC 7.0, 7.2)等架构的GPU,将无法使用NVCC直接编译以其为目标的新应用程序。这一变化是NVIDIA为支持新GPU架构而进行的正常软件更新过程的一部分。

💻 NVIDIA驱动程序和CUDA Toolkit是GPU编程的两个关键组成部分。驱动程序负责与GPU硬件交互,而CUDA Toolkit则提供了开发GPU应用程序所需的编译器、库和工具。此次调整仅影响使用NVCC进行离线编译,并不意味着旧GPU硬件本身将停止工作或失去支持。

📅 对于需要继续为CC 7.5以下GPU架构进行开发的用户,建议停留在NVIDIA驱动580分支和CUDA Toolkit 12.9版本。NVIDIA驱动580分支作为LTS(长期支持)版本,将提供长达三年的支持,预计至2028年中期。在此期间,使用旧版CUDA Toolkit编译的应用将继续在受支持的硬件上正常运行。

🚀 开发者应注意,此次变更主要针对的是“离线编译”,即在编译时指定目标GPU架构。如果您的应用程序已经使用旧版CUDA Toolkit编译,并且支持这些旧GPU架构,这些应用程序将继续在驱动程序支持的范围内正常运行。但如果您计划使用CUDA 13.0或更新版本开发新应用,则需要考虑目标GPU的计算能力。

If you’ve used the NVIDIA CUDA Compiler (NVCC) for your NVIDIA GPU application recently, you may have encountered a warning message like the following:

nvcc warning : Support for offline compilation for architectures prior to '<compute/sm/lto>_75' will be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

What does this mean exactly, and what actions should you take? In this post, we’ll explain how the NVIDIA CUDA Toolkit and NVIDIA Driver work together to support GPUs

NVIDIA software stack

The software stack for programming GPUs is divided into two separate yet equally important pieces: The CUDA Toolkit for building applications, and the NVIDIA Driver for running them.

NVIDIA driver

The driver is the software that interfaces directly with the GPU hardware and is the interface between the application software and hardware. Think of the driver as sitting directly on top of the GPU hardware. In principle, the driver is the same as any other device driver that interfaces with the peripherals in your system, including things like your mouse, keyboard, speakers, microphone, and network card. 

NVIDIA drivers are usually installed independently from the CUDA Toolkit, but NVIDIA also provides bundled installers and packages for convenience on some platforms. When installing from the driver download page, you can see which GPUs are supported by each driver.

The NVIDIA driver is released in three different branches with distinct lifecycles:

    New Feature Branch (NFB) drivers are released the most frequently and incorporate the newest CUDA features for developers. They are designed for developers looking to try out the newest hardware and software features.  New Feature Branch drivers are not updated after they are released.Production Branch drivers are released roughly twice per year and are designed and qualified for enterprise and data center production use. Each major production branch is updated periodically for security fixes and performance improvements and is supported for 1 year.Long-Term Support Branch (LTS) drivers are released about every 18 months. They are also designed and qualified for enterprise and data center production use. Each LTS branch is updated periodically for security fixes and performance improvements, and supported for 3 years. These are an ideal solution for users who require a longer support period.

The CUDA Toolkit is the software development kit (SDK) that developers use to program GPUs.  It includes a wide array of components, including compilers, libraries, developer tools, and binary utilities. Each release of the toolkit lists the major components. It can be downloaded and installed on its own, or it comes packaged with a driver for convenient installation of both. Think of the toolkit as sitting on top of the NVIDIA driver.

GPU support

Now, getting back to the warning message at the beginning of this post:

the support for offline compilation for architectures prior to compute capability (CC) 7.5 will be removed in the next major CUDA Toolkit release, CUDA 13.0. 

This support change is occurring as part of the normal NVIDIA support process. Over time, NVIDIA releases newer architectures. At some point, some older architectures are feature-complete and support for them is deprecated and ultimately removed.

First, let’s examine the GPU architectures the CUDA Toolkit supports. A quick and easy way to see which architectures are supported by a particular version of the CUDA Toolkit is to have NVCC print out a list of all supported architectures. On CUDA 12.9, if you execute the nvcc --list-gpu-arch command, you see all the architectures that are supported.

$ nvcc --list-gpu-archcompute_50compute_52compute_53compute_60compute_61compute_62compute_70compute_72compute_75compute_80compute_86compute_87compute_89compute_90compute_100compute_101compute_103compute_120compute_121

The numbers in the architecture listing are the compute capabilities. You can see the correspondence between GPUs and their CC’s by looking at our current and legacy GPU pages. The warning message above indicates that support for architectures prior to CC 7.5 will be removed. This means 5.x, 6.x, and 7.0 and 7.2 architectures, which are the NVIDIA Maxwell, NVIDIA Pascal, and NVIDIA Volta architectures.

The other important piece of the warning statement is the removal of support for “offline compilation.”  What does it mean?

Offline compilation is when you write GPU code, say CUDA C++, and then compile it with NVCC (from the CUDA Toolkit) to build a binary. Offline compilation is likely what most people think of when they develop with a compiled language. The warning message is saying that starting in CUDA 13.0, you won’t be able to use NVCC as the compiler to build an application that targets any GPU architecture before CC 7.5.

What does it all mean

This does not mean that GPUs before CC 7.5 will suddenly stop working or stop being supported. It does mean that you cannot build new applications targeting older GPUs using NVCC in version 13.0 or newer of the CUDA toolkit.  Applications built with older versions of the CUDA toolkit will continue to run as before on all hardware supported by the driver.

The NVIDIA driver from branch 580 will be released in conjunction with the CUDA 13.0 Toolkit. This will be the final branch that supports GPUs before CC 7.5.  Importantly, this is an LTS driver that will be supported for three years from release and supported until mid-year 2028. Applications built for GPUs before CC 7.5 will run with full support through the full lifetime of the 580 driver, sometime in 2028.

Developer guidance

Given the removal of support for offline compilation, what are the implications for application developers?  

If you’re writing applications that support GPUs of CC earlier than 7.5, then you’ll want to install and remain on the following:

    NVIDIA Driver: Remain on branch 580. This provides support for 3 years, through sometime in 2028.  CUDA Toolkit: Remain on 12.9. This provides support for offline compilation for the pre CC 7.5 GPU architectures.

In summary, the upcoming CUDA 13.0 release will remove support for offline compilation for GPU architectures before compute capability 7.5. Developers who want to continue building applications for these GPUs should continue using the NVIDIA driver branch 580 and CUDA Toolkit 12.9 to maintain support for these older architectures.

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

NVIDIA CUDA NVCC GPU Driver Toolkit Compute Capability Offline Compilation Deprecated NVIDIA Driver CUDA Toolkit Maxwell Pascal Volta LTS 2028
相关文章