Hzfengsy commented on code in PR #89:
URL: https://github.com/apache/tvm-rfcs/pull/89#discussion_r950144597


##########
rfcs/0089-relax-upstreaming.md:
##########
@@ -0,0 +1,701 @@
+- Feature Name: Relax Upstreaming
+- Start Date: 2022-08-17
+- RFC PR: [apache/tvm-rfcs#0089](https://github.com/apache/tvm-rfcs/pull/0089)
+- GitHub Issue: [apache/tvm#0000](https://github.com/apache/tvm/issues/0000)
+- Co-Authors: [@denise-k](https://github.com/denise-k), 
[@jwfromm](https://github.com/jwfromm)
+
+# 1. **Summary**
+
+This RFC proposes to upstream the core foundation of Relax (Relay Next). Relax 
is a new graph-level IR that enables new capabilities to address the [critical 
needs](https://discuss.tvm.apache.org/t/establish-tvm-unity-connection-a-technical-strategy/13344)
 identified by the TVM community over the years of using and developing deep 
learning compilers.
+
+# 2. **Motivation and goals**
+
+Relax is an effort within [TVM 
Unity](https://tvm.apache.org/2021/12/15/tvm-unity) that aims to evolve the 
graph-level IR to maximize **expressibility, performance, and portability** 
across today and tomorrow’s workloads. Relax has three key goals motivated by 
the TVM community’s needs, and lessons the community has learned in ML 
acceleration through years of using and developing TVM:

Review Comment:
   I'd like to explain more about the **Runtime performance**
   
   For a single operator or a single subgraph, relax uses Meta-schedule, which 
is the same as what relay does. However, relax gives us an opportunity to break 
the boundary between Graph-Op and low-level and enable optimization across the 
layer - for example, the **layout rewrite** (as I mentioned at 
https://discuss.tvm.apache.org/t/establish-tvm-unity-connection-a-technical-strategy/13344/4).
   
   @jinhongyii has finished a prototype for automatic (data and weight) layout 
rewrite, which has about 10% speedup. 
   
   However, relay has no such ability to support it. Because:
   1. relay defines the layout at graph level and can not get feedback from the 
low-level operators
   2. We must register each possible layout to the relay operator, which is 
impossible. 
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to