cuTile Python
搜索文档
英伟达自毁CUDA门槛,15行Python写GPU内核,性能匹敌200行C++
36氪· 2025-12-08 07:23
CUDA 13.1更新核心内容 - 英伟达发布CUDA 13.1,官方定性为自2006年诞生以来最大的进步[1] - 核心变化是推出全新的CUDA Tile编程模型,让开发者可以用Python编写GPU内核[1] - 一个15行的Python内核性能可以媲美200行手动优化的CUDA C++代码[1][13] CUDA Tile编程模型的技术革新 - 编程范式从传统的SIMT(单指令多线程)模型转变为基于Tile(瓦片)的模型[4][5] - 开发者无需手动管理线程索引、线程块等底层细节,只需将数据组织成Tile并定义运算,编译器和运行时会自动完成硬件映射[4][5] - 此举将GPU编程门槛从“HPC专家”降低到“会写Python的数据科学家”[8] 支撑新模型的核心组件 - CUDA Tile IR是一套全新的虚拟指令集,在高级语言和硬件之间增加抽象层,确保基于Tile编写的代码能在不同代际的GPU上兼容运行[8] - cuTile Python是面向开发者的接口,允许直接用Python编写GPU内核[8] 针对Blackwell架构的性能优化 - cuBLAS引入了FP64和FP32精度在Tensor Core上的仿真功能[10] - 新增的Grouped GEMM API在MoE(混合专家模型)场景下能实现高达4倍加速[10] - cuSOLVER的批处理特征分解在Blackwell RTX PRO 6000上相比L40S实现了约2倍的性能提升[10] - 开发者工具Nsight Compute新增了对CUDA Tile内核的性能分析支持,可将性能指标映射回cuTile Python源代码[10] - 目前CUDA Tile仅支持Blackwell架构(计算能力10.x和12.x),开发重点集中在AI算法,未来会扩展到更多架构并推出C++实现[10] 行业影响与“护城河”争议 - 芯片设计传奇人物Jim Keller质疑,Tile模型可能使AI内核更容易移植到其他硬件上,从而削弱英伟达CUDA的“护城河”[3][11] - Tile编程模型并非英伟达独有,AMD、Intel等厂商的硬件在底层架构上同样可以支持基于Tile的编程抽象[11] - 新模型提高了代码抽象层次,理论上使同一套算法逻辑更容易适配到其他支持Tile编程的硬件[11] - 但英伟达通过CUDA Tile IR提供的跨代兼容性,主要服务于其自家GPU平台间的无缝迁移,移植到竞争对手平台仍需重写[12] 对开发者生态的潜在影响 - GPU编程门槛大幅降低,大量数据科学家和AI研究者可直接上手编写高性能GPU代码,无需依赖稀缺的HPC专家进行深度优化[12][13]
英伟达自毁CUDA门槛!15行Python写GPU内核,性能匹敌200行C++
量子位· 2025-12-08 04:00
文章核心观点 - 英伟达发布CUDA 13.1,推出全新的CUDA Tile编程模型,这是CUDA自2006年诞生以来最大的进步,旨在彻底改变并大幅降低GPU编程的门槛[1][2] - 新模型让开发者可以用Python编写GPU内核,15行Python代码性能即可媲美200行手动优化的CUDA C++代码,使得更多数据科学家和AI研究者能直接上手高性能GPU编程[3][22] - 行业专家Jim Keller认为,这种提高抽象层次、降低硬件依赖的编程范式,可能削弱英伟达以CUDA生态构建的护城河,使得AI内核更容易移植到其他厂商的硬件平台[5][15][17][18] CUDA Tile编程模型的革新 - 传统CUDA采用SIMT(单指令多线程)模型,开发者需手动管理线程索引、线程块、共享内存布局和线程同步等复杂细节,对开发者经验要求极高[6][7] - CUDA Tile模型彻底改变玩法:开发者将数据组织成Tile(瓦片),并定义在Tile上的运算,而如何将运算映射到GPU的线程、Warp和Tensor Core等硬件细节则由编译器和运行时自动处理[8] - 新模型类比NumPy之于Python,通过提高抽象层次简化了编程[9] 新模型的核心技术组件 - **CUDA Tile IR**:一套全新的虚拟指令集,在高级语言和硬件之间增加抽象层,确保基于Tile编写的代码能在不同代际的GPU上运行,包括当前的Blackwell及未来架构,提供跨代兼容性[11][18] - **cuTile Python**:面向开发者的接口,允许直接用Python编写GPU内核,将编程门槛从“HPC专家”大幅降低至“会写Python的数据科学家”[12] 性能优化与当前支持范围 - 目前CUDA Tile仅支持Blackwell架构(计算能力10.x和12.x),开发重点集中在AI算法上,公司表示未来会扩展到更多架构并推出C++实现[14] - 更新带来一系列面向Blackwell的性能优化:cuBLAS引入FP64和FP32精度在Tensor Core上的仿真功能;新增的Grouped GEMM API在MoE(混合专家模型)场景下能实现高达4倍加速;cuSOLVER的批处理特征分解在Blackwell RTX PRO 6000上相比L40S实现了约2倍的性能提升[16] - 开发者工具Nsight Compute新增对CUDA Tile内核的性能分析支持,可将性能指标直接映射回cuTile Python源代码[16] 对行业竞争格局的潜在影响 - Tile编程模型并非英伟达独有,AMD、Intel及其他AI芯片厂商的硬件在底层架构上同样可以支持基于Tile的编程抽象[15] - 过去CUDA的SIMT模型与英伟达硬件深度绑定,代码难以移植到其他硬件。而Tile模型的高抽象层次使得同一套算法逻辑理论上更容易适配到其他支持Tile编程的硬件上,可能降低CUDA生态的锁定效应[15][17] - 专家Jim Keller指出,这可能导致“AI内核将更容易移植”[18] - 然而,英伟达的CUDA Tile IR提供的跨代兼容性主要服务于其自身平台,开发者代码更容易在英伟达不同代GPU(如从Blackwell到下一代)间迁移,但要移植到AMD或Intel平台仍需重写[19][20] 对开发者生态的影响 - GPU编程门槛大幅降低,从需要稀缺的、能熟练驾驭CUDA并优化至跑满Tensor Core的专家,扩展到广大会写Python的数据科学家和AI研究者[21][22][23] - 公司表示,一个15行的Python内核性能可以媲美200行手动优化的CUDA C++代码,打通了高性能计算与更广泛开发者群体之间的瓶颈[22]