[apache/incubator-tvm] [Realy][RFC] Enhanced debugging for Relay pass (#5096)
# 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)
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)
+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)
@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)
+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)
`+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)
+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)
+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)
+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)
+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)
+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)
+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)
+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
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