一位从事算法开发的朋友,向我们讲述了他亲身经历的故事:
他所在的团队,被领导安排了一个任务——将已有的图像识别模型从CUDA迁移到昇腾平台上。
最开始,他以为会是个“大工程”,时常在论坛里看到缺少算子、工具链不够完善的讨论,想要在昇腾平台上开发AI应用,等于是在啃一块硬骨头,连基础的算子都要自己写。
结果竟然比想象中顺利许多。
大部分主流算子已能在CANN的算子库中找到,只有少数需要通过算子开发套件自定义实现。官方提供的工具链谈不上成熟,整体来看已经比较完善。最终只做少量修改,就跑通了模型。
一位开发者的际遇,其实是整个生态的缩影。
很长一段时间里,国内计算生态的“贫瘠”可谓深入人心,“缺算子、缺文档、缺工具”等问题被频频诟病。
现在,情况正在悄然改变。昇腾CANN的算子库、工具链的不断丰富,让开发者的迁移体验越来越顺畅,论坛里的因为“跑不通”产生的“吐槽帖”,渐渐变成了“怎么跑得更快”的“经验贴”。
中国的计算产业,终于走出了至暗时刻。
回顾计算产业的发展史,从不缺少“性能耀眼”的产品,有的被写进了“技术史”,却没能在产业中占据一席之地。
典型的例子就是Intel的Itanium。
时间回到上世纪90年代末,在x86上一家独大的Intel清楚地意识到:x86架构的指令集复杂度高,遗留兼容性拖累了架构演进。
于是Intel选择和HP联手押注EPIC架构,把并行性、指令调度等由“硬件猜”的事交给编译器静态完成,CPU本身可以更简单、更高效地执行,相当于“把硬件未来几十年的负担一次性解决”。
遗憾的是,Intel和HP都低估了构建软件生态的成本。
当时Linux和Windows均已绑定了x86,企业没有动力投入到新架构,开发者想要在Itanium上运行应用,必须重写或移植,导致积极性严重不足。被寄予厚望的Itanium,无奈沦为了“昂贵的试验品”。
和Intel形成鲜明对比的,是英伟达CUDA的崛起。
2006年的GPU市场,还是英伟达和ATI分庭抗礼的局面,就在AMD斥巨资并购ATI时,英伟达默默做了别人不愿做的事:提供类似C语言的编程接口,允许开发者直接把GPU当并行处理器使用,即使在市场不看好的情况下,仍然十几年如一日地投资开发者生态,完善工具链、文档和社区。
当深度学习浪潮到来时,CUDA已然成为事实上的标准,成了任何想做AI的团队都难以跳过的选项。
这些成功或失败的案例背后,藏着计算产业的现实:一些产品之所以输掉了未来,不是因为性能不够强,而是没能跨过生态这道坎,没能打动千万计的开发者。技术决定起点,而生态决定了终局。
既然生态这么难,连Intel这样的巨头,当年也没能另起炉灶,为什么还要“冒险”孵化自己的计算生态呢?
答案很残酷,这不是选择题,而是生死题。
以AI应用为例,国内外有不少计算企业想要在生态上走捷径,即兼容CUDA。简单来说就是在CUDA的API和芯片的底层驱动间加一个“翻译器”,帮助开发者快速跑通已有的CUDA应用,最大程度降低开发者的门槛。
诸如此类的做法无可厚非。
早期靠“兼容”解决“能用”的问题,接下来围绕卷积、矩阵乘法、KV Cache等重点算子做深度优化,一步步实现“好用”,长期则试图培育基于自身软硬件的原生生态,逐渐摆脱对CUDA的绑定。
只是CUDA并非开源,而且更新非常频繁,第三方产品很难通过指令翻译的方式实现完美兼容。在大多数通用AI训练和推理场景下,兼容路径难以匹敌英伟达的性能和能效。
况且英伟达一旦感受到了竞争压力,还可以通过“扎紧生态藩篱”的形式,倒逼开发者“用脚投票”。就像2024年初的一幕,英伟达宣布禁止在其他GPU上通过转译层运行CUDA软件,给不少厂商敲响了警钟。
计算生态的“有”与“无”,决定着一整个产业链的生死存亡。
如果是“无”,始终存在被卡脖子的风险,意味着关键软件无法运行、关键应用无法落地,被锁死在别人搭好的舞台上。
哪怕只是“有”,即使暂时不够好用、工具链不够完善,也意味着可以逐步打磨、可以不断迭代,避免彻底出局的风险。
业界不少芯片厂商选择兼容CUDA生态时,华为副董事长、轮值董事长徐直军却坦言:“如果我们投如此多的钱兼容CUDA生态,而且还是CUDA过去的版本,哪天CUDA生态兼容不了了怎么办?”
所以在计算生态的抉择上,华为做了一个很多人不理解的决定——做属于自己的CANN生态。
2025年8月初的昇腾计算产业发展峰会上,华为宣布“CANN全面开源开放,Mind系列应用使能套件及工具链全面开源,支持用户自主的深度挖潜和自定义开发,加速广大开发者的创新步伐,让昇腾更好用、更易用。”
在英伟达的封闭生态遭遇“信任危机”时,华为站在了历史正确的一边——加速开源开放。
CANN的全面开源开放,意味着开发者可以深入到图优化、算子融合、内存调度等底层机制,不仅可以调用,还能看到底层实现逻辑,甚至在必要时改造、优化,进行二次创新。
Mind系列工具链的开源,让模型移植、调试、Profiling的全过程“白盒化”,开发者不再局限于现成的工具和框架,可以根据自身需求进行深度定制和优化,实现更高的性能和效率。
CANN还进一步兼容了vLLM、SGLang、PyTorch、Tensorflow等主流框架,开发者将应用迁移到昇腾平台时,无需对原有代码进行大规模修改,只需做少量适配乃至“零改动”。
故事并未就此结束。
9月18日的华为HC 2025上,华为的硬件和超节点架构占据了多家媒体的头条,其实还有另一个影响可能更深远的动作——华为宣布将开放灵衢2.0技术规范,全面开放超节点技术,包括开放超节点参考架构、开放超节点基础硬件、开源操作系统灵衢组件等等。
无论是昇腾384超节点,还是支持8192张卡的Atlas 950超节点,都是基于灵衢互联协议开创的。底层技术协议和整套超节点技术的开放,意味着产业界可以基于技术规范自研相关产品或部件,自主设计基于灵衢的各种产品,实现真正意义上的AI算力自由。
个中逻辑并不难解释。
只有走开源路线,降低产业参与门槛,才有更多的企业从中受益,才会让更多的开发者敢于All in。华为通过硬件开放、软件开源主动拆掉了最核心的“护城河“,用“技术让利”换取“生态复利”,吸引全球的开发者参与进来,促进产业链上下游协同,形成良性的正反馈循环。
一组不应该被忽略的数据是:CANN全面开源开放48小时内,昇腾开发者社区新增注册用户就超过了10万,Gitee平台上的CANN代码库收获了5.7万星标,向外界宣示了中国计算生态的号召力和凝聚力。
客观评价CANN代表的国产计算生态,必须承认仍处于“追赶”阶段,在成熟度、应用广度、生态完善度上和CUDA仍有差距。毕竟CUDA已经打磨了近20年,CANN在2018年才推出。
有差距不代表没机会,大模型技术正在重构千行万业,也在加剧底层计算生态的重新洗牌。
比如华为一直积极与高校合作,通过编写教材、开设实验课、联合研发等方式,将昇腾、鲲鹏生态纳入到了人才培养体系,同时帮助高校和科研机构在国产平台上进行前沿研究。
典型例子就是北京大学的杨智老师,基于Ascend C自主开发了AI编程语言TileLang,提供Tile-level的类Python编程方式,大幅降低了AI编程门槛。目前昇腾CANN与TileLang已对接,并完成了FlashAttention算子的开发实现,性能持平官方版本,核心代码从500+行减少到了80行。
某种程度上,昇腾已经初步形成了“教育—应用—生态”的闭环:学生们在求学阶段就能接触到国产计算生态,在实验室里尝试开发应用,毕业后应用到广阔的产业场景中,为生态的繁荣持续注入 “新鲜血液”。
再比如在大模型领域,MoE架构逐渐成为提升参数规模和推理效率的主流路径,却也遇到了跨卡通信的高带宽压力、专家路由的动态调度等新挑战。除了超节点的架构创新,CANN也进行了针对性优化。
在算子开发方面,CANN将在下个版本中同时支持SIMD+SIMT的编程方式,满足不同场景的开发需求:其中SIMD新增支持的Cube和Vector融合编程,无需写数据搬运指令,实现融合算子开发效率提升30%。
在通信效率方面,昇腾将开源共享内存能力Share Memory,在超节点范围内的所有片上内存可实现资源池化共享,并通过Load and Store方式通信,较传统通信时间大幅降低。
截止到目前,越来越多的第三方企业和开发者与华为站在一起,加入到了开源共建的阵营中。
比如无问芯穹基于CATLASS模板库开发的Group GEMM算子,相比aclNN算子,性能再提升50%;科大讯飞、华南理工等企业和高校,在不断丰富算子开发的专家知识库,几分钟内便可输出最优Tiling策略......
一边在人才培养上“补短板”,一边在工程创新上“立长板”,只要沿着正确的道路走下去,一个繁荣的计算生态只是时间问题。
计算生态的范畴不只是AI算力,CPU、操作系统等都需要从0到1构建自主生态,每一个都深刻影响着整个产业格局。
乐观的是,CANN的崛起已经论证了自主生态的可行性,跑出了开源开放的生态新范式:有人在计算架构上不断试探极限,有人在工具链和框架中默默补齐短板,有人在高校课堂和开源社区里播下种子……这不是一家企业的独角戏,而是中国计算产业的集体答卷。
生态不是三年五载就能完成的工程,需要千千万万的开发者参与进来,考验的不是速度,而是中国计算产业的集体耐力。
本文为福布斯中文网版权所有,未经允许不得转载。如需转载请联系wechat@forbeschina.com