【CANN训练营第三季】TBE算子开发

文章目录

  • 直播学习
  • 结业考核

直播学习

【CANN训练营第三季】TBE算子开发_第1张图片
【CANN训练营第三季】TBE算子开发_第2张图片
安装准备:https://www.hiascend.com/document/detail/zh/mindstudio/50RC3/instg/instg_000022.html
开发参考:
https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/600alpha003/operatordevelopment/opdevg/atlasopdev_10_0030.html

跑过UT
【CANN训练营第三季】TBE算子开发_第3张图片
配置一个path

ASCEND_TENSOR_COMPILER_INCLUDE=/home/HwHiAiUser/Ascend/ascend-toolkit/latest/include

创建UT
【CANN训练营第三季】TBE算子开发_第4张图片
ST需要配置两个环境变量
https://www.hiascend.com/document/detail/zh/mindstudio/50RC3/msug/msug_000165.html

ASCEND_DRIVER_PATH=/usr/local/Ascend/driver;
ASCEND_HOME=/usr/local/Ascend/ascend-toolkit/latest;

结业考核

1、算子描述
使用Mind Studio开发工具,基于TBE DSL方式开发一个Sinh算子。

算子规格参考如下:

  • 算子类型:Sinh

  • 数学表达式:sinh(x)=(exp(x) - exp(-x)) / 2.0

  • 支持的数据类型:float16

  • 支持的数据排布格式:ND

作业一:实现算子的功能逻辑
基于MindStudio实现算子的功能逻辑,并进行实现文件的功能调试,详细描述如下:

1、基于MindStudio创建一个原始框架为TensorFlow,算子类型为“Sinh”的TBE DSL算子工程。【20分】
【CANN训练营第三季】TBE算子开发_第5张图片
【CANN训练营第三季】TBE算子开发_第6张图片
【CANN训练营第三季】TBE算子开发_第7张图片
2、进行算子代码实现文件 "sinh.py"的开发,实现Sinh算子的计算逻辑。【30分】
【CANN训练营第三季】TBE算子开发_第8张图片

3、进行Sinh算子的功能调试,需要进行中间数据的验证以及结果数据的验证,使用默认误差。【10分】
【CANN训练营第三季】TBE算子开发_第9张图片

作业二:让算子在昇腾AI处理器上运行起来
实现算子的如下交付件,并进行算子的ST测试,验证算子在昇腾AI处理器上执行是否成功。

实现除“代码实现文件*.py”之外的剩余交付件,包含:【10分】

算子原型定义文件:sinh.h、sinh.cpp
【CANN训练营第三季】TBE算子开发_第10张图片

算子信息库:sinh.ini

【CANN训练营第三季】TBE算子开发_第11张图片

算子适配插件:sinh.cc
【CANN训练营第三季】TBE算子开发_第12张图片

进行算子的ST测试,并与标杆数据进行比对。【20分】
【CANN训练营第三季】TBE算子开发_第13张图片

精度要求:针对float16数据类型,误差不超过“千分之一”。【10分】
【CANN训练营第三季】TBE算子开发_第14张图片
【CANN训练营第三季】TBE算子开发_第15张图片
完整代码:https://gitee.com/qmckw/sinh

你可能感兴趣的:(昇腾,tensorflow,人工智能,python)