Re: [apache/tvm-rfcs] [RFC] Establish TVM Unity Connection -- A Technical Strategy (PR #91)

2022-08-24 Thread Siyuan Feng
Thanks @tqchen!!! I'm excited to see the pre-RFC become this formal RFC.  

The Unity Connection is a great step from multi-level lowering compilation to a 
flexible, unified abstraction for the end-to-end model compilation. I'd like to 
summarize the [discuss 
thread](https://discuss.tvm.apache.org/t/establish-tvm-unity-connection-a-technical-strategy/13344)
 here for readers who did not participate.

## Modularized Compilation Flow
The TVM unity uses cross-layer abstraction to represent:
1. Graph IR: how to organize ops/kernels
2. Tensor IR/Libraries/FFI: how to execute the ops/kernels
Based on such abstraction, we can build the module at any stage as long as the 
module is legal. However, the current multi-stage lowering pipeline requires we 
must have a `GraphIR->TensorIR->RuntimeModule` pipeline.

## Easy to customize 
Fast customization is critical during researching and prototyping. The 
modularized workflow natively enables it. Here I'd like to share two cases:

### Ex1: Adding new operator supports
Instead of [7-step 
tutorial](https://tvm.apache.org/docs/dev/how_to/relay_add_op.html), here are 
only two steps with the unity connection:
- implement how the op is computed (both tir or libraries are good),
- Directly call the implementation in the unified abstraction.

### Ex2: Customizable operator fusion
Each pass is decoupled, which means we are able to fuse operators (to be 
general, optimize the module) in multiple passes. i.e. We can have a customized 
pass to fuse two convs while using the internal fusor to fuse the following 
element-wise ops.

## Cross-layer optimization opportunities
Layout optimization is a typical cross-layer optimization, that we are able to 
do with TVM Unity. Also, we do have some prototype results to prove it works. 
Additionally, I'm happy to see the community members working on different 
backends are all looking forward to this feature.

Note that this RFC is a technical strategy, which is a bit different with the 
Relax Upstream RFC https://github.com/apache/tvm-rfcs/pull/89. Please turn to 
that thread if you have specific comments on relax itself.

Love to hear ideas from the community.


-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/91#issuecomment-1225899168
You are receiving this because you are subscribed to this thread.

Message ID: 

[apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Andrew Reusch
This is a formal vote thread to determine committer and PMC support for 
https://github.com/apache/tvm-rfcs/pull/88. Replying +1 here means you support 
the RFC and we should merge it. This vote thread is due to the fact that the 
RFC proposes a change in the way the community operates (namely the standards 
by which we commit code). This also signals the final comment period on that 
RFC, which will conclude with this vote. All are welcomed to vote here, though 
members of the PMC have binding votes which determine the outcome of the RFC.

We'll leave this vote thread open for a week, and make a decision then.

Thanks,
Andrew

Please vote:
+1 I support the RFC
0 I'm happy either way
-1 I do not support the RFC and it should not be merged.

@apache/tvm-committers 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm-rfcs] [RFC] Add Commit Message Guideline (PR #88)

2022-08-24 Thread Andrew Reusch
I created a [vote thread](https://github.com/apache/tvm/issues/12583) to 
broadcast this more broadly to the community. Please signal your support there. 

@driazati notes that GitHub [just 
introduced](https://github.blog/changelog/2022-08-23-new-options-for-controlling-the-default-commit-message-when-merging-a-pull-request/)
 new options for controlling the default commit messages, so hopefully we can 
leverage that to implement the merge and complement that with a lint tool.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/88#issuecomment-1226442023
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Leandro Nunes
+1

Disclaimer: I’m a co-author of the original RFC

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583#issuecomment-1226450501
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Thierry Moreau
+1 (binding)

Thierry


> On Aug 24, 2022, at 5:55 PM, Leandro Nunes ***@***.***> wrote:
> 
> 
> +1
> 
> Disclaimer: I’m a co-author of the original RFC
> 
> —
> Reply to this email directly, view it on GitHub 
> , or 
> unsubscribe 
> .
> You are receiving this because you are on a team that was mentioned.
> 



-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583#issuecomment-1226468100
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Chris Sullivan
+1

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583#issuecomment-1226494567
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Tianqi Chen
+1

TQ

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583#issuecomment-1226508572
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread driazati
+1

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583#issuecomment-1226556624
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm-rfcs] [RFC] Relax Upstreaming (PR #89)

2022-08-24 Thread Yuchen Jin
Having taken onboard the feedback from community members (acknowledge the 
reviewers here), a number of us involved in this RFC (@YuchenJin, @jwfromm, 
@tqchen, @areusch, @mbaret, @jroesch, @tmoreau89) feel it’s necessary to be 
explicit about the scope of this proposal, and we apologize to those reviewing 
that this was not present in the original text.

- Acceptance of this RFC doesn't mean there is an agreement to eventually 
deprecate Relay and replace it with Relax. It only permits bringing the 
development that's currently occurring on the Relax fork into the TVM repo. 
This will improve the accessibility of that important work for community 
stakeholders who rely on it, as well as bring Relax under TVM project 
governance.

- If at a later stage it's found that individual features from Relax are 
desired in the Relay compiler (e.g. dynamic shapes, TVMScript support), design 
discussions and RFCs must take place to determine the best way to implement 
those features. Acceptance of this RFC gives no preference to Relax as the 
solution, and so evolving Relay would remain firmly on the table in those 
discussions.

The RFC has been accordingly amended to include the above commitments, which we 
hope addresses some of the valid concerns expressed so far.

cc: @leandron @ekalda @Mousius

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/89#issuecomment-1226583468
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Junru Shao
+1 (binding)

In which circumstances do we need to vote btw? I suppose it’s an approved
RFC and didn’t see objection.

On Wed, Aug 24, 2022 at 15:50 driazati 
wrote:

> +1
>
> --
> Reply to this email directly or view it on GitHub:
> https://github.com/apache/tvm/issues/12583#issuecomment-1226556624
> You are receiving this because you are subscribed to this thread.
>
> Message ID: 


Re: [apache/tvm-rfcs] [RFC] Add Commit Message Guideline (PR #88)

2022-08-24 Thread driazati
> @driazati notes that GitHub [just 
> introduced](https://github.blog/changelog/2022-08-23-new-options-for-controlling-the-default-commit-message-when-merging-a-pull-request/)
>  new options for controlling the default commit messages, so hopefully we can 
> leverage that to implement the merge and complement that with a lint tool.

This setting looks like it includes `@` tags from PRs in the default commit 
message which may make it a non-starter for us since that generates a lot of 
notifications 


-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/88#issuecomment-1226673013
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Siyuan Feng
+1

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583#issuecomment-1226697426
You are receiving this because you are subscribed to this thread.

Message ID: 

Re: [apache/tvm] [VOTE] Commit Messages RFC (Issue #12583)

2022-08-24 Thread Junru Shao
+1 (binding)

-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm/issues/12583#issuecomment-1226698748
You are receiving this because you are subscribed to this thread.

Message ID: