简介
本系列博客的主要目的是博主在打算学习TVM时,发现对TVM的源码介绍内容非常少,因此本系列博客主要以学习TVM框架为前提下,来对TVM的源码内容进行解读,从而也能帮助更多的人来了解TVM。
TVM源码目录结构
- 3rdparty:主要是TVM使用到的第三方库
- apps:包含了TVM的扩展项目,并有使用TVM的示例
- cmake:cmake工程文件
- conda:conda安装脚本
- docker:包含TVM的docker模块
- docs:包含TVM的文档
- golang:包含TVM的golang接口
- include:包含TVM中C源码的头文件
- jvm:包含TVM的java接口
- licenses: 包含TVM使用的license
- nnvm:TVM使用的一类编译器前端nnvm
- python:TVM的Python源代码
- rust:包含TVM的rust接口?
- src:包含TVM的C源代码
- tests:包含TVM的测试用例
- topi:包含TVM的相关优化
- tutorial:包含TVM的相关教程
- vta:包含基于TVM的vta项目
- web:包含TVM的web后端
- 其他文件:相关编译文件
后续博客安排
后续安排可能主要基于TVM中tutorial的相关例子来进行说明,主要内容安排如下:
- 前端
- 图优化
- 后端优化
- 后端对接