马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
ROCm缺失原生Python支持
过去12个月,NVIDIA将"为CUDA生态构建一流Python体验"列为最高优先级,黄仁勋亲自督导这一战略。早在2010年代,黄仁勋便洞见投资CUDA软件对AI发展的长远价值;2025年其核心认知进一步升级:AI的实质语言是Python,将现有C++ CUDA技术栈全面接入Python生态将创造巨大回报。今年GTC大会上,NVIDIA发布数十个Python库——从nvmath-python等GEMM库到cuda.binding cuBLASLt绑定,再到cuTile、Warp、Triton、CuTe等内核DSL(领域特定语言)。相比之下,ROCm的Python支持远未达到同等水平——NVIDIA在技术栈各层级均提供Python接口,AMD却全面缺失。 通过CUDA原生Python支持,开发者能以更短时间达成同等性能,或投入同等时间实现更优性能。CUDA Python实质重构了"应用性能与优化耗时"的帕累托前沿曲线。 以实际场景为例:以往开发者若需调用cuBLASLt实现自定义后处理,必须编写C++扩展并通过Pybind对接Python,流程复杂且增加间接层。如今借助nvmath-python,相同任务仅需3行Python代码即可自动优化,耗时从30分钟骤减至2分钟。这些库并非简单封装,而是以性能为核心的原生实现。 另一案例是cuda.cooperative设备端库:开发者现可通过Python接口直接调用CUDA预置算法(如块规约),此类性能此前仅能通过C++ CUB库实现。 对于需要1:1 Python绑定的用户,NVIDIA还提供cuda.binding与cuda.core选项。 AMD近期虽推出对标cuDNN-python的AITER Python接口,并支持OpenAI Triton内核编写,但在技术栈其他层级仍无对应产品,更遑论构建原生Python体验。 Python GPU内核DSL生态 GTC 2025期间,NVIDIA除整体Python CUDA库外,还发布Python内核DSL——CuTe Python 4.0、cuTile Python及Warp,叠加既有Triton支持形成五大DSL矩阵(含未公开的内部项目)。反观AMD在此领域几无建树,致使NVIDIA各团队竟在自家DSL间展开内部竞争。 Python内核DSL按抽象单元可分为两类:基于线程行为的线程级语言与基于矩阵分块操作的图块级语言。CuTe Python作为NVIDIA推荐的线程级DSL,提供底层原语与cuTe张量抽象,其API设计沿袭CUTLASS并拥有丰富文档。AMD虽在C++层有类似产品CK(Composable Kernel),但文档匮乏且无原子层Python接口开发计划,更缺乏线程级DSL支持。 针对图块/SIMT混合编程,NVIDIA推出cuTile Python DSL,虽非极致性能(98%峰值)但开发效率提升10倍。AMD在此领域同样空白。Triton开创的张量核时代图块编程模型持续获NVIDIA支持,而AMD的Triton性能离硬件极限仍有较大差距。
在微分仿真领域,NVIDIA发布的Warp Python DSL兼具图块/SIMT特性与自动微分能力,显著简化仿真场景的反向传播开发。AMD亦无同类产品。 Triton在张量核时代普及了图块编程模型,其有效抽象层位于图块(Tile)层面而非单线程层面。NVIDIA将继续全力支持Triton的图块型DSL,同时叠加对cuTile图块型DSL的支持 针对微分仿真AI,NVIDIA发布了Warp Python DSL。Warp是一种融合图块与SIMT(单指令多线程)的混合编程模型,适用于编写仿真与几何处理程序。相较于cuTile,Warp的核心优势在于其自动微分能力——该特性在仿真场景中可自动生成反向传播过程,极具实用价值。AMD目前同样缺乏此类支持混合SIMT/图块架构且具备微分能力的Python内核DSL。 除新发布的Python DSL外,NVIDIA仍全面支持OpenAI Triton Python DSL。Triton的主要维护方OpenAI以构建安全通用人工智能(AGI)为使命。在2025年SemiAnalysis Blackwell PTX黑客松上,OpenAI Triton首席维护者Phil Tilet甚至直言"AGI不会源自矩阵乘法提速10%",这决定了Triton的功能优先级导向。因此,若AI芯片厂商追求极致性能,仅支持Triton并非最佳选择。我们认为厂商应在支持Triton的同时,充分发展其他Python DSL生态。 这种定位差异导致目标错位:OpenAI Triton并不追求绝对硬件峰值性能,而NVIDIA、MTIA、MAIA、AMD等AI芯片厂商则极度重视内核语言的性能极限达成能力。目前NVIDIA的Triton性能尚未接近硬件理论极限,AMD的Triton性能差距更为显著。AMD亟需加大招聘与投入,在支持/创新其他Python内核DSL的同时,大幅提升Triton性能表现。 AMD虽推出实验性内核语言Wave(采用传统warp编程模型),但其仍处早期阶段且未获公司全力支持。这与cuTile、CuTe、Warp形成鲜明对比——这些DSL均得到黄仁勋与NVIDIA的全面背书,其资源正全力倾注于CUDA Python生态建设。更关键的是,随着行业硬件转向基于warp-group的MMA架构及双CTA MMA设计(而非传统warp级MMA),基于warp的DSL能否提供正确的抽象层存在疑问。
|