1231231231232131123123323423123123123# 项目文档123123 2134134234
本项目提供的所有算子清单如下:
-
算子目录:每个目录承载了该算子所有的交付件,包括代码实现、算子example、算子文档等。
-
算子IR(Intermediate Representation):表示算子原型,描述了算子输入、输出、属性等信息,包括数据类型、shape、数据格式等。算子清单中有部分算子定义了IR,表明可通过IR构图方式调用算子。
| 算子分类 | 算子目录 | 算子IR | 说明 |
|---|---|---|---|
| math | abs | Abs | 实现张量的绝对值运算。 |
| math | add_lora | AddLora | 为神经网络添加LoRA(Low-Rank Adaptation)层功能,通过低秩分解减少参数数量。 |
| math | angle_v2 | AngleV2 | 计算给定输入张量的element_wise angle(以弧度为单位)。 |
| math | cast | Cast | 实现张量数据类型转换。 |
| math | diag_v2 | DiagV2 | 用于提取对角线元素或构造一个对角矩阵。 |
| math | grouped_bias_add_grad | GroupedBiasAddGrad | 分组偏置加法(GroupedBiasAdd)的反向传播。 |
| math | hans_decode | HansDecode | 对压缩后的张量基于PDF进行解码,同时基于mantissa重组回复张量。 |
| math | hans_encode | HansEncode | 对输张量指数位所在字节实现PDF统计,按PDF分布统计进行无损压缩。 |
| math | histogram_v2 | HistogramV2 | 计算张量值分布的函数。 |
| math | is_finite | IsFinite | 判断张量中哪些元素是有限数值,即不是inf、-inf或nan。 |
| math | is_inf | IsInf | 判断张量中哪些元素是无限大值,即是inf、-inf。 |
| math | lin_space | LinSpace | 生成一个等间隔数值序列。 |
| math | right_shift | RightShift | 对张量执行按位右移操作。 |
为方便调用算子,提供一套基于C的API(以aclnn为前缀API),无需提供IR(Intermediate Representation)定义,方便高效构建模型与应用开发,该方式也被称为“单算子API调用”,其详细介绍请参见《AOL算子加速库接口》。
本项目提供的所有算子接口清单如下:
| 接口名 | 说明 |
|---|---|
| aclnnAbs | 实现张量的绝对值运算。 |
| aclnnAddLora | 为神经网络添加LoRA(Low-Rank Adaptation)层功能,通过低秩分解减少参数数量。 |
| aclnnCast | 实现张量数据类型转换。 |
| aclnnGroupedBiasAddGrad | 分组偏置加法(GroupedBiasAdd)的反向传播。 |
| aclnnHansDecode | 对压缩后的张量基于PDF进行解码,同时基于mantissa(尾数)重组回复张量。 |
| aclnnHansEncode | 对张量的指数位所在字节实现PDF统计,按PDF分布统计进行无损压缩。 |
| aclnnIsFinite | 判断张量中哪些元素是有限数值,即不是inf、-inf或nan。 |
| aclnnIsInf | 判断张量中哪些元素是无限大值,即是inf、-inf。 |
| aclnnLinspace | 生成一个等间隔数值序列。 |
使用图方式描述网络时,可采用图融合提升算子性能。图融合是指GE(Graph Engine)按融合规则进行改图的过程,使用融合后的算子替换融合前的算子。图融合详细介绍请参见《图融合和UB融合规则参考》。
本项目提供的所有融合规则清单如下:
| 规则名 | 说明 |
|---|---|
| MatmulxxxPass | 待补充。 |
本章以AddExample算子为例,介绍算子具体的开发过程和交付件,开发者请根据实际算子功能自行修改代码实现。
本章提供了常见的算子调用方式:
- aclnn调用算子 (推荐):以aclnnXxx接口方式调用算子。
- 图模式调用算子:以IR构图方式调用算子。
开发者按需选择,不同方式下算子的调用流程和关键代码实现请参见算子调用样例。
本章提供了三种算子调试方式和一种算子调优方式 开发者按需选择,具体细节可以参见算子调试调优样例。
开发者学习过程中,可以访问如下产品文档,了解更多与算子开发、调用相关的知识。