大家好,我是刘明,明志科技创始人,华为昇思MindSpore布道师。
技术上主攻前端开发、鸿蒙开发和AI算法研究。
努力为大家带来持续的技术分享,如果你也喜欢我的文章,就点个关注吧
正文开始
华为昇腾CANN训练营2024第二季已经开营了,参加训练营可以免费学习课程、参加认证考试、瓜分万元大奖。
如果还没报名训练营的同学可以点击以下链接报名:
华为昇腾CANN训练营2024第二季报名链接
在训练营中有一个重要环节,就是参加Ascend C算子开发能力认证(中级),我在这里分享一点经验,供大家参考。希望大家能顺利通过认证。
认证考试介绍
目前认证考试只有一道编程题,没有选择题和简答题。
以下是认证考试的题目介绍
- 考试类型:编程题
- 考试时长:
考试时间仅2小时,请做好题目合成文件包后,再进考试上传!
重点:一定要先自己做好题目,再进考试上传。做好题目再上传,就是几秒钟的事情,所以2小时根本花不完。
- 考试环境搭建要求:
环境上要有昇腾NPU,且CANN版本为8.0.RC2.alpha003。请开发者自行准备。
考试环境搭建并不是在考试时搭建的,需要自己用香橙派或者在华为云ModelArts上搭建。具体搭建方式进入训练营后有文档。
- 考试题目:
实现Ascend C算子Sinh,算子命名为SinhCustom,编写其kernel侧代码、host侧代码,并完成aclnn算子调用测试。
相关算法:sinh(x) = (exp(x) - exp(-x)) / 2.0
要求:
4.1 完成Sinh算子kernel侧核函数相关代码补齐。
4.2 完成Sinh算子host侧Tiling结构体成员变量创建,以及Tiling实现函数的补齐。
4.3 要支持Float16类型输入输出。
4.4 不要使用Sinh高阶API,使用高阶API不得分
这就是考试题目,重点中的重点。不保证后期题目不会变。
一些小经验
- 认证考试需要38元报名费,但是考前领取认证优惠券可以免费认证。优惠券数量有限,先到先得。如果没领到,可以等下个周一,会补充新优惠券。
- 建议在认证前把题目完成,然后再开始考试。这样直接上传代码更简单。
- 考试有10次答题机会,机会比较多。如果想看考试系统是什么样子,直接点进去浪费一次机会也是可以的。
- 考前或考后进行实名认证都可以,如果是考后实名认证,要在考试后10天内认证。不进行实名认证,是没有证书的。
- 阅卷是人工的,所以工作日才会有老师阅卷。阅卷后,如果考试成绩通过,第二天才会有证书。个人中心可能显示【未通过】,是系统问题,不用担心。等到第二天就好了。
如何准备考试
考试要求实现一个sinh算子,本身不是很难,但是需要对Ascend算子开发有基础了解。建议先学习官网文档。
很多同学反应官方文档内容太多,不知道看哪一部分。让我给大家推荐跟考试直接相关的。
所以,大家直接看下面这个链接吧
基于自定义算子工程的算子开发
考试中提供了代码原始工程,大家只需要根据原始工程中的注释完成关键代码补充即可。
主要完成的部分包括op_host
和op_kernel
两部分。而我上面给出的链接,就重点介绍了这两部分的功能和部分代码。