简介
概述
CANN(Compute Architecture for Neural Networks)提供了一系列丰富且经过深度优化、硬件亲和的高性能算子,可直接应用于AI业务,为网络在AI处理器上的加速计算奠定了基础。
算子库在CANN架构中的位置如图1所示,主要包含如下算子库:
- Math库:数值计算类算子库,提供不同维度的数值处理与计算算子,例如Add、Abs等,覆盖张量形态变换、基础数学运算、随机数生成等场景。
- NN库:神经网络类算子(Neural Network),提供深度学习模型中常见的计算算子,例如卷积、矩阵乘、激活函数、归一化等。
- CV库:计算机视觉类算子(Computer Vision),提供图像处理和目标检测算子,例如GridSample等。
- Transformer库:大模型计算类算子,提供Transformer核心算子,例如Attention类、LayerNorm类、通算融合类(简称MC2)等。
- RAS库:安全和维测类算子(Reliability, Availability and Serviceability),提供可靠性、可用性和可维护性等能力,包含安全、加密以及维测相关算子。
- Opbase库:所有算子库依赖的基础框架库,提供基础调度能力(如aclTensor创建/释放、workspace复用等)和公共依赖能力。
如需调用算子库中的算子,CANN提供了多种调用方式,请根据实际情况选择。
- aclnn API:针对全量算子,提供了一套相应的C API,方便Host侧调用,简称单算子API(或者算子Host API)调用方式,调用流程如图2所示。
- PyTorch API:针对非PyTorch原生但常见的大模型算子,提供了一套兼容PyTorch原生风格的torch_extension API。该API借助JIT机制(torch.utils.cpp_extension.load)在首次调用时即时编译C++ Kernel Wrapper,将PyTorch函数桥接到aclnn API。同时,它还通过GE Converter支持TorchAir图模式。
- GE图模式调用:通过算子Ascend IR(Intermediate Representation)定义,以构图方式实现算子调用,调用原理参见《图开发》中“编程指南”,这里不详细阐述。
使用说明
- V版本演进:功能演进过程中,算子或算子API可能会存在多个V版本,使用时请选择最高V版本(高版本默认兼容低版本能力)。
- 对于算子文档中未声明支持的场景(如产品型号、数据类型、数据格式、数据维度等),不推荐开发者使用,当前版本不保证算子调用效果。
- 昇腾虚拟化实例:当前版本融合类算子暂不支持该功能。融合类算子是指由多个独立基础“小算子”(如向量Vector、矩阵Cube等)融合而成,其功能与多个小算子等效,而性能通常更优,例如Flash Attention、通算融合算子(简称MC2算子)等。
使用向导
阅读手册正文前,请先熟悉向导表,了解手册大纲和章节作用,以帮助您快速了解算子分类、适用场景等信息。
|
使用场景 |
操作指引 |
说明 |
|---|---|---|
|
算子库依赖哪些头文件/库文件 |
介绍不同方式调用算子依赖的头文件或库文件。 |
|
|
算子库基础领域知识 |
介绍算子的基本概念、术语及关键技术,帮助用户更好地理解算子文档。 |
|
|
算子API调用时依赖哪些公共接口 |
调用算子接口时依赖的公共Meta接口,如创建aclTensor、aclScalar、aclIntArray等。 |
|
|
算子库中有哪些aclnn API |
数学计算类算子库,提供Add、Abs等算子对应的C API。 |
|
|
Neural Network,即神经网络类算子库,提供Matmul等算子对应的C API。 目前该类算子API在整个算子库中占最大比重。 |
||
|
Computer Vision,即计算机视觉类算子库,提供GridSample等算子对应的C API。 |
||
|
大模型计算类算子库,提供FlashAttention、MC2(通算融合)、MoE(Mixture of Experts)等算子对应的C API。 |
||
|
安全和维测类算子(Reliability, Availability and Serviceability),提供可靠性、可用性和可维护性等能力,包含安全、加密以及维测相关算子。 |
||
|
算子库有哪些Torch扩展接口 |
针对非PyTorch原生但常见的大模型算子,提供PyTorch API。通过JIT即时编译C++ Kernel Wrapper,将PyTorch函数桥接到aclnn API,同时通过GE Converter支持TorchAir图模式。 |
|
|
算子库中Ascend IR算子规格信息 |
罗列了基于Ascend IR定义的算子信息。 |
|
|
算子库相关知识 |
|

