2026/6/23 9:49:45
网站建设
项目流程
佛山市住房和建设局网站首页,三合一网站指的是什么意思,建交易网站需要多少钱,工程建设教育网来源#xff1a;新智元英伟达的CUDA#xff0c;刚刚宣布了该平台诞生20年来最重大的一次更新#xff01;其中#xff0c;最核心也是最颠覆性的更新的就是CUDA Tile#xff0c;让开发者可以用Python代替C写内核代码。在CUDA 13.1版本中#xff0c;他们引入了一种叫做CUDA …来源新智元英伟达的CUDA刚刚宣布了该平台诞生20年来最重大的一次更新其中最核心也是最颠覆性的更新的就是CUDATile让开发者可以用Python代替C写内核代码。在CUDA 13.1版本中他们引入了一种叫做CUDA Tile的技术——一种全新的显卡代码编写方式让整个过程更省事更具未来适应性。旨在通过抽象化底层硬件如Tensor Cores细节降低开发门槛。可以把它想象成从手动调乐团中的每件乐器转变为单纯指挥音乐。这一重磅更新迅速引来了芯片界传奇人物、Tenstorrent CEOJim Keller的关注与质疑Jim Keller提出一个观点这次更新是否终结了CUDA的「护城河」他的理由是当英伟达的GPU也转向Tile瓦片结构而其他硬件厂商一样转向瓦片架构AI内核将更容易移植。但事实真是如此吗要想讨论清楚这件事需要分析两个问题1. Jim Keller是谁为什么他的话有分量2. CUDA Tile此前是什么技术CUDA护城河到底是什么Jim Keller是当代芯片界最有代表性的CPU/SoC架构师之一业内很多人直接叫他「传奇架构师」、「芯片圈GOAT之一」。一句话他是那种真正改写过CPU发展路线图的人。凡是近二十多年x86、移动SoC、AI芯片的几次大级别翻身仗背后大概率能看到Jim Keller的影子。更细一点说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的复杂性让开发者深陷其中无法脱身。让我们简单回顾下CUDA的历史。而此次CUDA Tile之前早在2006年英伟达发布了G80架构和CUDACUDA的出现将这些并行的计算单元抽象为通用的线程Threads从而开启了通用GPU计算GPGPU的黄金时代。二十年来基于「单指令多线程」SIMTSingle InstructionMultiple Threads的编程模型一直是GPU计算的「圣经」。开发者习惯了从单个线程的视角出发思考如何将成千上万个线程映射到数据上。在人工智能大爆发的今天计算的核心原子不再是单一的标量数值而是张量Tensor和矩阵。传统的SIMT模型在处理这种块状数据时显得日益笨重且效率低下。技术的重构CUDA Tile与SIMT的范式断裂要理解CUDA Tile更新了什么首先必须理解为什么旧方式行不通了。SIMT模型的核心假设是程序员编写一段串行代码KernelGPU硬件负责将这段代码实例化为成千上万个线程。粗暴一点理解想象一个包工头GPU的控制单元和32个搬砖工线程Thread。比如要把一张图变亮包工头只要一个命令每个工人负责一个像素点大家互不干扰动作整齐划一。这就是SIMT的精髓虽然人多但听同一个指令处理各自的小数据。这种模型在处理图像像素或简单的科学计算时非常完美因为每个像素的计算是独立的。然而现代AI计算的核心是矩阵乘法。AI运算深度学习的核心不再是处理单个像素而是矩阵乘法。在硬件层面英伟达引入了Tensor Core张量核心来加速矩阵运算。Tensor Core不是一次处理一个数而是一次处理一个16x16或更大的矩阵块。为了用 SIMT 模型去开动Tensor Core程序员不得不同时指挥多个线程。在SIMT中程序员仍在控制单个线程。为了使用Tensor Core程序员必须指挥32个线程一个Warp协同工作手动将数据从全局内存搬运到共享内存再加载到寄存器通过复杂的wmmaWarp-level Matrix Multiply Accumulate指令进行同步。开发者必须精细地管理线程间的同步和内存屏障。稍有不慎就会导致死锁或数据竞争。不同代际的GPU其Warp调度机制和Tensor Core指令集均有不同。针对Hopper架构优化的极致性能代码往往无法在Blackwell上直接运行需要重新调优。这就是Jim Keller所说的「沼泽」——代码里堆积了针对不同硬件特性的补丁既不美观也难以维护。这就是「SIMT力不从心」的原因试图用管理独立个体的逻辑SIMT去指挥一个需要高度协同的集体动作Tensor CoreCUDA Tile瓦片化计算的诞生CUDA 13.1引入的CUDA Tile彻底抛弃了「线程」这一基本原子转而以「瓦片」Tile作为编程的核心单位。核心概念什么是Tile在CUDA Tile模型中Tile被定义为多维数组的一个分块Subset of arrays。开发者不再思考「第X号线程执行什么操作」而是思考「如何将大矩阵切分成小块Tiles以及对这些块进行什么数学运算如加法、乘法」。瓦片模型左将数据分割为块编译器将其映射到线程。SIMT模型右将数据同时映射到块和线程。这种转变类似于从汇编语言跳转到了高级语言SIMT手动管理寄存器分配、线程掩码、内存合并。Tile声明数据块形状Layout声明算子Operator编译器负责一切。这种编程范式在Python等语言中很常见像NumPy这样的库允许指定矩阵等数据类型然后用简单的代码指定并执行批量操作。在底层正确的操作会自动执行计算过程完全透明地继续进行。架构支撑CUDA Tile IR这次更新不仅仅是语法糖英伟达引入了一套全新的中间表示——CUDATile IRIntermediate Representation。CUDA Tile IR引入了一套虚拟指令集使得开发者能够以瓦片操作的形式对硬件进行原生编程。开发者可以编写更高层级的代码这些代码只需极少改动即可在多个世代的GPU上高效执行。通过这种对比可以看出CUDA Tile实际上是英伟达对AI编程范式的一次「降维打击」——将复杂的硬件细节封装在编译器内部只暴露算法逻辑。在过去的CUDA版本中C始终是一等公民。然而在CUDA 13.1中英伟达极其罕见地首发推出了cuTile Python而C支持则被延后。这一策略转变深刻反映了AI开发生态的现状Python已经成为AI的通用语言。在此之前AI研究员如果想优化一个算子不得不离开Python环境学习复杂的C和CUDA。cuTile的出现旨在让开发者留在Python环境中即可编写高性能Kernel。根据英伟达的技术博客我们可以通过一个向量加法的例子来感受cuTile的变革。传统SIMT方式伪代码概念cuTile Python方式在这个例子中开发者不需要知道GPU有多少个核心也不需要知道Warp是什么。ct.load和ct.store在底层可能会调用Blackwell架构最新的异步内存复制引擎但这对开发者是透明的。CUDA Tile对抗的是谁要回答「是否终结了护城河」必须引入另一个变量OpenAI Triton。Triton是OpenAI为了摆脱对英伟达闭源库如cuDNN的依赖而开发的开源语言。Triton的核心理念与CUDA Tile惊人的一致基于块Block-based的编程。这或许是CUDA此次更新的最大针对者。分析了这么多英伟达此次更新是否终结了CUDA的护城河转向瓦片架构是否使AI内核更易移植在社区中更多的声音指向如下结论。英伟达代际间的移植性这是CUDA Tile主要解决的问题。从Hopper移植到Blackwell甚至未来的Rubin使用TileIR编写的代码将无缝运行且自动优化。这一点上移植性极大增强。跨厂商的移植性这是行业希望解决的问题比如从英伟达移植到AMD MI300。这一点上CUDATile几乎没有任何帮助甚至让移植变得更难。Jim Keller本人一点不喜欢CUDA称CUDA为「沼泽」意指其复杂性让开发者深陷其中无法脱身。综上所述英伟达并没有拆除护城河而是将护城河的墙修得更漂亮、更易于攀爬进入但在墙内构建了更舒适的迷宫Tile IR生态使得用户更不愿意离开。瓦片架构使AI内核在英伟达硬件之间极易移植但在不同厂商硬件之间更难移植。Jim Keller也许是对的CUDA曾经是沼泽。但英伟达刚刚在沼泽上铺设了一条高速公路CUDA Tile IR。而这条路目前只通向英伟达的城堡。参考资料https://x.com/jimkxa/status/1997732089480024498https://developer.nvidia.com/blog/focus-on-your-algorithm-nvidia-cuda-tile-handles-the-hardware/https://developer.nvidia.com/blog/nvidia-cuda-13-1-powers-next-gen-gpu-programming-with-nvidia-cuda-tile-and-performance-gainshttps://developer.nvidia.com/blog/simplify-gpu-programming-with-nvidia-cuda-tile-in-pythonhttps://www.tomshardware.com/tech-industry/artificial-intelligence/jim-keller-criticizes-nvidias-cuda-and-x86-cudas-a-swamp-not-a-moat-x86-was-a-swamp-too推荐阅读MIT新晋副教授何恺明《计算机视觉进展》课程附Slides与资料下载西电IEEE Fellow团队出品最新《Transformer视觉表征学习全面综述》如何做好科研这份《科研阅读、写作与报告》PPT手把手教你做科研奖金675万3位科学家斩获“中国诺贝尔奖”最新 2022「深度学习视觉注意力 」研究概述包括50种注意力机制和方法【重磅】斯坦福李飞飞《注意力与Transformer》总结84页ppt开放下载2021李宏毅老师最新40节机器学习课程附课件视频资料欢迎大家加入DLer-大模型技术交流群长按识别邀请您进群