AI在线 AI在线

拆解CANN:当华为决定打开算力的「黑盒」

大模型的竞争如火如荼,也有一群人正在研究如何降低门槛,让 AI 工具变得亲民。 最近,在 AI 基础算力上重磅频出的华为,又亮出了一张王牌:昇腾的底层基础软件,CANN 全面开源开放。 昇腾宣布将通过一系列新举措,持续支持开发者在 AI 模型、算子、内核、底层资源等多个层级进行自主优化与自定义开发。

拆解CANN:当华为决定打开算力的「黑盒」大模型的竞争如火如荼,也有一群人正在研究如何降低门槛,让 AI 工具变得亲民。

最近,在 AI 基础算力上重磅频出的华为,又亮出了一张王牌:昇腾的底层基础软件,CANN 全面开源开放

昇腾宣布将通过一系列新举措,持续支持开发者在 AI 模型、算子、内核、底层资源等多个层级进行自主优化与自定义开发。通过开放共建,一个新兴的 AI 算力生态正在快速崛起,改变计算架构领域本已固化的格局。

CANN 全称为「神经网络异构计算架构」(Compute Architecture for Neural Networks),其作为连接上层 AI 训练框架(如 PyTorch、TensorFlow、MindSpore 等)和底层 AI 芯片的桥梁,让开发者不用关心芯片细节就能调用底层算力。

最近一段时间,业内对于国产 AI 算力的需求大幅增长,让人们更加重视起硬件的计算架构。CANN 的开源开放引发了业界的广泛关注,当 CANN 这个在整个 AI 技术栈中「承上启下」的关键角色被开源了之后,开发者们获得了定义算力的权力。

以前在 AI 芯片上的算子开发门槛高到不敢用,现在昇腾 CANN 把这层窗户纸捅破了。

这一次,我们不谈宏大的生态格局,只谈对于坐在屏幕前的开发者来说,CANN 的开源开放到底带来了什么?

拒绝「黑盒」  三种路径实现「AI 算子开发自由」

在 AI 开发的深水区,算子开发效率与性能的平衡始终是个难题。但「AI 算子开发自由」首先建立在广泛的生态兼容之上。

CANN 目前已经支持与 PyTorch、TensorFlow、MindSpore、PaddlePaddle 等主流 AI 框架无缝对接,并开放了 GE 图开发接口,允许开发者自定义图结构,满足了多样化的开发需求。

图片

大模型方面,CANN 覆盖了国内外目前的主流,支持包括 Llama、Mistral、Phi 等海外模型,以及 Qwen、DeepSeek、GLM 等国产大模型家族,共计超过 50 种。昇腾已经参与了超过 10 个大模型开源社区的上下游生态构建。

在此基础上,针对更深层的算子开发挑战,开源开放后的 CANN 为不同技术背景的开发者提供了三条路径。

图片

路径一:习惯 Python?Triton 生态无缝接入

对于习惯了 GPU 编程范式的开发者,最大的顾虑往往是迁移成本。CANN 对此给出的答案是:不用改变习惯

CANN 实现了与业界主流开发范式 Triton 的深度对接。通过 Linalg IR 与 AscendNPU IR(中间表示)的转换,开发者可以直接使用熟悉的 Python 语法编写高性能算子,原有的 Triton 代码能够以极低的成本迁移到昇腾 NPU 上。

此外,CANN 还引入了 TileLang 这一新兴编程选择。它提供了比 Triton 更细粒度的性能控制能力,允许开发者显式管理数据分块和内存层级映射。通过 TileLang-Ascend 的深度适配,开发者可以利用类 Python 语法,精准操控 NPU 的 Cube 核与 Vector 核,有效解决现代 AI 芯片面临的「内存墙」挑战。

路径二:追求极致?Ascend C 让性能「狂飙」

对于追求 SOTA 性能的系统级程序员,Ascend C 是昇腾原生提供的终极武器。

这是一种采用 C/C++ 语法风格的编程语言,它开放了算子底层资源管理接口。这意味着开发者不再受限于封装好的 API,而是可以直接调用 NPU 的原子级能力,精确控制每一个时钟周期的行为和片上缓存管理。无论是 FlashAttention 还是复杂的 MoE 融合算子,Ascend C 都能让开发者榨干硬件的每一滴性能。

