本次实验主要是利用Orange Pi进行Ascend C 算子的开发,Ascend C 算子是CANN针对算子开发场景推出的编程语言。其中针对软硬件协同优化很有意思,可以直接通过底层的算子优化从而提高模型的推理速度。
一、开发板的连接
Notice:
1、电源线的接口位置
2、以太网的配置
二、Kernel直调工程实验
只是用于测试算子功能是否正确
算子的kernel测是实现算子的基本计算逻辑,其中主要分为三个步骤:搬入、计算、搬出(将大象放入冰箱的步骤)。
三、微认证考试
认证考试使用环境为Orange Pi
考试任务为:
实现Ascend C算子Sinh,算子命名为SinhCustom,编写其kernel侧代码、host侧代码,并完成aclnn算子调用测试。
相关算法:sinh(x) = (exp(x) - exp(-x)) / 2.0
要求:
1、完成Sinh算子kernel侧核函数相关代码补齐。
2、完成Sinh算子host侧Tiling结构体成员变量创建,以及Tiling实现函数的补齐。
3、要支持Float16类型输入输出。
主要实验步骤:
1、kernel测代码改写
注意其中算子API的使用,参照API手册
主要用到的算子如下:
Exp(xLocal, xLocal, TILE_LENGTH);
Reciprocal(yLocal, xLocal, TILE_LENGTH);
Sub(yLocal, xLocal, yLocal, TILE_LENGTH);
half temp = 0.5;
Muls(yLocal, yLocal, temp, TILE_LENGTH);
2、host侧代码改写
具体实现参照Add算子,基本上差别不大,只需修改部分参数名

本次实验主要是利用Orange Pi进行Ascend C 算子的开发,Ascend C 算子是CANN针对算子开发场景推出的编程语言。其中针对软硬件协同优化很有意思,可以直接通过底层的算子优化从而提高模型的推理速度。
一、开发板的连接
Notice:
1、电源线的接口位置
2、以太网的配置
二、Kernel直调工程实验
只是用于测试算子功能是否正确
算子的kernel测是实现算子的基本计算逻辑,其中主要分为三个步骤:搬入、计算、搬出(将大象放入冰箱的步骤)。
三、微认证考试
认证考试使用环境为Orange Pi
考试任务为:
实现Ascend C算子Sinh,算子命名为SinhCustom,编写其kernel侧代码、host侧代码,并完成aclnn算子调用测试。
相关算法:sinh(x) = (exp(x) - exp(-x)) / 2.0
要求:
1、完成Sinh算子kernel侧核函数相关代码补齐。
2、完成Sinh算子host侧Tiling结构体成员变量创建,以及Tiling实现函数的补齐。
3、要支持Float16类型输入输出。
主要实验步骤:
1、kernel测代码改写
注意其中算子API的使用,参照API手册
主要用到的算子如下:
Exp(xLocal, xLocal, TILE_LENGTH);
Reciprocal(yLocal, xLocal, TILE_LENGTH);
Sub(yLocal, xLocal, yLocal, TILE_LENGTH);
half temp = 0.5;
Muls(yLocal, yLocal, temp, TILE_LENGTH);
2、host侧代码改写
具体实现参照Add算子,基本上差别不大,只需修改部分参数名
