From ba7a3b16e1f184915d08071fea9b06145428af98 Mon Sep 17 00:00:00 2001 From: Junru Shao Date: Tue, 17 Aug 2021 09:36:27 -0700 Subject: [PATCH] [Refactor] Meta Schedule RFC (#21) * Re-number the Meta Schedule RFC * update with Andrew's suggestions --- ....md => 0005-meta-schedule-autotensorir.md} | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) rename rfcs/{0001-meta-schedule-autotensorir.md => 0005-meta-schedule-autotensorir.md} (97%) diff --git a/rfcs/0001-meta-schedule-autotensorir.md b/rfcs/0005-meta-schedule-autotensorir.md similarity index 97% rename from rfcs/0001-meta-schedule-autotensorir.md rename to rfcs/0005-meta-schedule-autotensorir.md index 79c192d8..46cdd84c 100644 --- a/rfcs/0001-meta-schedule-autotensorir.md +++ b/rfcs/0005-meta-schedule-autotensorir.md @@ -31,14 +31,18 @@ Meta Schedule is the 3rd generation automatic scheduling system. ## 2. Motivation -**Scheduling.** In TVM, -both TensorIR and TE allow direct or indirect IR transformation guided by a -developer-provided program, for example, -specifying a particular reordering of loops for better locality, -or tensorizing a compute region with specific hardware intrinsics. -The process of invoking such a set of pre-defined transformations is called "**scheduling**", -and each of such transformations is called a "**schedule primitive**". -These primitives form a domain-specific language (DSL). +**Scheduling.** +In TVM, computation of each operator is described +by either Tensor Expression (TE, the prior standard) or +[TensorIR](https://discuss.tvm.apache.org/t/rfc-tensorir-a-schedulable-ir-for-tvm/7872) (TIR). +Through a process known as **scheduling**, +TVM allows a pre-defined set of transformations over these IRs, +either lazily (transforms by manipulating the schedule tree) +or eagerly (transforms by manipulating TIR), +so that the end IRs could be lowered to code with potentially better performance. +Such transformations are guided by a developer-provided program, +which consist of this pre-defined set of transformations, +called **schedule primitives**. **Design space.** The set of all possible schedulings of a TE/TensorIR is called its design space. Optimization in TVM is essentially exploring such space to find out a scheduling that transforms the