[apache/incubator-tvm] [Realy][RFC] Enhanced debugging for Relay pass (#5096)

2020-03-19 Thread Andrew Liu
# Motivation

Working and discussing with @MarisaKirisame , we ran into a reoccurring issue 
when developing Relay passes: it is unclear whether a failed pass is at fault 
or an earlier pass which may have corrupted the AST. This makes errors in Relay 
passes harder to locate, especially when complexity grows as more passes are 
developed within the community.

Thus, if a pass fails, we want a way to check whether the input AST was bad or 
the pass itself is wrong based on the specific pass.

Currently, there is no design for pass-dependent checks. Ex. quantization does 
not support control flow. This RFC proposes to add a method for Relay pass 
developers/maintainers to specify pre/post conditions that can be called by 
Relay's Pass Manager to provide more detailed debugging whenever the pass fails.

# Proposed Design

Our main concern is creating a design that can be easily used by Relay pass 
developers/maintainers since these are the folks who have enough in-depth 
knowledge about the specific pass to write code checking the preconditions and 
postconditions. Thus, I propose to add `check` function within the Pass object. 
By default, it will have the weakest specification so that passes that haven't 
implemented check will still work, but developers will be able to override this 
function such that pass-specific checks can be used by the PassManager.

# Unsolved Problem:

- How should this function be passed into 
`CreateFunctionPass`/`CreateModulePass`/`CreateSequentialPass`

I'm fairly new to the TVM codebase, so any critical feedback is much 
appreciated.
@tqchen @zhiics @jroesch @MarisaKirisame @slyubomirsky 

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

[apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Thierry Moreau
It's been great to see growth in the TVM community contributing to VTA in the 
recent years. VTA is TVM's open source hardware accelerator stack, and consists 
of multiple components bridging hardware and software design, including RTL 
sources in Chisel and HLS, driver libraries, simulation libraries, runtime and 
JIT, TVM and Relay compiler support and passes, TOPI operator libraries for 
AutoTVM, and python scripts and tutorials.

We had an RFC last week to introduce a proposal to refactor hardware-related 
sources under `vta/vta-hw` (RTL sources, FPGA scripts, simulator sources, 
driver code) into a separate apache repository `apache/incubator-tvm-vta` , 
which will be added to the TVM repo as a submodule under `3rdparty/vta-hw`. 

Link to the discuss thread: 
[https://discuss.tvm.ai/t/rfc-vta-vta-hw-sw-refactor/5959](https://discuss.tvm.ai/t/rfc-vta-vta-hw-sw-refactor/5959)

The main reasons are:

1. We want to enable broader contributions from organizations who want 
contribute exclusively to the software or hardware part of the TVM stack.
2. We can increase CI HW testing in the hardware repo ensure robust hardware 
design (e.g. long cycle accurate simulation, running in parallel with FPGA 
bitstream compilation tests), while decreasing the load of long simulation CIs 
in `tvm`.
3. This re-org is can also incite people to upstream their TVM back-end support 
to their open source hardware by making the separation of TVM compiler support, 
and hardware sources more clear.

It is worth reiterating:

- The main compiler and runtime for VTA will continue to live in the TVM repo, 
with the same CI and toolchains setup; this is to ensure that we can evolve the 
compiler toolchain quickly and build first class compiler support for modern 
accelerators.
- The hardware part is under the same governance by the Apache TVM community. 
All of contribution history will be preserved in this new repo; and roles 
obtained through contributions to tvm will remain valid and open to promotion 
upon further contributions.
- The contributions to either repos are viewed as contributions to one and the 
same project. This would also give the community more flexibility to try out 
new hardware design variants.

This is a formal vote about the refactor proposal. This thread is automatically 
mirrored in dev@. Everyone in the community is welcomed to participate. Please 
vote by
explicitly reply to this thread, or reply to the email in dev@

The vote will last for one week and close on March 26th 2020 at noon Pacific 
Time.

Please vote:
+1 if you agree
+0 neutral
-1 because...

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Tianqi Chen
+1 TQ

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Thierry Moreau
@huajsj @liangfu @pasqoc @vegaluisjose 

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Jared Roesch
+1 

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Luis Vega
`+1`

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Krzysztof Parzyszek
+1

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Haichen Shen
+1

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Pasquale Cocchini
+1

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread MORITA Kazutaka
+1

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Liangfu Chen
+1

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread Neo Chien
+1

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

Re: [apache/incubator-tvm] [VOTE] VTA HW/SW refactor (#5102)

2020-03-19 Thread ziheng
+1

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

Podling Tvm Report Reminder - April 2020

2020-03-19 Thread jmclean
Dear podling,

This email was sent by an automated system on behalf of the Apache
Incubator PMC. It is an initial reminder to give you plenty of time to
prepare your quarterly board report.

The board meeting is scheduled for Wed, 15 April 2020, 10:30 am PDT.
The report for your podling will form a part of the Incubator PMC
report. The Incubator PMC requires your report to be submitted 2 weeks
before the board meeting, to allow sufficient time for review and
submission (Wed, April 01).

Please submit your report with sufficient time to allow the Incubator
PMC, and subsequently board members to review and digest. Again, the
very latest you should submit your report is 2 weeks prior to the board
meeting.

Candidate names should not be made public before people are actually
elected, so please do not include the names of potential committers or
PPMC members in your report.

Thanks,

The Apache Incubator PMC

Submitting your Report

--

Your report should contain the following:

*   Your project name
*   A brief description of your project, which assumes no knowledge of
the project or necessarily of its field
*   A list of the three most important issues to address in the move
towards graduation.
*   Any issues that the Incubator PMC or ASF Board might wish/need to be
aware of
*   How has the community developed since the last report
*   How has the project developed since the last report.
*   How does the podling rate their own maturity.

This should be appended to the Incubator Wiki page at:

https://cwiki.apache.org/confluence/display/INCUBATOR/April2020

Note: This is manually populated. You may need to wait a little before
this page is created from a template.

Note: The format of the report has changed to use markdown.

Mentors
---

Mentors should review reports for their project(s) and sign them off on
the Incubator wiki page. Signing off reports shows that you are
following the project - projects that are not signed may raise alarms
for the Incubator PMC.

Incubator PMC

-
To unsubscribe, e-mail: dev-unsubscr...@tvm.apache.org
For additional commands, e-mail: dev-h...@tvm.apache.org