CUDA 工具包 的最新版本 (版本 12.8) 使用最新的 NVIDIA CPU 和 GPU,持续提升数据科学、AI、科学计算以及计算机图形和模拟领域的加速计算性能。本文重点介绍了此版本包含的一些新功能和增强功能:
- NVIDIA Blackwell 架构支持
- CUDA 图形处理条件节点增强功能
- 用于大语言模型(LLMs)的 Blackwell CUTLASS 内核
- NVIDIA Nsight 开发者工具更新
- 数学库更新
cudaStreamGetDevice
- 编译器更新
- 加速 Python 更新
- 功能齐全的架构
NVIDIA Blackwell 架构支持
CUDA 工具包 12.8 是该工具包的第一个版本,在整个开发者工具套件 (包括性能工具和分析器、库和编译器) 中支持 NVIDIA Blackwell 架构。Blackwell 由 208 亿个晶体管构建而成,是 NVIDIA Hopper GPU 中晶体管数量的 2.5 倍以上,是迄今为止最大的 GPU。
Blackwell 支持的主要功能包括:Key Blackwell
- 采用自定义 Tensor Core 技术的第二代 Transformer 引擎:加速 LLM 和 mixture-of-experts (MoE) 模型的推理和训练。
- 解压缩: 使用 LZ4、Snappy 和 Deflate 等最新压缩格式,加速数据分析和数据科学工作流的性能。
- 网络互连:NVLink 和 NVLink Switches 加速万亿参数和数万亿参数 AI 模型的 GPU 间通信性能。
如需详细了解 NVIDIA Blackwell 的领先创新,请参阅 NVIDIA Blackwell 架构技术概览。
使用运行时核选择将 CUDA Graphs 速度提升 2 倍,从而降低延迟推理
借助 Blackwell,CUDA Graphs APIs 仍然是启动 GPU 操作序列重复调用的最高效方式。CUDA Toolkit 12.8 为 CUDA Graphs 引入了更多增强功能,包括其他 条件节点类型 。
在许多应用程序中,对 CUDA Graphs 中工作的执行进行动态控制可以提高图形启动的性能和灵活性。例如,一种算法需要多次迭代一系列运算,直到结果收到某个值以下,现在这种算法无需进行 CPU 控制管理即可完全在 GPU 上运行,从而将开销降低高达 2 倍。CUDA Toolkit 12.8 改进了用于条件图形节点运行时控制的 API。
条件节点包含图形的片段,这些片段可以在图形运行时根据要评估的条件执行或跳过。此类片段可以评估一次 (IF 节点),也可以在循环中重复评估 (WHILE 节点)。CUDA 12.8 增加了对两种新型条件图形节点的支持:IF/ELSE 组合节点和 SWITCH 节点。
借助 Blackwell 架构,我们改进了 LLM 性能,使包括 DeepSeek-R1 在内的所有推理模型受益。与返回 CPU 进行启动决策相比,CUDA Graphs 增强的 SWITCH 和 IF/ELSE 支持可将运行时内核选择的性能提高 2 倍。
- 训练:通过减少内核选择对 CPU 的依赖,训练工作负载可维持更多的 GPU Tensor Core 吞吐量,从而提高模型 FLOPS 利用率(MFU)。这提高了使用相同的 GPU 基础架构的性能,减少了训练时间和成本。
- 推理:对于使用测试时计算的新一代推理模型 ,高令牌生成速率至关重要,因为每个推理请求都可以在每个查询中生成大量令牌。CUDA 12.8 新流 API 可减少对主机 CPU 的调用,从而缩短一次内核处理与下一次启动之间的时间,从而提高令牌生成率。这会在固定时间预算内生成更多 token,帮助模型推理更多并提高智能。
如需了解详情, 请参阅使用条件节点的 CUDA 图形中的动态控制流。
适用于 LLMs 的 Blackwell CUTLASS 内核
自 2017 年首次推出以来, CUTLASS 一直在推动研究人员和开发者在 NVIDIA GPUs 上实施高性能 CUDA 核函数。通过为开发者提供全面的工具来设计自定义操作 (例如 GEMMs 和 Convolutions),CUTLASS 在开发硬件感知算法方面发挥了至关重要的作用,推动了 FlashAttention 等帮助激发现代 AI 的突破。
随着支持 CUDA 12.8 的 CUTLASS 3.8 的发布,NVIDIA 将扩展对 Blackwell 架构的支持,使开发者能够利用新一代 Tensor Core 来支持所有新的数据类型。这包括新的窄精度 MX 格式和 NVIDIA 开发的 FP4 格式,可提高计算吞吐量。图 1 显示,对于 Tensor Core 运算,CUTLASS 可实现高达 98% 的相对峰值性能。

对于 DeepSeek-V3 和 DeepSeek-R1,分组的 GEMM 在推理期间所需的 MoE 计算中占很大比例。这些运算支持在单个持久性核函数启动中对不同的矩阵大小、缩放系数和融合进行分组和并行化。借助 CUTLASS,在 Blackwell 以 FP4,Grouped GEMM 内核性能增加高达 5 倍,相比使用 FP16 的 H200。

NVIDIA Nsight 开发者工具
NVIDIA Nsight Compute 2025.1 是首个支持 Blackwell 架构的官方版本。更新包括显存图表中 Blackwell 硬件 Tensor 内存的可视化,以及 Tensor Core 性能数据。

