一题一页 · 具体软件 · 也叫 异构计算架构、Compute Architecture for Neural Networks

昇腾卡上那层 CANN 是干什么的?

CANN 是面向昇腾硬件 AI 任务的软件架构,为 MindSpore、PyTorch、TensorFlow 等框架和应用提供图、算子、运行时与相关开发能力。

先看懂

具体软件
CANN
面向昇腾硬件的 AI 软件栈
不是芯片或模型,也不只是一层翻译器

此刻在看:静态解释,这一页的 5 个部分都是这一种。

主张依据 3 类:官方文档、公开报道与实践记录、编辑解释。

核实状态:这一页没有需要核实的结论,所以这一维是空的。

三个维度分别看:演示方式、主张依据、核实状态

演示方式

表示此刻展示方式,不是准确性等级。

  • 顶部三秒卡 静态解释
  • 举例与能/不能三栏 静态解释
  • 别和这几个搞混 静态解释
  • 主张与依据 静态解释
  • 展开后的正文与关系说明 静态解释

主张依据

可多选,每种都有实际引用;「本站实验」需有记录。

  • 官方文档 CANN Community Edition 9.0.0 documentation
    「它能」三条按 9.0.0 官方文档入口列出的图、算子、应用与 Runtime/GE 能力改写;没有逐个核对全部 API 和硬件型号。
    第一条核对 9.0.0 官方文档入口的总体描述和分层目录;第二条仍明确归属于第三方实践记录。
    「它由哪几块组成」对着 9.0.0 官方文档入口及其图、算子、Runtime/GE 概览写;没有外推成所有版本都相同。
  • 公开报道与实践记录 华为昇腾910B国产化适配深度解析:从CANN算子到vLLM实践
    第二条转述第三方实践记录的排错经验,它不是官方口径。
    双层排错那一段转述这份第三方实践记录。
  • 编辑解释
    本站自己写的,没有外部引用。
    「昇腾芯片上的那层翻译软件」是本站写的比喻说法,不是华为的措辞。
    矩阵相乘那个例子与「它不能」三条是本站写的界定。
    与算子的那条区别(整层软件对一个个具体实现)是本站写的对照。
    「为什么需要这么一层」那段的类比与 part_of 关系说明是本站写的。

核实状态

附范围、时间及必要原因,不等于全页绝对正确。

这一页没有需要核实的结论,所以这一维是空的——不会因为它挂着论文就替它标一个「已核对」。

举个例子

一个框架模型要在昇腾硬件上执行,图引擎先处理计算图,算子库覆盖具体数学动作,Runtime 再把可执行任务交给硬件。

它能
  • 提供算子库,把常见的数学动作变成芯片指令
  • 提供图编译和运行时,安排计算顺序和显存
  • 为 MindSpore、PyTorch、TensorFlow 等框架提供面向昇腾平台的接入路径
它不能 / 不是
  • 它不能凭空实现芯片没有的能力,比如芯片不支持的数字格式
  • 它不保证和 CUDA 逐位相同的结果,精度需要单独比对
  • 版本必须和驱动、固件、torch_npu、Python 对得上,错一个就跑不起来

别和这几个搞混

想看细节再点开

为什么需要这么一层

芯片只认自己的执行形式。你写的「矩阵相乘」离硬件任务还差着框架接入、计算图处理、算子实现、运行时和编译等多层工作。在不同加速器生态里,这些责任由各自的软件栈承担。

昇腾硬件需要与自身匹配的软件路径,CANN 覆盖的也不只“翻译”一项。「国产芯片能不能跑大模型」这个问题,第三方实践记录反映出来的许多排错工作落在这一软件栈;这是经验转述,本站没有统计过具体比例。

它由哪几块组成

9.0.0 官方文档将图开发、算子开发、应用开发、Runtime API 与 GE API 分开组织;算子库又覆盖数学、神经网络、计算机视觉和 Transformer 等类别。具体包和版本映射以对应版本发布说明为准。

这个分层带来一个实际后果:出问题时你得判断是图层的事还是算子层的事,两边的日志格式不一样。第三方实践记录反复提到这一点。

它和其他概念的关系

  • 是……的组成部分国产芯片适配国产芯片适配的工作,大部分发生在这一层

谁指向了这个词

  • ← 运行时依赖国产芯片适配昇腾这一侧的适配工作主要发生在 CANN 这层
  • ← 容易和……混淆算子(Operator)算子是零件,CANN 是装满零件的整层软件

看它发生

这一场戏的规范阅读地址在别的题下 为什么大模型换一块国产芯片,就不能直接跑了? 搬运那个场景里「装 CANN、编译算子」的几屏正是这一层在做的事;规范阅读地址在 chip-adaptation,这里嵌入复用

查证据

主张与依据

  • 华为昇腾 9.0.0 官方文档将 CANN 描述为面向昇腾硬件 AI 任务、支持多种 AI 框架的软件架构,并分别提供图开发、算子开发、应用开发、Runtime API 与 GE API 文档。 [ hiascend-cann ]
  • 第三方实践记录指出,CANN 的分层结构意味着排错要同时看图层和算子层,开发者需要同时读 IR 图和算子编译日志。 [ ascend-910b-practice ]

档案目录

  1. 官方文档英文

    hiascend-cann

    CANN Community Edition 9.0.0 documentation

    出版方/保存方
    华为昇腾
    原页语言
    英文
    本站访问
    核对程度:相关段落逐字核对

    9.0.0 文档入口、环境安装、算子开发、应用开发、图开发、Runtime/GE API 与算子库概览;没有逐个核对全部 API 和硬件型号。
    访问结果:正常取到

    华为昇腾官方 CANN 9.0.0 文档入口;用于核对其面向昇腾硬件、支持多种 AI 框架并包含算子、图、应用和运行时开发层。

    打开原始来源
  2. 发布或实践记录简体中文

    ascend-910b-practice

    华为昇腾910B国产化适配深度解析:从CANN算子到vLLM实践

    出版方/保存方
    知乎
    原页语言
    简体中文
    本站访问
    核对程度:没有记录,说不出读到哪一层没有记录具体读到哪一层,因此不能把这条记录当作全文核对。
    访问结果:正常取到

    第三方实践记录:CANN 分层结构带来的双层排错、版本匹配与显存管理差异。属于个人经验,非官方口径。

    打开原始来源