CUDA 工具包 13.0 正式发布:开启新一代 GPU 计算的基石!
前不久 CUDA Toolkit 13.0 正式发布!作为 CUDA 13.x 系列的首个重大版本,13.0 不仅带来了对最新硬件的全面支持,更在编程模型、开发者体验、跨平台兼容性和性能优化等方面进行了深远的革新,为未来数年的 GPU 加速计算奠定了坚实基础。
一、支持新一代 Blackwell 架构 GPU
CUDA 13.0 进一步扩展了对 NVIDIA 最新 Blackwell 架构 的支持,包括:
- B200、GB200、B300、GB300 GPU 服务器
- RTX PRO Blackwell 系列 和 GeForce RTX 5000 系列 显卡
- Jetson Thor 模组
- DGX Spark AI 超级计算机系统
这些强大硬件的加入,为 AI 训练、科学计算、图形渲染等高性能计算场景提供了前所未有的算力支持。
二、奠定未来:基于 Tile 的编程模型
CUDA 13.0 引入了 基于 Tile 的编程模型 的底层基础设施,这是一项具有里程碑意义的更新。
核心价值:
- 简化开发:以“数据块(Tile)”为单位进行操作,抽象底层线程管理细节,开发者可专注于“做什么”,而非“怎么做”。
- 高效映射:天然适配 Tensor Core,编译器自动处理显存管理与操作映射。
- 长期兼容:“一次编写,多代 GPU 兼容”,显著提升代码可维护性。
- 灵活接口:提供高级 API/DSL(支持 Python、C++)和中间表示(IR),满足从应用开发者到编译器工具链开发者的不同需求。
📌 当前状态:13.0 版本为开发者不可见的底层铺垫,但已为后续更直观、高效的编程方式升级做好准备。
三、统一 Arm 平台开发者体验
为实现“一次构建,随处部署”的目标,CUDA 13.0 大幅优化了在 Arm 平台(如 Grace 服务器、DGX Spark)上的开发体验:
- 统一工具链:标准 CUDA 工具包现已支持 Arm 平台的 Blackwell 架构,减少多生态并行开发的重复工作。
- 容器生态整合:共享容器镜像谱系,降低 CI/CD 构建与部署成本。
- 性能无妥协:编译器仍为目标 GPU 生成高度优化的代码,开发者仅需管理单一工具链。
四、操作系统与平台支持扩展
CUDA 13.0 新增对以下操作系统版本的认证支持:
操作系统 | 新增支持版本 |
---|---|
Red Hat Enterprise Linux | 10.0, 9.6 |
Debian | 12.10(测试版) |
Fedora | 42 |
Rocky Linux | 10.0, 9.6 |
完整支持列表请参考 官方发行说明。
五、开发者工具全面升级
Nsight Compute 2025.3 新特性:
- 源视图增强:新增“指令混合表”和“记分板依赖关系表”,精准定位性能瓶颈源码行。
- 吞吐量细分:在指标详情中展示各执行单元的吞吐量,帮助识别计算或内存瓶颈。
六、数学库性能提升
-
cuSOLVER:
- 新增数学模式,利用 Blackwell GPU 模拟 FP32 算术,显著提升性能。
- 优化
cusolverDnXsyevBatched
算法,提升小规模(n ≤ 32)矩阵特征值计算效率。
-
cuFFT :
- 提升单精度复数到复数(C2C)多维 FFT 性能。
- 优化部分大型 2 的幂次 FFT 的执行效率。
七、编译器与构建系统优化
NVCC 更新:
- 新增支持:GCC 15、Clang 20
- 停止支持:ICC、MSVC 2017
- 单独编译增强:支持为 device 函数指定自定义高性能 ABI。
Fatbin 压缩优化:
-
默认算法:从 LZ4 升级为 ZStandard (ZStd),压缩率更高,执行无延迟。
-
多种模式可选 :
speed
:LZ4,优先解压速度balance
:ZStd,默认平衡模式size
:ZStd,高压缩率(如 CUDA Math API 体积缩小 71%)none
:无压缩
效果:部分库(如 CUDA Math API)默认压缩后体积减少 17%,无性能损失。
八、Python 生态全面进化
1. cuda.core
早期发布
- 定位:
cuda-python
项目核心组件,提供 Pythonic API 访问 CUDA 运行时、编译器等。 - 优势:无需编写 CUDA C++ 代码即可实现 GPU 加速,与 Numba、CuPy 等库无缝集成。
2. Wheel 包结构优化
-
统一路径:所有组件集中于
site-packages/nvidia/cu13/
,简化依赖管理。 -
元包支持:
pip install cuda-toolkit[cublas,cudart]==13.0 # 按需安装 pip install cuda-toolkit[all] # 安装全部组件
九、CCCL 3.0:统一核心计算库
CUDA Core Compute Library (CCCL) 3.0 整合 Thrust、CUB、libcudacxx,带来关键变更:
头文件路径迁移:
旧路径 | 新路径 |
---|---|
${CTK_ROOT}/include/cuda/ | ${CTK_ROOT}/include/cccl/cuda/ |
${CTK_ROOT}/include/cub/ | ${CTK_ROOT}/include/cccl/cub/ |
${CTK_ROOT}/include/thrust/ | ${CTK_ROOT}/include/cccl/thrust/ |
迁移建议:
- 使用
nvcc
编译:无需修改 - 使用 GCC/Clang/MSVC:通过 CMake 链接
CCCL::CCCL
- 禁止:
#include <cccl/...>
要求:C++17+,支持 GCC 7+、Clang 14+、MSVC 2019+
十、Jetson 平台重大增强
JetPack 7.0 将带来以下关键特性(基于 CUDA 13.0):
- 开源 GPU 驱动:从 Jetson Thor 起,支持 iGPU + dGPU 协同。
- 统一虚拟内存 (UVM):CPU 缓存内存可被 GPU 直接访问,系统内存可直接用于 GPU 计算。
- 绿色上下文:轻量级上下文,提升确定性与资源隔离。
- 工具支持:新增 NVML 和
nv-smi
支持,强化资源监控。
详情敬请关注即将发布的《JetPack 7 上的 CUDA》专题博客。
十一、兼容性变更与弃用
1. GPU 架构支持调整
- 停止支持:计算能力 7.5 之前的 GPU(Turing 之前)的离线编译。
- 替代方案:使用 CUDA 12.9 或更早版本构建;用户需使用 R580 驱动分支(长期支持 3 年)。
2. 向量类型更新
为支持 Blackwell 的 256 位加载/存储,引入新对齐类型:
- 原类型(如
double4
)将触发弃用警告。 - 新类型:
double4_16a
(16 字节对齐)、double4_32a
(32 字节对齐)。
3. cudaDeviceProp
字段移除
以下字段已弃用,需使用新 API 替代:
旧字段 | 替代 API |
---|---|
clockRate | cudaDeviceGetAttribute(cudaDevAttrClockRate) |
memoryClockRate | cudaDeviceGetAttribute(cudaDevAttrMemoryClockRate) |
computeMode | cudaDeviceGetAttribute(cudaDevAttrComputeMode) |
kernelExecTimeoutEnabled | cudaDeviceGetAttribute(cudaDevAttrKernelExecTimeout) |
singleToDoublePrecisionPerfRatio | cudaDeviceGetAttribute(cudaDevAttrSingleToDoublePrecisionPerfRatio) |
maxTexture1DLinear | cudaDeviceGetTexture1DLinearMaxWidth() |
cooperativeMultiDeviceLaunch | 无替代 |
总结
CUDA Toolkit 13.0 是一次面向未来的重大升级,其核心价值在于:
✅ 奠定 Tile 编程模型基础,提升开发效率与硬件兼容性
✅ 统一 Arm 平台体验,实现跨设备无缝部署
✅ 优化编译器、数学库与压缩方案,提升性能与资源利用率
✅ 增强 Jetson 与 Python 生态,拓展应用场景
相关资源
- 🎥 GTC 演讲:如何在 Blackwell 上加速你的应用
- 🧰 SDK:Video Codec、cuSOLVERMg、cuSOLVER
- 📚 CUDA 官方文档
- 🎓 NVIDIA DLI 培训中心
- 🐳 NGC 目录
- 💬 CUDA 开发者论坛
立即下载 CUDA Toolkit 13.0,开启您的下一代 GPU 计算之旅!🚀