Sinh算子host侧和kernel侧代码实现分享 一、活动认证考核题目介绍 参考tensorflow的Sinh算子,实现Ascend C的Sinh算子,算子命名为SinhCustom,并完成aclnn算子调用。相关算法:sinh(x) = (exp(x) - exp(-x)) / 2.0。 本文章主要分享Ascend C下Sinh算子host侧和kernel侧代码实现分享,期望可以帮助各位初学者找到解题思...
5.sinh算子API调用方式 编写SinhCustom算子的原型定义json文件,用于生成SinhCustom的算子开发工程 使用msopgen工具生成AddCustom算子的开发工程 修改`CMakePresets.json`文件的`ASCEND_CANN_PACKAGE_PATH` 运行build.sh脚本,报错了 百度说没缺个包,装一下 成功了 安装包部署 部署成功后就可以在这个目录下面找到算子 可...
在/home/ma-user/work/Sinh/AddCustomSample/KernelLaunch/AddKernelInvocation下测试Add算子,编译整行且测试通过, 参考AddKernelInvocation编写SinhKernelInvocation, 主要修改如下: 1. 函数名称由add改为sinh 2. gen_data只需要输入x,删除y 3. sinh_custom.cpp中只保留输入x,删除y 4. compute函数修改计算逻辑如下:...
前两个类和Add的算子对应类完全相同,关键需要修改的是op_kernel端的逻辑,因为sinh算子的公式为sinh(x) = (exp(x) - exp(-x)) / 2.0,总共分为四个部分,分别是 sinh_custom.cpp #include"kernel_operator.h"using namespace AscendC;constexpr int32_tBUFFER_NUM=2;classKernelSinh{public:__aicore__ in...
参考tensorflow的Sinh算子,实现Ascend C算子Sinh,算子命名为SinhCustom,并完成aclnn算子调用相关算法: sinh(x) = (exp(x) - exp(-x)) / 2.0 要求: 1、完成host侧和kernel侧代码实现。 2、实现sinh功能,支持float16类型输入,使用内核调试符方式调用算子测试通过。 3、使用单算子API调用方式调用SinhCustom算子测试...
Sinh算子实现分享 近期参加了华为的CANN训练营,学习到了Ascend C的很多知识,训练营也步入尾声,在这里利用所学知识,分享Sinh的算子实现过程 1. 准备工作 首先我们需要知道一个算子工程有哪些部分组成 看上去有很多文件,但其实我们只需要修改其中主要的几个文件,也就是host侧的.h和.cpp文件以及kernal侧的.cpp文件,所...
参考tensorflow的Sinh算子,实现Ascend C算子Sinh,算子命名为SinhCustom,并完成aclnn算子调用相关算法: sinh(x) = (exp(x) - exp(-x)) / 2.0 要求: 1、完成host侧和kernel侧代码实现。 2、实现sinh功能,支持float16类型输入,使用内核调试符方式调用算子测试通过。 3、使用单算子API调用方式调用SinhCustom算子测试...
实现Element-wise Hyperbolic Sine 函数算子 实现一个动态大小的逐元素 Sinh 函数自定义算子。 Host 侧算子实现 实现 Host 侧分片策略函数 根据文档,选取合适的 Block 与 Tile 常数,实现 TilingFunc 策略。 const uint32_t BLOCK_DIM = 8; const uint32_t TILE_NUM ...
【摘要】 1.微认证题目:参考tensorflow的Sinh算子,实现Ascend C算子Sinh,算子命名为SinhCustom,并完成aclnn算子调用相关算法: sinh(x) = (exp(x) - exp(-x)) / 2.0要求:1、完成host侧和kernel侧代码实现。2、实现sinh功能,支持float16类型输入,使用内核调试符方式调用算子测试通过。3、使用单算子API调用方式调...
7.修改代码实现sinh功能并增加tiling:将tiling技术应用到sinh算子的实现中,进一步优化其性能。 8. 使用msopgen建立算子工程并用API调用算子:使用msopgen工具建立完整的算子工程,并通过API调用该算子。 9.介绍Python适配:介绍如何在Python环境中适配和调用Ascend C开发的算子,使其能够更方便地与其他AI框架集成。