昇腾
UnseenMe
这个作者很懒,什么都没留下…
展开
-
[昇腾CANN自定义算子]TIK算子矢量计算接口vec_add
利用AI Core的Vector Unit,进行矢量加计算。vec_add(mask, dst, src0, src1, repeat_times, dst_rep_stride, src0_rep_stride, src1_rep_stride)mask通常用这个参数的连续模式,就是设置前N个数据参与计算。每次迭代可以计算256字节的数据。比如,当计算float16类型数据时,每个数据2字节,所以mask设置成128时,就可以在一个迭代中计算256字节的数据。dst, src0, s原创 2021-10-19 10:59:54 · 390 阅读 · 0 评论 -
[昇腾CANN自定义算子]TIK数据搬运data_move
在处理器外部存储器与处理器内存储器之间搬运数据。data_move(dst, src, sid, nburst, burst, src_stride, dst_stride, *args, **argv)dst与src用tik_instance.Tensor定义的Tensorsid一般为0nburst执行这一条data_move语句,搬运数据的次数burst搬运一次数据的block数(一个block为32字节)src_stride与dst_stride两次搬运之原创 2021-10-19 08:58:05 · 308 阅读 · 0 评论 -
[昇腾CANN自定义算子]TIK调试器命令汇总
如何进入需要在tikdb.start_debug()函数中,把interactive参数设为True。tik_instance.tikdb.start_debug(feed_dict=feed_dict,interactive=True)调试器的交互方式什么样当你看到这样的提示符,就对了。[TIK]>调试命令b break给程序加断点例:[TIK]> b my_op.py:8 给my_op.py文件的第8行加断点clear清除一个或多个断点例:[TIK原创 2021-10-19 08:34:54 · 204 阅读 · 0 评论 -
昇腾CANN两种TBE算子的比较
TBE自定义算子有两种:DSL(Domain-Specific Language)TIK(Tensor Iterator Kernel)其中DSL方式只需要定义算子的计算表达,不用考虑如何调度;而TIK方式就需要同时定义计算与调度两方面。所以DSL上手快,但性能可能不理想,适合初学者以及快速验证等场景;TIK开发则需要了解SOC结构与特性,可以开发出更高性能的算子,适合对性能有一定要求的场景。...原创 2021-10-19 07:53:43 · 260 阅读 · 0 评论 -
昇腾CANN自定义算子分类与关系
CANN的自定义算子分为AICPU算子与TBE算子。其中TBE算子又可以分为DSL与TIK两种。注:当前版本为CANN 5.0原创 2021-10-19 07:42:15 · 257 阅读 · 0 评论