Ascend C算子开发能力认证(中级)
收藏回复举报
Ascend C算子开发能力认证(中级)
新人帖
发表于2024-07-18 13:43:35
0 查看

一、题目要求

实现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类型输入输出。

二、算子分析

capture_20240718142133486.png

三、算子开发

3.1、kernel侧

修改:SinhCustom\op_kernel\sinh_custom.cpp

3.1.1、核函数

修改核函数内容:

capture_20240718132153388.png

补充初始化内容:

capture_20240718132857812.png

capture_20240718132933024.png

根据课堂内容,将过程分为3个基本任务:CopyIn,Compute,CopyOut。

3.1.2、CopyIn

capture_20240718133043156.png

3.1.3、Compute

capture_20240718133102728.png

3.1.3、CopyOut

capture_20240718133111971.png

3.2、host侧

修改:SinhCustom\op_host\sinh_custom.cpp

capture_20240718133202872.png

修改:SinhCustom\op_host\sinh_custom_tiling.h

capture_20240718133231820.png

四、AclNN调用

切换到SinhCustom目录下,执行:bash ./build.sh

capture_20240718133901897.png

在生成的build_out文件夹下,执行:./custom_opp_euleros_aarch64.run

capture_20240718133952218.png

切换到SinhCustom/AclNNInvocation/目录下,执行:bash ./run.sh

capture_20240718134055881.png

本帖最后由 匿名用户2024/07/18 14:22:18 编辑

我要发帖子