![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
昇腾
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 · 413 阅读 · 0 评论 -
[昇腾CANN自定义算子]TIK数据搬运data_move
在处理器外部存储器与处理器内存储器之间搬运数据。 data_move(dst, src, sid, nburst, burst, src_stride, dst_stride, *args, **argv) dst与src 用tik_instance.Tensor定义的Tensor sid 一般为0 nburst 执行这一条data_move语句,搬运数据的次数 burst 搬运一次数据的block数 (一个block为32字节) src_stride与dst_stride 两次搬运之原创 2021-10-19 08:58:05 · 321 阅读 · 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 · 223 阅读 · 0 评论 -
昇腾CANN两种TBE算子的比较
TBE自定义算子有两种: DSL(Domain-Specific Language) TIK(Tensor Iterator Kernel) 其中DSL方式只需要定义算子的计算表达,不用考虑如何调度; 而TIK方式就需要同时定义计算与调度两方面。 所以DSL上手快,但性能可能不理想,适合初学者以及快速验证等场景; TIK开发则需要了解SOC结构与特性,可以开发出更高性能的算子,适合对性能有一定要求的场景。 ...原创 2021-10-19 07:53:43 · 276 阅读 · 0 评论 -
昇腾CANN自定义算子分类与关系
CANN的自定义算子分为AICPU算子与TBE算子。 其中TBE算子又可以分为DSL与TIK两种。 注:当前版本为CANN 5.0原创 2021-10-19 07:42:15 · 273 阅读 · 0 评论