【CANN训练营】基于昇腾CANN平台的AI CPU算子开发
【摘要】 前言介绍如何开发CANN AICPU自定义算子,以一个AICPU算子为示例进行讲解,分析+实现+测试验证一个端到端的完整开发流程。
前言
介绍如何开发CANN AICPU自定义算子,以一个AICPU算子为示例进行讲解,分析+实现+测试验证一个端到端的完整开发流程。
概述
AI CPU算子,是运行在昇腾AI处理器中AI CPU计算单元上的表达一个完整计算逻辑的运算,如下情况下,开发者需要自定义AI CPU算子。
在NN模型训练或者推理过程中,将第三方开源框架转化为适配昇腾AI处理器的模型时遇到了昇腾AI处理器不支持的算子。此时,为了快速打通模型执行流程,用户可以通过自定义AI CPU算子进行功能调测,提升调测效率。功能调通之后,后续性能调测过程中再将AI CPU自定义算子转换成TBE算子实现。
某些场景下,无法实现在AI Core上运行的自定义算子(比如部分算子需要Complex32、Complex64类型,但AI Core指令不支持;再比如包含了大量标量计算的算子,而AI Core不擅长对标量进行处理),此时可以通过开发AI CPU自定义算子实现昇腾AI处理器对此算子的支持。
目标
能够基于AI CPU进行简单的算子开发的人员,可以达成:
-
学习AI CPU算子基本实现原理和实现方法。
-
能够基于课程中的样例,扩展进行其他自定义AI CPU算子的开发。
如果您具有如下技能,可以更好地完成学习:
-
具备C++程序开发能力
-
理解数学表达式
-
对机器学习、深度学习有一定的了解
-
了解Ascend平台运行流程和原理
-
了解Ascend平台的TBE自定义算子开发流程
算子的基本概念
Ascend 310处理器架构逻辑
AI CPU算子开发流程
算子分析
目录结构介绍
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)