当前位置:首页 > 科技资讯 > 正文

英伟达CUDA 13.1革命:Tile模型让Python写GPU内核,性能媲美C++,Jim Keller称或终结CUDA护城河

GPU编程领域迎来历史性变革。

英伟达正式发布了CUDA 13.1版本,官方宣称这是自2006年CUDA诞生以来最具革命性的升级

本次更新的最大亮点是引入了CUDA Tile编程模型,它允许开发者使用Python直接编写GPU内核,据称仅需15行Python代码即可达到传统200行CUDA C++代码的性能水平。

英伟达CUDA 13.1革命:Tile模型让Python写GPU内核,性能媲美C++,Jim Keller称或终结CUDA护城河 CUDA 13.1  Tile编程模型 GPU编程 Jim Keller 第1张

消息传出后,芯片设计界传奇人物Jim Keller立即在社交媒体上发问:

英伟达此举是否在自毁CUDA的“护城河”?若Tile模型成为主流,AI内核将更易于迁移至其他硬件平台。

英伟达CUDA 13.1革命:Tile模型让Python写GPU内核,性能媲美C++,Jim Keller称或终结CUDA护城河 CUDA 13.1  Tile编程模型 GPU编程 Jim Keller 第2张

Jim Keller曾参与设计AMD Zen架构、苹果A系列芯片、特斯拉自动驾驶芯片,被誉为“硅仙人”,他的观点在业界极具影响力。

那么,CUDA 13.1究竟带来了哪些改变?为何有人将其视为“自毁长城”之举?

GPU编程范式革命:从“线程”到“瓦片”

要理解这次更新的深远意义,有必要先回顾传统CUDA编程的痛点。

过去二十年间,CUDA一直基于SIMT(单指令多线程)模型,开发者必须手动处理线程索引、线程块划分、共享内存布局及线程同步等细节,每一步都需精心设计。

若要充分挖掘GPU性能,尤其是利用Tensor Core等专用单元,则更需要深厚的经验积累和优化技巧。

CUDA Tile模型彻底颠覆了这一传统模式:

开发者不再需要逐线程编写执行逻辑,而是将数据组织为Tile(瓦片),并声明在这些Tile上执行何种运算。而如何将这些运算映射到GPU的线程、线程束(Warp)及Tensor Core上,则完全交由编译器和运行时自动处理。

这种抽象程度,堪比NumPy之于Python。

英伟达CUDA 13.1革命:Tile模型让Python写GPU内核,性能媲美C++,Jim Keller称或终结CUDA护城河 CUDA 13.1  Tile编程模型 GPU编程 Jim Keller 第3张

为实现这一模型,英伟达构建了两大核心组件:

CUDA Tile IR是一套全新的虚拟指令集,它在高级语言与底层硬件之间增加了一层抽象,确保基于Tile编写的代码可在不同代际的GPU上运行,从当前的Blackwell架构到未来的GPU均能兼容。

cuTile Python是面向开发者的编程接口,允许直接用Python编写GPU内核,编程门槛从“HPC专家”骤降至“会写Python的数据科学家”均可胜任。

英伟达CUDA 13.1革命:Tile模型让Python写GPU内核,性能媲美C++,Jim Keller称或终结CUDA护城河 CUDA 13.1  Tile编程模型 GPU编程 Jim Keller 第4张

此外,本次更新还带来了一系列针对Blackwell架构的性能优化:

cuBLAS新增了FP64和FP32精度在Tensor Core上的仿真功能

新增的Grouped GEMM API在混合专家模型(MoE)场景下可实现高达4倍的加速效果

cuSOLVER的批处理特征分解在Blackwell RTX PRO 6000上相比L40S实现了约2倍的性能提升

开发者工具Nsight Compute新增了对CUDA Tile内核的性能分析支持,可将性能指标直接映射回cuTile Python源代码,便于调试优化。

目前,CUDA Tile仅支持Blackwell架构(计算能力10.x和12.x),开发重点聚焦于AI算法领域。英伟达表示,未来将扩展至更多架构,并推出C++实现版本。

“硅仙人”的质疑:降低门槛是一把双刃剑

那么,Jim Keller为何认为英伟达可能“自毁护城河”?

关键在于,Tile编程模型并非英伟达的专利。AMD、Intel及其他AI芯片厂商的硬件,在底层架构上同样能够支持基于Tile的编程抽象。

过去,CUDA难以移植的根本原因在于SIMT模型与英伟达硬件深度绑定,开发者需针对特定GPU架构手工编写优化代码。这些代码迁移至其他硬件平台,往往无法运行或性能大幅下降。

然而,Tile模型天然具备更高的抽象层次。一旦开发者习惯了“只定义Tile运算,硬件细节交由编译器处理”的思维模式,同一套算法逻辑理论上更易适配至其他支持Tile编程的硬件。

正如Jim Keller所言:“AI内核将更容易移植。”

不过,英伟达也留了一手:CUDA Tile IR提供了跨代兼容性,但这种兼容性建立在CUDA平台之上。

开发者编写的代码确实更易于移植,但移植的目标仅限于英伟达自家的不同代GPU,而非竞争对手的硬件。

从这个角度而言,CUDA代码可从Blackwell无缝迁移至下一代英伟达GPU,但若要迁移至AMD或Intel平台,仍需重写。

无论护城河是加深还是削弱,有一点是确定的:GPU编程的门槛正在大幅降低。

过去,能熟练驾驭CUDA的开发者是稀缺资源,会写Python的人虽多,但能将代码优化至充分利用Tensor Core的专家却屈指可数。

CUDA Tile与cuTile Python的推出,恰好打通了这一瓶颈。英伟达在开发者博客中称,一个15行的Python内核性能可媲美200行手动优化的CUDA C++代码。

从此,大量数据科学家和AI研究者可直接编写高性能GPU代码,无需再等待HPC专家的优化协助。

参考链接:

[1]https://developer.nvidia.com/blog/focus-on-your-algorithm-nvidia-cuda-tile-handles-the-hardware

[2]https://x.com/jimkxa/status/1997732089480024498