Skip to content

硬件使能 CANN

CANN(Compute Architecture for Neural Networks,神经网络计算架构)是昇腾的异构计算架构,向下封装昇腾硬件、向上对接 AI 框架,是连接两者的关键中间层。本页先总览 CANN 的定位,再聚焦本平台的使用方式。

1. CANN 总览

如果说 NVIDIA 生态的核心软件是 CUDA,那么昇腾生态的核心就是 CANN。它对上层屏蔽了 NPU 硬件的复杂细节,让 PyTorch 等框架无需关心达芬奇架构,就能把计算下发到昇腾 910 上执行。

CANN 自下而上大致分为几层:

CANN总览

层次组件作用
驱动层Driver / Firmware驱动与固件,直接管理 NPU 硬件
运行时Runtime设备管理、内存管理、任务调度
算子层算子库(AOL)提供高性能算子实现
图层图引擎(GE)计算图的编译与优化
通信层集合通信库(HCCL)多卡 / 多机分布式通信
接口层AscendCL(ACL)统一的应用编程接口

2. 本平台中的 CANN

在本平台上,你通常不会直接对 CANN 编程,而是通过 PyTorch(torch_npu)间接使用它。但有两件事必须了解:

  • 版本配套:CANN 必须与驱动/固件、以及上层 torch_npu 版本相互匹配,否则无法正常运行。
  • 环境激活:使用前需加载 CANN 环境变量(set_env.sh),框架才能找到底层库。

简单说:CANN 是「昇腾的 CUDA」。你的 PyTorch 代码 → torch_npu → CANN → 昇腾 910 NPU。

3. 本章导航

页面内容
CANN 架构与软件栈CANN 定位与分层详解
核心概念算子、AscendCL 等关键概念
版本配套与环境激活版本匹配规则与环境检查

参考资料