前言
概述
AI CPU算子,是运行在昇腾AI处理器BS9SX1A AI处理器中AI CPU计算单元上的表达一个完整计算逻辑的运算,如下情况下,开发者需要自定义AI CPU算子。
- 在NN模型训练或者推理过程中,将第三方开源框架转化为适配昇腾AI处理器BS9SX1A AI处理器的模型时遇到了昇腾AI处理器BS9SX1A AI处理器不支持的算子。此时,为了快速打通模型执行流程,用户可以通过自定义AI CPU算子进行功能调测,提升调测效率。功能调通之后,后续性能调测过程中再将AI CPU自定义算子转换成TBE算子实现。
- 某些场景下,无法实现在AI Core上运行的自定义算子(比如部分算子需要Complex32、Complex64类型,但AI Core指令不支持;再比如包含了大量标量计算的算子,而AI Core不擅长对标量进行处理),此时可以通过开发AI CPU自定义算子实现昇腾AI处理器BS9SX1A AI处理器对此算子的支持。
读者对象
本文档适用于基于AI CPU进行算子开发的人员,通过本文档您可以达成:
- 学习AI CPU算子基本实现原理和实现方法。
- 能够基于本文档中样例,扩展进行其他自定义AI CPU算子的开发。
掌握以下经验和技能可以更好地理解本文档:
- 具备C++程序开发能力
- 理解数学表达式
- 对机器学习、深度学习有一定的了解
- 了解Ascend平台运行流程和原理
- 了解Ascend平台的TBE自定义算子开发流程