CUDA 13.3正式发布!C++ Tile编程+Python 1.0,性能再提15%
🩺 摘要
CUDA 13.3正式发布!C++ Tile编程+Python 1.0,性能再提15% 老黄又发力了。 5月26号,NVIDIA 正式发布 CUDA 13.3。距离13.2才三个月,这次更新分量不轻——三大核心升级直接把 CUDA 推到了一个新高度。 简单说,C++ 开发者终于可以像搭积木一样
📝 详情
CUDA 13.3正式发布!C++ Tile编程+Python 1.0,性能再提15%
老黄又发力了。
5月26号,NVIDIA 正式发布 CUDA 13.3。距离13.2才三个月,这次更新分量不轻——三大核心升级直接把 CUDA 推到了一个新高度。
简单说,C++ 开发者终于可以像搭积木一样写 GPU 内核,Python 生态拿到了官方稳定版,编译器还塞了个"自动超频"的黑科技。
逐一拆解。
01. Tile编程扩展到C++:不会手写CUDA的兄弟,机会来了
先解释一下什么叫 Tile 编程。
传统 CUDA 写内核,你得手管线程、共享内存、寄存器、Tensor Core……等于一边开车一边换轮胎。
CUDA Tile 抽象层把这一切包了。你只需要说"我要算一个256×256的矩阵块",底层怎么并行、怎么搬数据、怎么用 Tensor Core,编译器帮你自动搞定。
13.1 的时候只有 Python 能享受这个待遇,13.3 终于轮到 C++ 了。
而且这次还解锁了 Hopper 架构(Compute Capability 9.0),H100/H200 用户也能用。代码一次写好,跨架构自动适配——老代码不会因为换代变成废纸。
02. CUDA Python 1.0:开源生态的定心丸
Python 这边拿到的是一份"正式合同"。
之前 CUDA Python 一直在 beta 里转,API 说改就改,谁敢上生产?
1.0 开始走语义化版本:大版本才动 API,小版本只加功能,补丁只修 bug。社区最怕的"pip update 一下全挂了"基本成为历史。
这次 1.0 的组件阵容:
cuda.core 1.0— Pythonic 的 CUDA Runtime 接口,设备、流、Linker、图、内存管理全包了cuda.compute 1.0— CCCL 并行算法(sort/reduce/scan)直接 Python 调用,支持 lambdacuda.bindings 13.3— CUDA C API 的 Python 低级绑定
还加了三个硬核功能:
Green Contexts — 把 GPU 的 SM 切成独立分区,跑大模型推理的同时不让延迟敏感的小任务被干扰。一台 GPU 当多台用。
进程 Checkpoint/Restore — Linux 上能全量保存 GPU 进程状态(显存分配、流、上下文全包),然后恢复。容错长任务、集群抢占、推理服务快启,全解锁。
跨进程 IPC — GPU 内存跨 Python 进程共享,零拷贝。多进程 ML 推理终于不用走 host 中转。
一条命令装齐:
pip install cuda-python cuda-cccl numba-cuda-mlir[cu13]
03. CompileIQ:编译器自己学会了调参
这是我觉得这版最狠的。
GPU 编译器用的优化策略是通用启发式——对大部分内核还行,但绝对不是针对你的内核最优的。
CompileIQ 的思路很直接:拿进化算法去搜。针对每个具体 kernel,用遗传算法自动生成专属的编译器配置。
实测数据:在已经高度优化的 Triton Attention 和 CUTLASS GEMM 上,再榨出 最高15% 的提速。
这个数字你不能小看——GEMM 和 Attention 占了 LLM 推理计算量的 90%以上。15% 的全链路提速,换个角度看等于省了15%的电费,或者多塞15%的用户。
04. 其他值得一提的更新
C++23 标准正式支持 NVCC/NVRTC——C++ 开发者不用憋在旧标准里写代码了。
CCCL 3.3 新增 DLpack/mdspan 张量互操作——PyTorch/JAX 的 tensor 直接转成 CUDA C++ 的 mdspan,两边不用手写指针推演。还补了 17种随机数分布,新增 cub::DeviceFind::FindIf 比之前快 7倍。
Numba CUDA MLIR 0.3 来了——从零写的 MLIR 后端,JIT 编译快 1.4 倍,kernel 调用延迟降了 2-3.5 倍。替换方式就是改个 import 路径,换零成本。
Nsight Compute 2026.2 和 Nsight Systems 2026.3.1 也增加了对 cuTile C++ kernel 的 profiling 支持。
05. 这对我们意味着什么
如果你是写 Python 的 AI 工程师,CUDA Python 1.0 意味着你可以用纯 Python 管理 GPU 资源、编译内核、跑并行算法,不碰一行 C++。
如果你是写 C++ 的系统程序员,CUDA Tile 让你从手写 SIMT 的苦活中解放出来,把精力放在算法本身。
如果你在跑大模型推理,CompileIQ 的 15% 白送性能值得你花一天跑一遍调优。
三个升级覆盖了三类用户,NVIDIA 这次不是画饼,是真给家伙了。
06. 个人观点
CUDA 20 年了,从最早的纯 C 扩展走到今天,最让我感慨的不是性能涨了多少,而是门槛被系统性地拆掉了。
Tile 编程去掉了一堆底层细节,Python 1.0 给了生态稳定性,CompileIQ 甚至让编译器自己学会优化自己——每一步都是在"让写 CUDA 的人不需要懂那么多 CUDA"。
这其实是老黄的阳谋。AI 算力的需求涨得太快,能用的人不够多。打破门槛 = 扩大生态 = 更多人买它的卡。商业策略和技术理想在这个点上走到了一起。
唯一的遗憾:进程 checkpoint 仅限 Linux,Windows 用户继续被晾着。
你怎么看 CUDA 这几年"减负式"的演进?Tile 编程和传统 SIMT,你站哪边?
CUDA 13.3正式发布!C++ Tile编程+Python 1.0,性能再提15%
老黄又发力了。
5月26号,NVIDIA 正式发布 CUDA 13.3。距离13.2才三个月,这次更新分量不轻——三大核心升级直接把 CUDA 推到了一个新高度。
简单说,C++ 开发者终于可以像搭积木一样写 GPU 内核,Python 生态拿到了官方稳定版,编译器还塞了个"自动超频"的黑科技。
逐一拆解。
01. Tile编程扩展到C++:不会手写CUDA的兄弟,机会来了
先解释一下什么叫 Tile 编程。
传统 CUDA 写内核,你得手管线程、共享内存、寄存器、Tensor Core……等于一边开车一边换轮胎。
CUDA Tile 抽象层把这一切包了。你只需要说"我要算一个256×256的矩阵块",底层怎么并行、怎么搬数据、怎么用 Tensor Core,编译器帮你自动搞定。
13.1 的时候只有 Python 能享受这个待遇,13.3 终于轮到 C++ 了。
而且这次还解锁了 Hopper 架构(Compute Capability 9.0),H100/H200 用户也能用。代码一次写好,跨架构自动适配——老代码不会因为换代变成废纸。
02. CUDA Python 1.0:开源生态的定心丸
Python 这边拿到的是一份"正式合同"。
之前 CUDA Python 一直在 beta 里转,API 说改就改,谁敢上生产?
1.0 开始走语义化版本:大版本才动 API,小版本只加功能,补丁只修 bug。社区最怕的"pip update 一下全挂了"基本成为历史。
这次 1.0 的组件阵容:
cuda.core 1.0— Pythonic 的 CUDA Runtime 接口,设备、流、Linker、图、内存管理全包了cuda.compute 1.0— CCCL 并行算法(sort/reduce/scan)直接 Python 调用,支持 lambdacuda.bindings 13.3— CUDA C API 的 Python 低级绑定
还加了三个硬核功能:
Green Contexts — 把 GPU 的 SM 切成独立分区,跑大模型推理的同时不让延迟敏感的小任务被干扰。一台 GPU 当多台用。
进程 Checkpoint/Restore — Linux 上能全量保存 GPU 进程状态(显存分配、流、上下文全包),然后恢复。容错长任务、集群抢占、推理服务快启,全解锁。
跨进程 IPC — GPU 内存跨 Python 进程共享,零拷贝。多进程 ML 推理终于不用走 host 中转。
一条命令装齐:
pip install cuda-python cuda-cccl numba-cuda-mlir[cu13]
03. CompileIQ:编译器自己学会了调参
这是我觉得这版最狠的。
GPU 编译器用的优化策略是通用启发式——对大部分内核还行,但绝对不是针对你的内核最优的。
CompileIQ 的思路很直接:拿进化算法去搜。针对每个具体 kernel,用遗传算法自动生成专属的编译器配置。
实测数据:在已经高度优化的 Triton Attention 和 CUTLASS GEMM 上,再榨出 最高15% 的提速。
这个数字你不能小看——GEMM 和 Attention 占了 LLM 推理计算量的 90%以上。15% 的全链路提速,换个角度看等于省了15%的电费,或者多塞15%的用户。
04. 其他值得一提的更新
C++23 标准正式支持 NVCC/NVRTC——C++ 开发者不用憋在旧标准里写代码了。
CCCL 3.3 新增 DLpack/mdspan 张量互操作——PyTorch/JAX 的 tensor 直接转成 CUDA C++ 的 mdspan,两边不用手写指针推演。还补了 17种随机数分布,新增 cub::DeviceFind::FindIf 比之前快 7倍。
Numba CUDA MLIR 0.3 来了——从零写的 MLIR 后端,JIT 编译快 1.4 倍,kernel 调用延迟降了 2-3.5 倍。替换方式就是改个 import 路径,换零成本。
Nsight Compute 2026.2 和 Nsight Systems 2026.3.1 也增加了对 cuTile C++ kernel 的 profiling 支持。
05. 这对我们意味着什么
如果你是写 Python 的 AI 工程师,CUDA Python 1.0 意味着你可以用纯 Python 管理 GPU 资源、编译内核、跑并行算法,不碰一行 C++。
如果你是写 C++ 的系统程序员,CUDA Tile 让你从手写 SIMT 的苦活中解放出来,把精力放在算法本身。
如果你在跑大模型推理,CompileIQ 的 15% 白送性能值得你花一天跑一遍调优。
三个升级覆盖了三类用户,NVIDIA 这次不是画饼,是真给家伙了。
06. 个人观点
CUDA 20 年了,从最早的纯 C 扩展走到今天,最让我感慨的不是性能涨了多少,而是门槛被系统性地拆掉了。
Tile 编程去掉了一堆底层细节,Python 1.0 给了生态稳定性,CompileIQ 甚至让编译器自己学会优化自己——每一步都是在"让写 CUDA 的人不需要懂那么多 CUDA"。
这其实是老黄的阳谋。AI 算力的需求涨得太快,能用的人不够多。打破门槛 = 扩大生态 = 更多人买它的卡。商业策略和技术理想在这个点上走到了一起。
唯一的遗憾:进程 checkpoint 仅限 Linux,Windows 用户继续被晾着。
你怎么看 CUDA 这几年"减负式"的演进?Tile 编程和传统 SIMT,你站哪边?
💬 评论 (0)