华为开源CANN,再次释放“昇腾转向”信号

对抗英伟达?成为英伟达。

日前,华为正式宣布开源其AI计算架构CANN,并提出要打造"中国自己的CUDA"。结合此前"昇腾NPU改道GPGPU"的传闻,此举不仅进一步释放出昇腾战略转向信号,同时也描摹出一幅"全面对标英伟达"的崭新图景。

从底层架构变迁到上层生态重建,一夕之间换了新天。今天的昇腾,前路格外引人注目。

官宣:CANN开源号召共建昇腾生态

8月5日,华为轮值董事长徐直军在昇腾计算产业发展峰会上宣布,华为昇腾硬件使能CANN全面开源开放,Mind系列应用使能套件及工具链全面开源。

官宣消息显示,这一举措主要为了支持用户自主的深度挖潜和自定义开发,加速广大开发者的创新步伐,让昇腾更好用、更易用。"华为AI战略的核心是算力,并坚持昇腾硬件变现。"

据悉,CANN全称为"神经网络异构计算架构",其直接对标对象正是英伟达的CUDA。对开发者来说,CANN是把上层AI训练框架(如PyTorch、TensorFlow、MindSpore)和底层昇腾芯片连接起来的桥梁,让开发者不用关心芯片细节就能调用底层算力。

当然,相较于CUDA,CANN在开发者规模、架构成熟度和生态完善度方面,均存在差距。这在很大程度上影响到昇腾芯片的易用性,用户在生态路线选择上更倾向于前者。

华为方面表示,公司与各界伙伴探讨了如何更好地构建昇腾生态,并发起《CANN开源开放生态共建倡议》,以凝聚产业力量,共探AI边界,共建昇腾生态。

显然,华为希望通过开源CANN,吸引更多开发者扩大其生态圈,拉近与CUDA的差距,并以此弥补昇腾产品早期易用性不足的问题。

值得一提的是,业内此前就传出"昇腾NPU转向GPGPU"的消息,并被视为国产ASIC芯片向主流技术路线靠拢的信号。此次CANN开源融入主流生态,无疑再次验证了这一点。

热议:NPU留下的坑没那么好填?

面对开源CANN发出的生态召集令,业界给出的反应值得玩味。部分观点颇为尖锐,认为昇腾NPU变道后会导致原有软件栈无法维系更新,这时候开源CANN吸纳开发者"惠而不费"。

有人将"昇腾转型GPGPU"和"CANN开源"合并探讨。"NPU走不下去了,原本基于NPU搞编译器的组就要转到基于GPGPU搞编译器,那原来的CANN内部没精力优先级维护了,正好放出来给'冤大头'们用。"

另外,也有观点指出,开源是好事,问题在于NPU本来就没有GPU好编程。"全国不知道能不能找得出来一百个写昇腾算子写得很六的,因此开源社区能对昇腾的生态做出多少贡献我还是存疑。搞不好全是'华子'自己的员工在上面commit。"

业内对CANN的"戒心",源于昇腾NPU一贯以来的封闭特点。

根据公开资料,NPU与GPGPU架构存在根本技术差异,在场景应用上的定位也完全不同。NPU若从此前的全定制化路线转向通用GPGPU,新架构体系几乎无法复用之前的软件栈(包括基础环境、优化的核心算子、编译器等)。

"如果大量人员投入新架构研发,原有的NPU软件栈更新可能会陷入停滞。"某业内人士表示,这会导致后续的新模型或算法无法有效支持,不能充分发挥已采购芯片的价值,造成客户投资亏损。"这时候引导开发者进驻CANN,相当于靠大家一起去'填坑'。"

正值昇腾架构更迭之际,内有NPU架构生态问题悬而未决,外有英伟达和国产GPGPU"珠玉在前"。也有部分开发者对此时开源的CANN态度十分保守。

前瞻:昇腾转向GPGPU或成定局

尽管CANN生态前景存在不确定性,但昇腾转向GPGPU几乎已成定局。种种迹象表明,ASIC芯片并不适用于主流场景需求,NPU架构路线甚至被一些媒体定义为"战略方向性失误"。

有专业人士分析,NPU和GPGPU相比,最大的问题在于软件适配成本。"由于整个深度学习生态都建立在CUDA之上,最新的算法和尝试也都基于英伟达的卡实现。将这些代码迁移到NPU上,需要大量的时间和开发成本。"

据介绍,NPU和GPU本身的差异,导致需要特定的范式才能发挥出NPU全部的功能。比如gpu kernel需要用ascend-c定制,cpu launch kernel怕打断、小内存访问低效等。

华为基于历史惯性,一直力推自己的软件栈(如Mindspeed-LLM、Mindspeed-RL、MindIE)。可惜具体到项目落地中效果并不理想,比如今年爆火的 DeepSeek-GRPO,想要在NPU上进行 GRPO训练,需要等待华为投入人力适配优化,根本跟不上市场节奏。

上述人士指出,从1月底GRPO 爆火,2月初英伟达就已经有了社区的复现方案,到3月份verl都已经基本成熟。而昇腾卡直到6月份,grpo还处于"凑合能用"的状态。如果要跑其他强化学习算法(如DAPO、PPO等),在昇腾卡上还需要继续等待。

相对来说,GPGPU提供了另一种完全不同的思路------根据 NVIDIA GPU 公开(解密)的接口制造兼容 CUDA (PTX) 的硬件,然后做好编译器,提供 cublus、cudnn 等未开源的厂商定制库。上层的软件完全复用cuda的生态(Megatron-LM、vllm、verl、pytorch、flash-attention等)。

依托这种方案,用户进行精度对齐和性能对齐变得非常简便。由于接口完全一致,还可以使用自动化的程序找到精度和性能异常的bug,并进行修复,极大地降低了开发成本。

"昇腾战略转向的目的正在于此",业内分析,华为需要借助GPGPU重新适应AI时代需求趋势。而CANN向开放者敞开怀抱,更大的可能是为其"换道超车"提供更多燃料。"问题在于,接下来会有多少用户登上这驾战车,更换架构引擎后的昇腾又需要陪跑多少里程?"

作者:蒜力一姐

声明:本文来源于网络,仅代表作者个人观点,不代表"技术领导力"立场

相关推荐
我在人间贩卖青春4 天前
汇编之伪指令
汇编·伪指令
我在人间贩卖青春5 天前
汇编之伪操作
汇编·伪操作
济6175 天前
FreeRTOS基础--堆栈概念与汇编指令实战解析
汇编·嵌入式·freertos
myloveasuka5 天前
汇编TEST指令
汇编
我在人间贩卖青春5 天前
汇编编程驱动LED
汇编·点亮led
我在人间贩卖青春5 天前
汇编和C编程相互调用
汇编·混合编程
myloveasuka5 天前
寻址方式笔记
汇编·笔记·计算机组成原理
请输入蚊子6 天前
《操作系统真象还原》 第六章 完善内核
linux·汇编·操作系统·bochs·操作系统真像还原
myloveasuka6 天前
指令格式举例
汇编·笔记·计算机组成原理
我在人间贩卖青春6 天前
汇编之分支跳转指令
汇编·arm·分支跳转