![图片[1]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002003323-1765210803-735e5c990c78b621902101e7e625330e.jpeg)
新智元报道
【新智元导读】一文看懂CUDA Tile背后的算盘与野心。
英伟达的CUDA,刚刚宣布了该平台诞生20年来最重大的一次更新!
![图片[2]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002004178-1765210804-67a41c3d8a5a8759c2a187b4cdd9bb32.png)
其中,最核心也是最颠覆性的更新的就是CUDA Tile,让开发者可以用Python代替C++写内核代码。
在CUDA 13.1版本中,他们引入了一种叫做CUDA Tile的技术——一种全新的显卡代码编写方式,让整个过程更省事,更具未来适应性。
旨在通过抽象化底层硬件(如Tensor Cores)细节,降低开发门槛。可以把它想象成从手动调乐团中的每件乐器,转变为单纯指挥音乐。
![图片[3]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002005601-1765210805-4bf82ecc32c60b450330767f4c269273.png)
这一重磅更新迅速引来了芯片界传奇人物、Tenstorrent CEO Jim Keller的关注与质疑:
Jim Keller提出一个观点:这次更新是否终结了CUDA的「护城河」?
![图片[4]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002007831-1765210807-d13ef5e26c3aa7face25bfcadbd002ec.png)
他的理由是当英伟达的GPU也转向Tile瓦片结构,而其他硬件厂商一样转向瓦片架构,AI内核将更容易移植。
![图片[5]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002008420-1765210808-d5553b8a71cd6bd4e6a944a0c7efc37c.png)
但事实真是如此吗?
要想讨论清楚这件事,需要分析两个问题:
1. Jim Keller是谁?为什么他的话有分量
2. CUDA Tile此前是什么技术?CUDA护城河到底是什么
Jim Keller是当代芯片界最有代表性的CPU/SoC架构师之一,业内很多人直接叫他「传奇架构师」、「芯片圈GOAT之一」。
一句话,他是那种真正改写过CPU发展路线图的人。
凡是近二十多年x86、移动SoC、AI芯片的几次大级别翻身仗,背后大概率能看到Jim Keller的影子。
![图片[6]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002010337-1765210810-ec2e2b91b6d2beb9bc3f193c623868ec.png)
更细一点说:
- x86-64时代的奠基人之一:
作为x86-64指令集和HyperTransport的共同作者,他直接影响了今天几乎所有桌面、服务器CPU的ISA与互连方式。 - 多次带队完成「公司级」翻身战:
AMD Athlon/K8时代第一次让AMD在x86性能上正面硬刚Intel。Zen重新让AMD从「快死了」变成今天和Intel分庭抗礼。在Apple时期的A4/A5开启了iPhone自研SoC的路线,间接铺路到后面的M系列。 - 跨CPU、手机SoC、自动驾驶、AI加速器的「全栈」架构师:
很少有人像他一样,在通用CPU、移动SoC、车载SoC、AI加速器上都做过一线设计和架构决策。近几年他频繁在TSMC、三星等论坛谈未来工艺与架构,被称为「半导体设计传奇」。
所以Jim Keller的观点非常有参考性意义。
英伟达是否通过这次更新拆除了CUDA的「护城河」,还是以另一种形式将其加固?
去年,Jim Keller曾直言「CUDA是沼泽而非护城河」。
意思是CUDA的复杂性让开发者深陷其中无法脱身。
![图片[7]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002010658-1765210810-0631c42dd31ef0a4c305a254cc8f1906.png)
让我们简单回顾下CUDA的历史。
而此次CUDA Tile之前,早在2006年,英伟达发布了G80架构和CUDA,CUDA的出现将这些并行的计算单元抽象为通用的线程(Threads),从而开启了通用GPU计算(GPGPU)的黄金时代。
![图片[8]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002012336-1765210812-0edb131a135cfbf68c089c8946969d79.png)
二十年来,基于「单指令多线程」(SIMT,Single Instruction,Multiple Threads)的编程模型一直是GPU计算的「圣经」。
开发者习惯了从单个线程的视角出发,思考如何将成千上万个线程映射到数据上。
在人工智能大爆发的今天,计算的核心原子不再是单一的标量数值,而是张量(Tensor)和矩阵。
传统的SIMT模型在处理这种块状数据时,显得日益笨重且效率低下。
![图片[9]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/05/1748005937-e247941b79065a0391afc9648900dec5.png)
要理解CUDA Tile更新了什么,首先必须理解为什么旧方式行不通了。
SIMT模型的核心假设是:程序员编写一段串行代码(Kernel),GPU硬件负责将这段代码实例化为成千上万个线程。
粗暴一点理解:
想象一个包工头(GPU的控制单元)和32个搬砖工(线程,Thread)。比如要把一张图变亮,包工头只要一个命令,每个工人负责一个像素点,大家互不干扰,动作整齐划一。
这就是SIMT的精髓:虽然人多,但听同一个指令,处理各自的小数据。
这种模型在处理图像像素或简单的科学计算时非常完美,因为每个像素的计算是独立的。
然而,现代AI计算的核心是矩阵乘法。
AI运算(深度学习)的核心不再是处理单个像素,而是矩阵乘法。
![图片[10]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002014511-1765210814-a09432e3e7b0d52c5d7d95174e5d120e.png)
在硬件层面,英伟达引入了Tensor Core(张量核心)来加速矩阵运算。
Tensor Core不是一次处理一个数,而是一次处理一个16x16或更大的矩阵块。
为了用 SIMT 模型去开动Tensor Core,程序员不得不同时指挥多个线程。
在SIMT中,程序员仍在控制单个线程。为了使用Tensor Core,程序员必须指挥32个线程(一个Warp)协同工作,手动将数据从全局内存搬运到共享内存,再加载到寄存器,通过复杂的wmma(Warp-level Matrix Multiply Accumulate)指令进行同步。
开发者必须精细地管理线程间的同步和内存屏障。稍有不慎,就会导致死锁或数据竞争。
不同代际的GPU其Warp调度机制和Tensor Core指令集均有不同。
针对Hopper架构优化的极致性能代码,往往无法在Blackwell上直接运行,需要重新调优。
这就是Jim Keller所说的「沼泽」——代码里堆积了针对不同硬件特性的补丁,既不美观也难以维护。
![图片[11]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002016741-1765210816-7ef92e3a3667ec42df625c063bbf5b78.png)
这就是「SIMT力不从心」的原因:试图用管理独立个体的逻辑(SIMT),去指挥一个需要高度协同的集体动作(Tensor Core)
![图片[12]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/05/1748005946-e42712f61a4e6b0adba95f6bacb450c6.png)
CUDA 13.1引入的CUDA Tile彻底抛弃了「线程」这一基本原子,转而以「瓦片」(Tile)作为编程的核心单位。
核心概念:什么是Tile?
在CUDA Tile模型中,Tile被定义为多维数组的一个分块(Subset of arrays)。
开发者不再思考「第X号线程执行什么操作」,而是思考「如何将大矩阵切分成小块(Tiles),以及对这些块进行什么数学运算(如加法、乘法)」。
瓦片模型(左)将数据分割为块,编译器将其映射到线程。SIMT模型(右)将数据同时映射到块和线程。
![图片[13]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002018395-1765210818-f2a1861dae7b9194ea9bf0f2657674de.png)
这种转变类似于从汇编语言跳转到了高级语言:
- SIMT:手动管理寄存器分配、线程掩码、内存合并。
- Tile:声明数据块形状(Layout),声明算子(Operator),编译器负责一切。
这种编程范式在Python等语言中很常见,像NumPy这样的库允许指定矩阵等数据类型,然后用简单的代码指定并执行批量操作。
![图片[14]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002019706-1765210819-5ceca49f584fe1596d3fefa1e210a8e9.png)
在底层,正确的操作会自动执行,计算过程完全透明地继续进行。
![图片[12]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/05/1748005946-e42712f61a4e6b0adba95f6bacb450c6.png)
这次更新不仅仅是语法糖,英伟达引入了一套全新的中间表示——CUDA Tile IR(Intermediate Representation)。
CUDA Tile IR引入了一套虚拟指令集,使得开发者能够以瓦片操作的形式对硬件进行原生编程。
![图片[16]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002020496-1765210820-a50b1b0d87212f7716c31b81fba163ce.png)
开发者可以编写更高层级的代码,这些代码只需极少改动即可在多个世代的GPU上高效执行。
通过这种对比可以看出,CUDA Tile实际上是英伟达对AI编程范式的一次「降维打击」——将复杂的硬件细节封装在编译器内部,只暴露算法逻辑。
![图片[17]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002022533-1765210822-c75101395b1310bba953404e7467d55f.png)
在过去的CUDA版本中,C++始终是一等公民。
然而在CUDA 13.1中,英伟达极其罕见地首发推出了cuTile Python,而C++支持则被延后。
这一策略转变深刻反映了AI开发生态的现状:Python已经成为AI的通用语言。
在此之前,AI研究员如果想优化一个算子,不得不离开Python环境,学习复杂的C++和CUDA。
cuTile的出现旨在让开发者留在Python环境中即可编写高性能Kernel。
根据英伟达的技术博客,我们可以通过一个向量加法的例子来感受cuTile的变革。
传统SIMT方式(伪代码概念):
![图片[18]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002022285-1765210822-8d8e7d0abfacd2180655309d389e64f5.png)
cuTile Python方式:
![图片[19]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002022961-1765210822-812b34d983708d311392ee0f39537da3.png)
在这个例子中,开发者不需要知道GPU有多少个核心,也不需要知道Warp是什么。
ct.load和ct.store在底层可能会调用Blackwell架构最新的异步内存复制引擎,但这对开发者是透明的。
![图片[9]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/05/1748005937-e247941b79065a0391afc9648900dec5.png)
要回答「是否终结了护城河」,必须引入另一个变量:OpenAI Triton。
Triton是OpenAI为了摆脱对英伟达闭源库(如cuDNN)的依赖而开发的开源语言。
Triton的核心理念与CUDA Tile惊人的一致:基于块(Block-based)的编程。
![图片[21]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002023997-1765210823-78a38adc714a1ca910b442e35919a478.png)
这或许是CUDA此次更新的最大针对者。
![图片[22]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002025983-1765210825-bbb7941247cdcb1997912c6fae77d393.png)
分析了这么多,英伟达此次更新是否终结了CUDA的护城河,转向瓦片架构是否使AI内核更易移植?
在社区中,更多的声音指向如下结论。
![图片[23]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002026651-1765210826-7b1df33054f345f809b14653002786a6.png)
英伟达代际间的移植性:这是CUDA Tile主要解决的问题。
从Hopper移植到Blackwell,甚至未来的Rubin,使用TileIR编写的代码将无缝运行且自动优化。
这一点上,移植性极大增强。
跨厂商的移植性:这是行业希望解决的问题(比如从英伟达移植到AMD MI300)。
这一点上,CUDA Tile几乎没有任何帮助,甚至让移植变得更难。
![图片[24]-英伟达亲手终结CUDA「护城河」?传奇芯片架构师引发争议-AI Express News](https://www.aiexpress.news/wp-content/uploads/2025/12/20251209002026835-1765210826-cde34f5d519545e38d0ef688ba2a93e5.png)
Jim Keller本人一点不喜欢CUDA,称CUDA为「沼泽」,意指其复杂性让开发者深陷其中无法脱身。
综上所述,英伟达并没有拆除护城河,而是将护城河的墙修得更漂亮、更易于攀爬(进入),但在墙内构建了更舒适的迷宫(Tile IR生态),使得用户更不愿意离开。
瓦片架构使AI内核在英伟达硬件之间极易移植,但在不同厂商硬件之间更难移植。
Jim Keller也许是对的,CUDA曾经是沼泽。
但英伟达刚刚在沼泽上铺设了一条高速公路(CUDA Tile IR)。
而这条路,目前只通向英伟达的城堡。


















暂无评论内容