论文讲解——TPU-MLIR: A Compiler For TPU Using MLIR

https://arxiv.org/pdf/2210.15016.pdf

本文将对TPU-MLIR的论文进行讲解,介绍其编译流程及内部工作机制,帮助读者在之后的开发流程中更好地开源。

概览

在这里插入图片描述

TPU-MLIR概括有如下四个特点:

  1. 多框架统一处理 ,支持多种神经网络框架(pytorch/onnx/tensorflow/paddlepaddle等),且处理流程完全统一;
  2. 分层设计 ,将网络模型抽象成2层处理:
    1. TOP层,与芯片无关层,包括图优化、量化、推理等等;
    2. TPU层,与芯片相关层、包括权重重排、算子切分、地址分配、推理等等;
  3. 正确性保证
    1. TOP层推理结果与ONNX结果对比验证,确保一致;
    2. TPU层推理结果与TOP层对比,确保精度可靠;
    3. Cmodel推理结果与TPU层对比,确保硬件一致性;
      4.过程可跟踪,每一步的转换可以生成MLIR,用于跟踪和调试。

模型转换

在这里插入图片描述

  • ONNX
  • Caffe
  • TFLite
  • Pytorch/Tensorflow/PaddlePaddle --> ONNX
    ONNX提供了丰富的算子和一些基础数据类型,其通过多个node来定义计算图,每个node定义了输入(input)、输出(output)、类型和属性等,输入输出都是符号(symbol),通过这些符号的关系来确定计算依赖,完成计算图的定义。

Pytorch/Tensorflow/PaddlePaddle --> ONNX过程由外部工具完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值