TBE自定义算子开发工具学习笔记

TBE自定义算子开发工具学习笔记

网课:视频地址

1 TBE基本概念

image-20201018201525949

1.1 TBE基础知识

1.1.1 定义

TBE(Tensor Boost Engine)自定义算子开发工具

  • 一款华为自研的 NPU算子开发工具

  • 在TVM(Tensor Virtual Machine)框架基础上扩展

  • 提供了一套Python API来实施开发活动

学习建议:

image-20201019095839155

1.2 TBE基本概念

本章学习如下TBE中的基本概念:

NPU、算子、TVM、DSL、HalideIR

1.2.1 NPU

NPU 是 神经网络处理器

image-20201019101043303

1.2.2 算子

算子 是一个函数空间到函数空间上的 映射 O:X->X

image-20201019101135978

image-20201019101210920

张量

image-20201019101341920

注:张量 指代 数据

image-20201019102525908

image-20201019101813744

image-20201019102651618

昇腾 AI 数据排布格式:

image-20201019102719897

算子属性——轴

轴 指 张量中维度下标

注:轴 从 0开始数

image-20201019103141827

算子属性——权重

image-20201019103327278

算子属性——偏差

image-20201019103346131

升维

image-20201019103455699

image-20201019105803977

广播 要求 :相等 或者 为1

降维

image-20201019113036117

转换算子

image-20201019113224616

1.2.3 TVM

image-20201019113249927

TVM —— 张量虚拟机

1.2.4 DSL

image-20201019113701257

1.2.3 HalideIR

image-20201019113748052

参考:知乎:如何评价Halide?

1.3 TBE开发方式

1.3.1 TBE算子开发方式

image-20201019150504840

各自特点

  • TBE DSL方式:重调度、轻计算

  • TVM原语:轻调度、重计算

  • TIK方式:计算 、 调度合一,最困难

TBE DSL方式

image-20201019150822112

TVM原语

image-20201019150901562

TIK 方式

计算 、 调度合一,最困难

image-20201019151029038

2 TBE实战算子开发-DSL方式

学习目标:

image-20201019164335271

image-20201019164617276

2.1 TBE算子详解

2.2.1 Hello World

image-20201019164737330

实现代码

image-20201019164829008

2.2.2 TBE算子代码结构

image-20201019165016538

image-20201019165032340

image-20201019165149307

image-20201019165254784

image-20201019165348900

2.2.3 TBE框架ComputeAPI

image-20201019170502237

2.2 TBE算子编译过程

3 TBE单算子验证及调试

4 TBE算子整网集成

延伸学习:TBE高级认证课程

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值