TVM圖優化與算子融合
計算圖的定義
Computational graphs: a common way to represent programs in deep learning frameworks
對於圖優化來說,有很多種圖優化手段:
Operator Fusion
Constant Parameter Path Pre-Computation
Static Memory Reuse Analysis
Data Layout Transformation
AlterOpLayout
SimplifyInference
計算圖優化層(Optimizing Computational Graphs)
這個層級結構實際上是針對各種硬件后端生成了同一種運算符的微調版本,即對其中的張量運算進行了相關優化。
張量優化層(tensor optimization layer)
Schedule Space
TVM提出 Schedules 的概念,指的是一種將計算描述(張量運算)降低到后端(底層)優化實現的特定規則。這也是TVM實現的核心。
其理念是對 Schedules 空間和用於遍歷此空間的轉換進行建模,從而提供生成低級代碼的不同方法。TVM的 Schedules 空間如圖所示: