Skip to content

Roadmap

HarmonyHu edited this page Nov 17, 2022 · 5 revisions

This document lists general directions of TPU-MLIR, include principal goals, plans, etc.

Principal goals

  • keep regular sync with mlir from project llvm-project.
  • continue maintaining high-quality, well-tested and documented modules.
  • support AI machine learning frameworks: ONNX, TFLite, Caffe.
  • support various neuron network models, such as resnet, yolo, ssd, bert, etc.
  • support various chips, especially SOPHGO TPU, such as BM1684X, BM1684, CV18XX, Athena2, etc.
  • follow newest MLIR compiler technology, and put it on this project efficently.
  • keep high performance and hign accuraccy, especially for INT8 quantization models.
  • support various tools to improve development conveniently and efficiently.

Plans

gantt
dateformat YYYY-MM
title Plans in 2022 and 2023

section TPU Support
1684X support : done, crit, task_chip, 2022-03, 2022-06
18XX support : active, crit, task_chip, 2022-10, 2023-01
Athena2 support : active, crit, task_chip, 2022-11, 2023-01
1684 support : active, crit, task_chip, 2022-12, 2023-02

section NN Framework Support
ONNX : done, crit, task_NN, 2022-03, 2022-06
TFlite : done, crit, task_NN, 2022-06, 2022-10
Caffe : done, crit, task_NN, 2022-09, 2022-10
ONNX-MLIR : active, crit, task_NN, 2023-05, 2023-08
TORCH-MLIR: active, crit, task_NN, 2023-06, 2023-09
Tensorflow-MLIR: active, crit, task_NN, 2023-07, 2023-10

section Tools
model_runner.py: done, crit, task_tool, 2022-03, 2022-04
npz_tool.py: done, crit, task_tool, 2022-03, 2022-04
run_calibration.py: done, crit, task_tool, 2022-03, 2022-04
bmodel_dis.py: done, crit, task_tool, 2022-06, 2022-09
run_qtable.py: done, crit, task_tool, 2022-10, 2022-11
mlir2onnx.py: active, crit, task_tool, 2022-10, 2023-01

section Functions
layergroup basic: done, crit, task_func, 2022-05, 2022-06
layergroup refine1: done, crit, task_func, 2022-08, 2022-10
layergroup refine2: active, crit, task_func, 2022-10, 2023-01
cpu layer: active, crit, task_func, 2022-10, 2023-01
QAT: active, crit, task_func, 2022-09, 2023-01
dynamic compile: active, crit, task_func, 2022-10, 2023-03
mix precision: active, crit, task_func, 2022-11, 2023-03
mix precision plus: active, crit, task_func, 2022-12, 2023-04
min/max refine: active, crit, task_func, 2022-12, 2023-03
lowering LLVM IR: active, crit, task_func, 2022-12, 2023-03
TFLite op test: active, crit, task_func, 2023-03, 2023-06

section OpenSource
TPU-MLIR: done, crit, task_os, 2022-03, 2022-05
TPU Manual: active, crit, task_os, 2023-03, 2023-05
TPU code: active, crit, task_os, 2023-03, 2023-05

section NN Models Support
Resnet50: done, crit, task_model, 2022-03, 2022-06
Modilenet: done, crit, task_model, 2022-06, 2022-07
SSD: done, crit, task_model, 2022-06, 2022-07
Yolov5: done, crit, task_model, 2022-06, 2022-07
Vgg16: done, crit, task_model, 2022-07, 2022-08
Shufflenet: done, crit, task_model, 2022-07, 2022-08
Squeezenet: done, crit, task_model, 2022-07,2022-08
Efficientnet: done, crit, task_model, 2022-07,2022-08
Mnist: done, crit, task_model, 2022-07, 2022-08
Densenet: done, crit, task_model, 2022-08, 2022-09
Senet: done, crit, task_model, 2022-08, 2022-09
Inception: done, crit, task_model, 2022-08, 2022-09
Yolov3: done, crit, task_model, 2022-08, 2022-09
Resnet50_tflite: done, crit, task_model, 2022-06, 2022-08
Modilenet_tflite: done, crit, task_model, 2022-08, 2022-10
Inception_tflite: active, crit, task_model, 2022-09, 2022-11
Yolov5_tflite: active, crit, task_model, 2022-11, 2022-12
ssd_mobilenet: active, crit, task_model, 2022-12, 2023-01
mobilebert: active, crit, task_model, 2022-12, 2023-01

Loading

Notes

CHIP Product
BM1684X SC7, SE7
BM1684 SC5, SG6, SE6, SE5, SM5
CV18XX CV1838, CV1835, CV1826, CV1825, CV1823, CV1821, CV1820, CV1813H, CV1812H, CV1811H, CV1810H, CV1812C, CV1811C
Athena2 on going
Clone this wiki locally