-
Quick Start Tutorial for Compiling Deep Learning Models
入门 ,构造计算图,编译计算图。
-
Cross Compilation and RPC
远程开发,嵌入式开发,交叉编译的开发方法等
-
Get Started with Tensor Expression
张量表达式的快速入门学习,如何指定schedule,如何编译一个张量表达式等
-
Compile Deep Learning Models
编译其他架构下的计算图,主要是通过relay前端导入。重点看在relay中调用外部库,tf的导入编译这两个。
-
Tensor Expression and Schedules
张量表达式和schedule
-
TEDD可视化调试工具
-
使用外部函数
利用cublas,cudnn中函数的调用。
-
使用tuple来输入和reduce
看样子是一个批量处理,就是一下处理两个tensor表达
-
Reduction
用规约来定义计算。在迭代轴axis上做split等操作,生成schedule,然后并行化等。这一部分的 Reduction Factoring and Parallelization和Cross Thread Reduction没有看懂
-
scan 和 循环
一种迭代计算模式,提供state的init、update方法,scan函数会给出n次迭代之后的结果。具体没有细看。
-
指令和数学函数
一个接口,实现平台无关的数学调用。这里用expr做了示例。可以给特定平台做特化,也可以自己创建接口。
-
schedule原语
schedule的生成方式,split,tile,fuse,reorder,bind,compute_at,compute_inline,compute_root,结合示例即可看懂。tile像是二维的split。
-
使用tensor来利用硬件特性
计算中调用手工kernel,这里用gemm调用一个嵌入汇编语言的gemv来做例子。使用s[C].tensorize(yi, gemv),特定的kernel代替某个axis。
-
-
Optimize Tensor Operators
张量算子优化
-
在GPU上优化卷积
-
在CPU上优化GEMM
-
使用tensorCore优化卷积
-
使用自动tensorCore代码生成优化GEMM
-
-
Optimize Tensor Operators
-
auto-tuning简单入门。定义knob,然后生成tasks,对tasks进行tuning
-
对卷积算子进行调优。
-
在GPU上调优卷积网络。从代码中可以看到是直接从一个计算图中提取任务的,这不用设置schedule吗?还是说都有默认的scedule生成方式呢。
-
-
Developer Tutorials
-
自定义pass 分为analyze 和 transform两个步骤。
-
How to Use Relay Pass Infra。 这一节没看懂,领会不到要解决的问题,先贴个标题
-
-
TOPI: TVM Operator Inventory
-
对常见计算,常用算子,例如conv2d,softmax等,给出了一种更方便生成schedule的方法。解放了手动编写调优模板的过程。
-