Skip to content

gitcode666/TEST_android123

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1231231231232131123123323423123123123# 项目文档123123 2134134234

基本概念

算子清单123

本项目提供的所有算子清单如下:

  • 算子目录:每个目录承载了该算子所有的交付件,包括代码实现、算子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 对张量执行按位右移操作。

算子接口(aclnn)

为方便调用算子,提供一套基于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构图方式调用算子。

开发者按需选择,不同方式下算子的调用流程和关键代码实现请参见算子调用样例

算子调试调优

本章提供了三种算子调试方式和一种算子调优方式 开发者按需选择,具体细节可以参见算子调试调优样例

参考文档

开发者学习过程中,可以访问如下产品文档,了解更多与算子开发、调用相关的知识。

附录

build参数说明

About

The official GitHub mirror of the Chromium source

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published