华为Ascend C算子开发学习笔记分享

 Ascend C算子开发能力中级认证考试心得分享

  1. 连接开发板

    连接电源,网线,IP地址统一设置为192.168.137.100,初始密码Mind@123,cmd下可用

    ssh root@192.168.137.100
  2. 下载考题代码,主要补充op_host、op_kernel端代码文件,代码参考如下:

    sinh_custom.cpp:

    cke_29696.png

    op_host端

    cke_32392.png

    cke_40581.png

  3. 代码补齐后,在SinhCustom算子工程目录中构建

    构建成功后,将其安装到环境中:
    cd build_out
    
    ./custom_opp_ubuntu_aarch64.run

    进入AclNNInvocation目录测试:

    bash run.sh

    出现You have passed the precision即成功​,提交AclNNInvocation与SinhCustom文件夹zip包即可

    最后给一些参考的知识点笔记:

    整个算子计算过程阶段分析:CopyIn,Compute,CopyOut
    CopyIn:搬入x到Local内存
    Compute:使用Local内存进行计算
    CopyOut:搬运Local计算结果到z

    使用__global__函数类型限定符来标识它是一个核函数,可以被<<<…>>>调用;使用__aicore__函数类型限定符来标识该核函数在设备端AI Core上执行。

    compute函数一些调用:

    Exp(xLocal, xLocal, TILE_LENGTH);:对从输入队列取出的本地张量 xLocal 进行指数运算(Exponential)。这用于计算 e^x,其中 x 是 xLocal 中的元素。TILE_LENGTH 是可能是一个常量,表示操作的长度。 

    Reciprocal(zLocal, xLocal, TILE_LENGTH);:计算 1/xLocal 的倒数,并将结果存储在 zLocal 中。 

    Muls(zLocal, zLocal, scalar, TILE_LENGTH);:将 zLocal 中的每个元素乘以标量 scalar,并将结果存储回 zLocal。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值