TBE自定义算子开发工具学习笔记
网课:视频地址
1 TBE基本概念
1.1 TBE基础知识
1.1.1 定义
TBE(Tensor Boost Engine)自定义算子开发工具:
-
一款华为自研的 NPU算子开发工具
-
在TVM(Tensor Virtual Machine)框架基础上扩展
-
提供了一套Python API来实施开发活动
学习建议:
1.2 TBE基本概念
本章学习如下TBE中的基本概念:
NPU、算子、TVM、DSL、HalideIR
1.2.1 NPU
NPU 是 神经网络处理器
1.2.2 算子
算子 是一个函数空间到函数空间上的 映射 O:X->X
张量
注:张量 指代 数据。
昇腾 AI 数据排布格式:
算子属性——轴
轴 指 张量中维度下标
注:轴 从 0开始数
算子属性——权重
算子属性——偏差
升维
广播 要求 :相等 或者 为1
降维
转换算子
1.2.3 TVM
TVM —— 张量虚拟机
1.2.4 DSL
1.2.3 HalideIR
1.3 TBE开发方式
1.3.1 TBE算子开发方式
各自特点:
-
TBE DSL方式:重调度、轻计算
-
TVM原语:轻调度、重计算
-
TIK方式:计算 、 调度合一,最困难
TBE DSL方式
TVM原语
TIK 方式
计算 、 调度合一,最困难
2 TBE实战算子开发-DSL方式
学习目标:
2.1 TBE算子详解
2.2.1 Hello World
实现代码: