From cd9d0eb4565ece30317b6de9a9d8ba594a91972a Mon Sep 17 00:00:00 2001 From: Junru Shao Date: Sun, 15 Aug 2021 01:17:09 +0000 Subject: [PATCH 1/2] Re-number the Meta Schedule RFC --- ...chedule-autotensorir.md => 0005-meta-schedule-autotensorir.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rfcs/{0001-meta-schedule-autotensorir.md => 0005-meta-schedule-autotensorir.md} (100%) diff --git a/rfcs/0001-meta-schedule-autotensorir.md b/rfcs/0005-meta-schedule-autotensorir.md similarity index 100% rename from rfcs/0001-meta-schedule-autotensorir.md rename to rfcs/0005-meta-schedule-autotensorir.md From 15d07cbfaf1d4e0188062900379233543d0ef086 Mon Sep 17 00:00:00 2001 From: Junru Shao Date: Sun, 15 Aug 2021 03:14:16 +0000 Subject: [PATCH 2/2] update with Andrew's suggestions --- rfcs/0005-meta-schedule-autotensorir.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/rfcs/0005-meta-schedule-autotensorir.md b/rfcs/0005-meta-schedule-autotensorir.md index 79c192d8..46cdd84c 100644 --- a/rfcs/0005-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