路径三:想要省力?搭积木式的模板库

并非所有场景都需要从零手写算子。针对深度学习中无处不在的矩阵运算(GEMM),CANN 推出了 CATLASS 算子模板库

图片

这是一个基于 Ascend C 构建的高性能算子模版库,它将复杂的矩阵乘法及其融合算子抽象为可配置的模板。开发者无需重新编写复杂的切分(Tiling)和流水线(Pipeline)逻辑,只需简单的参数配置,即可快速生成适配不同形状和精度的矩阵乘算子。

在当前主流的 MoE(混合专家)模型支持上,CANN 还推出了创新的 MLAPO 融合算子。这种设计将原本需要多个算子完成的 MoE 计算,融合为单个高效算子。测试数据显示,MLAPO 融合算子能够显著降低计算开销,相比传统实现方式,在相同硬件上获得明显的性能提升。

图片

在大参数 DeepSeekV3 模型的量化场景下,MLAPO 算子的实现能将计算耗时从 109us 缩减为 45us,带来整网性能提升 20%。

这不是画饼,而是已经有开源代码、有仓库的实质性进展。

为了方便开发者快速上手,CANN 已在 AtomGit 上开放了包括 CATLASS(算子模板库)、ops-math(基础数学)、ops-nn(神经网络)、ops-transformer(transformer 类大模型)、ops-cv(图像处理、目标检测)、HCCL(通信库)在内的多个核心仓库,并发布了集成主流大模型环境的官方容器镜像,开发者可以通过容器指令直接获取开箱即用的开发环境。(https://gitcode.com/cann)

目前,CANN 已预置了超过 1400 个基础算子、100 多个融合算子以及 15 个通信算法,为大模型开发提供了「开箱即用」的能力。这些算子经过深度优化和实际生产过程的验证,能够充分发挥昇腾硬件的性能潜力,是吸引开发者和企业客户从「试一试」转向「深度用」的硬通货。

这种对底层细节的「可控性」,使 CANN 能够成为追求 SOTA 性能的系统程序员的有力武器。

架构变革:分层解耦

为什么现在的 CANN 能做到如此灵活?核心在于架构上的分层解耦

图片

                CANN 的多层架构示意图,其中不同的层级有不同的开源策略。

何为分层解耦?其实并不难理解。在过去的 AI 软件栈中,工具链、运行时、驱动、编程体系、加速库等往往被打造成一个整体。这种模式虽也有优势,但对于追求极致性能的头部模型厂商和底层系统工程师来说,却显得笨重。

而 CANN 却做到了在宏观架构上的功能解耦与组件独立演进。

具体来说,CANN 不再是一个巨大的单体软件,而是被拆解为多个功能正交的组件。分层解耦的思路贯穿了全栈:从底层的硬件驱动到中间的运行时,再到上层的编译器和加速库,每一层都实现了物理上的松耦合。

这意味着开发者无需像过去那样「牵一发而动全身」,而是可以根据业务需求,按需引入或升级特定的组件功能,大幅降低了系统集成和定制开发的门槛。

这种解耦可为 CANN 各个层级带来重要的变化:

加速库的「组件化」

CANN 改变了过去「全量算子一个包」的发布方式。算子库被精细拆分为 ops-math、ops-nn、ops-cv 和 ops-transformer 等独立组件。

图片

通信库和图引擎(GE)也作为独立组件逐步开放。其中 HCCL 开放了通信算子和框架层,支持开发者自定义通信算法以适应大规模集群;GE 则开放了图编译和执行接口,支持自定义图融合策略。

运行时的「极简化」

Runtime 层剥离了冗余模块,实现了核心功能的最小化。更为关键的是,Runtime 开放了 aclGraph 接口,支持图模式下沉。

这一机制允许开发者将由多个算子组成的计算图一次性下沉到 Device 侧,极大地减少了 Host 与 Device 之间的交互开销。

在架构分层解耦之后,CANN 实现了组件功能的最小化,共有 20 余个安装包,支持各功能的独立演进和编译升级。

这样一来,开发者可以在模型、算子、内核、底层资源等多个层级分别进行优化与开发。可以说开源后的 CANN,在追求极致性能的同时,兼顾了开发的易用性。

全面开源开放  正在陆续进行中

对于开源世界来说,真正的技术价值会在自由流动中无限放大。CANN 的开源正是遵循同一逻辑:它不仅仅是为了「替代」,更是发出了一份共同构建「算力多元世界」的邀请函。开发者的每一次使用,问题的反馈和代码的提交,都会为这个新的生态做出贡献。

当 CANN 开源社区的代码仓库逐渐被开发者 fork 和 star,大学实验室的研究者们开始用 Ascend C 完成 AI 项目,当硅基流动、无问芯穹等创业公司基于 CANN 优化自己的模型训练流程,一个不同于 CUDA 路径的 AI 算力生态正在快速成长。

基于昇腾 CANN,无论你是想验证一个想法,还是迁移一个模型,现在都可以快速开始。

目前,CANN 的全面开源开放正在加速推进,其在 AtomGit 的代码库也非常活跃,几乎每天都有新的动态。

图片

截至目前,CANN 项目下已有 27 个子项目,总 star 数已经超过 3700,总下载量更是已经突破 35 万。

更值得期待的是,开源的版图还在持续扩大。比如用于负责 AI 计算图的解析、优化和执行的 GE (Graph Engine,也是 CANN 的核心组件之一)以及一种旨在简化高性能算子的开发流程的新型编程范式 PyPTO(Python Parallel Tensor Operation)框架。

图片

想体验最新的 CANN 开源开放能力?

  • 主页地址:https://www.hiascend.com/cann

  • 开源项目:https://gitcode.com/cann

相关资讯

「从追赶者到引领者,路有多远?」 我们和CANN一线开发者聊了聊

「从追赶者到引领者,路有多远?」 我们和CANN一线开发者聊了聊

AI 行业很多人相信,我们正在或已经进入所谓的「AI 下半场」。 在这一轮 AI 的浪潮中,硬件的竞争早已不再是单纯的算力比拼,而是一场围绕软件、开发者与生态的「护城河」之战。 当国产 AI 生态的转型成为科技领域的时代呼声,华为昇腾及其异构计算架构 CANN 正站在了这场变革的聚光灯下。
9/28/2025 1:20:00 PM 机器之心
降低门槛,全平台应用,昇腾还会手把手地教你如何用AI

降低门槛,全平台应用,昇腾还会手把手地教你如何用AI

机器之心报道作者:泽南如何才能做到 AI 应用一次开发,全场景部署?昇腾给出了答案。如今的大多数 AI 应用程序都需要跑在多种类型的处理器上,覆盖数十个版本的操作系统,运行在从端侧到云计算集群的各种设备上。这样复杂的环境,对软件的适应性和模型的可裁剪、可伸缩性提出了极高要求。AI 开源框架也在顺应这股潮流,昇腾发布的 CANN、MindSpore、MindX 等工具,可以让开发者实现「统一端边云,全端自动部署」,开启了机器学习开发的新时代,一直被人们寄予厚望。昇腾的 AI 全栈软件平台。其中,基础架构作为连接硬件与
3/19/2021 11:23:00 AM 机器之心
Creator 面对面 | 昇腾异构计算架构 CANN 的技术进展和未来展望

Creator 面对面 | 昇腾异构计算架构 CANN 的技术进展和未来展望

在 2021 年的最后一个季度, CANN 5.0 版本正式发布。昇腾 CANN 作为平台级的异构计算架构,已经经过了 3 年多的优化,迭代了 4 个大版本,CANN 5.0 在性能方面,AI 模型训练/推理性能大幅提升,用时更短;在功能方面:推理引擎 ATC Suite1.0 首次发布,AI 模型推理性能更高、功能更全面;在便捷性方面:代码开发和调试进一步简化,包括支持混合编程等,使用门槛更低。在性能上,无论是训练规模大小、场景类型,还是推理效率,均有较大提升。实验数据显示,原本需要 6.25 分训练的 BERT 模型,在 CANN 5.0 的加持下缩短了一倍多,只需2.69分钟就能完成训练;至于在 3.0 版本上需要 28 秒训练的 ResNet ,5.0 版本则是“再进化”到 16 秒。
7/15/2022 11:51:00 AM SOTA模型