它还对日益流行的范围分析功能进行了多项改进。用户现在可以在已分析的范围内收集源级指标,包括已执行指令和内存访问信息。此更新还启用了针对范围的引导分析规则评估。这种用于识别性能问题的内置专业知识是 NVIDIA Nsight Compute 的关键组件。此版本报告了内核堆栈大小,并添加了自定义工具提示,以帮助用户了解其工作负载性能。
此版本的 Compute Sanitizer 是一款自动正确性检查工具,增加了对 Python 调用堆栈的支持,可在通过 Python 应用启动内核时准确定位内核正确性问题。此外,用于 Blackwell 的新 Tensor Core MMA 护栏可以报告与 Tensor Core 编程相关的错误。在编译程序时,可以通过添加 PTXAS 标志 -g-tmem-access-check
来启用这些功能。常见错误的示例包括访问未分配的 tensor 内存、无效的地址以及使用无效的分配器。
数学库更新
借助 CUDA 工具包 12.8,我们获得了一些新的增强功能库,这些增强功能利用了新的 Blackwell 架构,并有助于加速 AI、数据科学、图形和仿真以及高性能科学计算领域的应用程序。
新功能
- cuBLAS
- API 经过扩展,支持微缩 4 位和 8 位浮点混合精度张量核心加速矩阵乘法,可实现 10.0(Blackwell)及更高版本的计算能力。
- 为 Windows x64 上的 NVIDIA Ampere GPU 架构和 Blackwell GeForce 级 GPU 引入了对 CUDA in Graphics (CIG) 的初步支持。现在,系统会自动检测 CIG 上下文,并且 cuBLAS 会选择符合 CIG 共享内存使用限制的内核。
- cuSOLVER 现在支持 zsytrf/zsytrs,这是一款无需旋转的复杂对称直接求解器。
- nvJPEG 现在支持 Tegra 架构。
- NPP 现在为 DRIVE Thor 架构提供支持。
cudaStreamGetDevice
应用程序通常使用 CUDA 流提供对 GPU 资源的有序访问。CUDA 流实例与固定的 CUDA 设备相关联。在用于处理多台设备的应用中,在某些情况下,为给定流获取底层设备的句柄有助于根据设备特性定制应用。
以前,CUDA API 没有提供检索与 CUDA 流关联的设备的机制;开发者必须自行追踪。添加 cudaStreamGetDevice
CUDA API 以检索与 CUDA 流关联的设备,可以简化应用。
编译器更新
新的编译器更新包括以下内容:
- CUDA 工具包 12.8 版本引入了对作为主机端编译器的 GCC 14 的支持。
- 现在,Blackwell 架构的默认高级优化器基于 LLVM 18
nvdisasm
现在支持发射 JSON 格式的 SASS 反汇编。
加速 Python 更新
以下两个测试版现已面向 Python 用户提供:
- CUDA Python 已发布名为
cuda.core
的新惯用对象模型的早期原型,并将 CUDA 绑定移至子模块cuda.bindings
。有关更多信息,请参阅 NVIDIA/cuda-python GitHub 存储库中的文档。
- CUDA 核心计算库 ( CCCL ) 已发布用于并行和协作算法的早期 Python 原型,使您能够使用线程级并行性以及来自纯 Python 代码的用户定义类型和函数。详细了解 CCCL。
此外,CuPy 团队还将发布新版本,其中的 Blackwell 补丁经过验证,现已全面推出。
功能齐全的架构
在 CUDA 工具包 12.8 版本中,我们现在认为 Maxwell、Pascal 和 Volta 架构功能齐全,并且即将发布的版本将冻结对这些架构的支持。
这意味着,在未来的版本中,不会向驱动添加任何新功能来启用支持 Maxwell、Pascal 和 Volta 架构的新 CUDA 工具包功能。最终用户将能够在其生命周期中使用受支持的即将推出的 LTS 驱动分支,在 Maxwell、Pascal 和 Volta 架构上运行现有的软件堆栈和应用。
从版本 12.8 开始,开发者在运行针对这些架构的离线编译器时,将在使用 nvcc
、nvrtc
和 nvjitlink
时输出警告消息。
在下一个主要 CUDA 工具包版本中,将从编译器中删除对 Maxwell、Pascal 和 Volta 架构的离线编译支持。即将推出的用于生产应用程序执行的 LTS 驱动以及 Maxwell、Pascal 和 Volta 应用程序的 JIT 编译将在正常的 3 年期 LTS 支持窗口期内获得支持。
如需了解更多详情,请参阅 CUDA Toolkit 12.8 版本说明 。
总结
CUDA 工具包 12.8 版本为 NVIDIA Blackwell 架构提供完整的功能支持。无论您是使用 C++ 还是 Python 开发应用程序,此版本都将继续为最新的 NVIDIA GPU、加速库、编译器和开发者工具提供增强支持。
想要了解更多信息?查看 CUDA 文档 ,浏览最新的 NVIDIA Deep Learning Institute (DLI) 产品 ,并访问 NGC 目录 。在 CUDA Developer Forums 中提出问题并加入对话。
致谢
感谢以下 NVIDIA 贡献者:Stephen Jones、Jackson Marusarz、Becca Zandstein、Andy Terrel、Ashraf Eassa、Matt Nicely 和 Mridula Prakash。