接口简介
概述
为加速模型算力释放,CANN(Compute Architecture for Neural Networks)提供了算子加速库(Ascend Operator Library,简称AOL)。
该库提供了一系列丰富的深度优化、硬件亲和的高性能算子,如Neural Network、Digital Vision Pre-Processing算子等,为神经网络在昇腾硬件上加速计算奠定了基础。为方便开发者调用算子,提供了单算子API执行方式调用算子(基于C语言的API,无需提供IR(Intermediate Representation)定义),以便开发者快速且高效使能模型创新与应用,API的调用流程如图1所示。
此外,本文档还提供了不同深度学习框架IR(Intermediate Representation)定义的算子规格信息,支撑开发者自行构建网络模型。

本文档提供的CANN算子均为系统支持的算子,对于系统不支持的算子,支持开发者自定义,自定算子开发指导请参见《Ascend C算子开发指南》。
接口说明
本文档提供的不同领域算子接口或算子规格清单如表1所示,对应的产品支持情况参见表2。
文档重点阐述了算子定义、功能描述、参数说明、约束限制和调用示例等,指导开发者快速上手调用算子和API。
调用算子API时,需要include依赖的文件,头文件默认在“${INSTALL_DIR}/include/”目录,库文件默认在“${INSTALL_DIR}/lib64/”目录,${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。

产品型号 |
NN算子接口 |
融合算子接口 |
DVPP算子接口 |
CANN算子规格说明 |
TensorFlow算子清单 |
Caffe算子清单 |
ONNX算子清单 |
---|---|---|---|---|---|---|---|
|
√(部分支持) |
√(部分支持) |
√ |
√ |
√ |
x |
√ |
|
√ |
√(部分支持) |
√ |
√ |
√ |
x |
√ |
|
√(部分支持) |
x |
x |
√ |
√ |
√ |
√ |
|
√(部分支持) |
√(部分支持) |
x |
√ |
√ |
√ |
√ |
|
√(部分支持) |
x |
x |
√ |
√ |
√ |
√ |
|
x |
x |
x |
√ |
√ |
√ |
√ |