Coder Social home page Coder Social logo

tvm_mlir_learn's Introduction

tvm_mlir_learn

我也维护了一个cuda学习仓库 https://github.com/BBuf/how-to-optim-algorithm-in-cuda 以及一个如何学习深度学习框架(PyTorch和OneFlow)的学习仓库,https://github.com/BBuf/how-to-learn-deep-learning-framework , 有需要的小伙伴可以点一点star

项目结构介绍

  • scheduler TVM 中 scheduler 详细举例,这里将 https://zhuanlan.zhihu.com/p/94846767 这篇文章的例子用TVM 0.8.0.dev 重写。
  • dataflow_controlflow 数据流和控制流的区别示例,这里是Pytorch为例子。
  • paper_reading 编译器方面的一些论文阅读,如 PET / Ansor/ MLIR 等。
  • relay TVM 中一些 Relay 相关的示例,比如如何自定义 Pass,如何在 Jetson Nano 中运行DarkNet的YOLO模型等。
  • codegen TVM 中 Codegen 相关示例,基于张量表达式和Relay IR。
  • torchscript Pytorch的TorchScript的用法。
  • compile_tvm_in_docker.md 。在Docker中编译TVM。
  • tvm_pytorch_resnet18_inference.py 使用 TVM 在 X86 CPU 上运行 Pytorch 的 ResNet18 模型。
  • tvm_onnx_resnet18_inferentaicce.py TVM 加载 ResNet18 的 ONNX 模型进行推理。
  • pytorch_resnet18_export_onnx.py Pytorch 导出 ResNet18 的 ONNX 模型示例。
  • optimize_gemm 让深度学习编译器来指导我们写代码,以GEMM为例。

AI编译器/LLVM相关学习资料整理

视频收集

GiantPandaCV 翻译的视频

LLVM 系列视频对应的源码在:https://github.com/lac-dcc/llvm-course

国内其它up主的编译器视频(包含LLVM/MLIR/TVM)

LLVM相关视频

LLVM相关的视频比较少,youtube上比较多,上面 GiantPandaCV 翻译的几期 LLVM 入门视频也是来源于 youtube,大家可以自行查找学习。

MLIR相关视频

TVM相关视频

GiantPandaCV原创的学习笔记

其它博客和网站精选(TVM&MLIR&LLVM 相关)

LLVM精选

TVM精选

MLIR精选

其它编译器&&论文阅读

开拓眼界...

系统性的专栏或者网站

工具介绍

Star History

Star History

Star History Chart

tvm_mlir_learn's People

Contributors

bbuf avatar legendbc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tvm_mlir_learn's Issues

When I ran the tvm_pytorch_resnet18_inference.py, I met the problem

One or more operators have not been tuned. Please tune your model for better performance. Use DEBUG logging level to see more details.
Relay top-1 id: 281, class name: tabby, tabby cat, class probality: 0.3626886010169983
Torch top-1 id: 281, class name: tabby, tabby cat, class probality: 0.36268892884254456
Relay time(ms): 41.741
Torch time(ms): 16.326
free(): invalid pointer
Aborted

关于PET论文阅读里面的一点疑问?

在介绍 部分等价变换的时候,shape变换是

[b, c, h, w] -> reshape -> [b / 2, 2, c, h, w] -> transpose -> [b / 2, c , h, w, 2] 。

按照配图以及原文的内容

It concatenates two individual images into a larger one along the width dimension to improve performance.

这里的shape变换是不是应该为

[b, c, h, w] -> reshape -> [b / 2, 2, c, h, w] -> transpose -> [b / 2, c , h, w, 2] -> concat ->[b / 2, c , h, w*2]

tvm.context出错

貌似是新版本中,tvm.context已经被替换成了tvm.device

运行报段错误

在wsl中安装clang后,又编译tvm,然后在执行tvm_pytorch_resnet18_inference.py 文件时候出错。

clang --version
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
python tvm_pytorch_resnet18_inference.py 
[10:03:49] /home/li/tvm/src/target/parsers/aprofile.cc:118: Warning: Cannot parse Arm(R)-based target features without LLVM support.
[10:03:49] /home/li/tvm/src/target/parsers/aprofile.cc:118: Warning: Cannot parse Arm(R)-based target features without LLVM support.
[10:03:49] /home/li/tvm/src/target/parsers/aprofile.cc:118: Warning: Cannot parse Arm(R)-based target features without LLVM support.
[10:03:49] /home/li/tvm/src/target/parsers/aprofile.cc:118: Warning: Cannot parse Arm(R)-based target features without LLVM support.
[10:03:49] /home/li/tvm/src/target/parsers/aprofile.cc:118: Warning: Cannot parse Arm(R)-based target features without LLVM support.
/home/li/.tvm_test_data/data/cat.png
Segmentation fault

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.