Workflow
分层解耦
icon
搜索文档
拆解CANN:当华为决定打开算力的「黑盒」
机器之心· 2025-12-19 14:38
文章核心观点 - 华为昇腾将其底层AI基础软件CANN全面开源开放,旨在通过降低AI算力开发门槛、提供灵活的开发工具和构建开放生态,挑战现有计算架构格局,并推动一个独立于CUDA的AI算力生态快速成长 [2][31] CANN开源的核心价值与目标 - CANN作为连接上层AI框架与底层AI芯片的桥梁,其开源使开发者无需关心芯片细节即可调用底层算力,获得了定义算力的权力 [2] - 开源旨在构建“算力多元世界”,不仅仅是替代,更是邀请开发者共同构建新生态 [31] - 一个不同于CUDA路径的AI算力生态正在基于CANN快速成长 [31] 降低开发门槛:实现“AI算子开发自由” - CANN支持与PyTorch、TensorFlow、MindSpore、PaddlePaddle等主流AI框架无缝对接,并开放GE图开发接口,允许自定义图结构 [5] - 大模型支持覆盖广泛,包括Llama、Mistral、Phi等海外模型及Qwen、DeepSeek、GLM等国产模型,总计超过50种,并参与了超过10个大模型开源社区的生态构建 [6] - 为不同背景开发者提供三条算子开发路径 [7] - **路径一(Triton生态)**:实现与Triton深度对接,支持Python语法编写算子,原有Triton代码可低成本迁移至昇腾NPU [9] - **路径二(Ascend C)**:提供采用C/C++语法风格的原生编程语言,开放底层资源管理接口,允许原子级控制以追求极致性能 [10] - **路径三(模板库)**:提供基于Ascend C的CATLASS算子模板库,通过参数配置快速生成矩阵乘等算子,无需重写复杂逻辑 [11][13] - 针对MoE模型推出MLAPO融合算子,将多算子计算融合为单个高效算子,在DeepSeekV3模型量化场景下,能将计算耗时从109us缩减至45us,带来整网性能提升20% [13][15] - 已在AtomGit开放多个核心仓库,并发布官方容器镜像,提供开箱即用的开发环境 [16] - 已预置超过1400个基础算子、100多个融合算子及15个通信算法,提供“开箱即用”能力 [16] 架构创新:分层解耦带来的灵活性 - CANN的核心创新在于宏观架构上的“分层解耦”,将软件栈拆解为多个功能正交、独立演进的组件 [19][22] - 分层解耦贯穿全栈,从底层驱动到上层编译器、加速库,实现物理松耦合,允许按需引入或升级特定组件,降低系统集成和定制门槛 [22][23] - 具体变化体现在: - **加速库组件化**:算子库被精细拆分为ops-math、ops-nn、ops-cv、ops-transformer等独立组件,改变了过去“全量算子一个包”的发布方式 [24] - **通信库与图引擎独立**:HCCL通信库开放通信算子和框架层,支持自定义通信算法;GE图引擎开放图编译和执行接口,支持自定义图融合策略 [26] - **运行时极简化**:Runtime层剥离冗余模块,实现核心功能最小化,并开放aclGraph接口支持图模式下沉,减少Host与Device间交互开销 [27][28] - 架构解耦后,CANN共有20余个安装包,支持各功能独立演进和编译升级,使开发者能在模型、算子、内核、底层资源等多层级分别进行优化 [29] 开源进展与社区现状 - CANN的全面开源开放正在加速推进,其在AtomGit的代码库非常活跃,几乎每天都有新动态 [33] - 截至目前,CANN项目下已有27个子项目,总star数超过3700,总下载量突破35万 [35] - 开源版图持续扩大,例如核心组件GE(图引擎)以及新型编程范式PyPTO框架等正在建设中 [35] - 开源组件覆盖算子库、通信库、图引擎、编程语言和运行时等多个关键领域 [36]