I'm very excited to see this proposal!

-Gon

On Mon, Feb 18, 2019 at 9:06 AM Sebastian <s...@apache.org> wrote:

> I have also volunteered as a potential mentor for the TVM project and I
> am very excited about it :)
>
> Best,
> Sebastian
>
> On 17.02.19 09:02, Kevin A. McGrail wrote:
> > +1 binding with a caveat:
> >
> > You need mentors and champions from Apache who are available and ideally
> > active in the incubator.  Markus had to step down on hivemail last
> > year.  Has his situation changed?
> >
> > Some comments:
> > The hardware artifacts being donated is interesting and something I
> > would support helping.  We might want to loop in the secretary and legal
> > vps to discuss.
> >
> > The reviewer status is something the pmc can elect to do.  They might
> > end up with the same karma as committers on any repos if they need that
> > karma is the only hurdle I can think of.  But we like a model of trust
> > for people so it should be a good thing.
> >
> > But otherwise looks like a great start!
> > KAM
> > On Fri, Feb 15, 2019, 13:42 Markus Weimer <wei...@apache.org
> > <mailto:wei...@apache.org> wrote:
> >
> >     Hi,
> >
> >     we'd like to start the discussion of accepting TVM into the
> incubator.
> >     Please see the proposal below. I'd like to highlight a few things for
> >     our discussion:
> >
> >     (1) The project already follows many Apache ways like meritocracy,
> >     open development and such.
> >
> >     (2) The project recognizes an in-between state of "reviewer" that it
> >     nominates people for between contributor and committer status. We'd
> >     like to learn if and how to maintain that in the future.
> >
> >     (3) The project contains hardware as a software artifact. We are not
> >     aware of another ASF project like that and wonder if and how it
> >     affects its acceptance into the incubator.
> >
> >     Thanks!
> >
> >     Markus
> >
> >     === Proposal ===
> >
> >     We propose to incubate the TVM project the Apache Software
> >     Foundation. TVM is a
> >     full stack open deep learning compiler stack for CPUs, GPUs, and
> >     specialized
> >     accelerators. It aims to close the gap between the
> >     productivity-focused deep
> >     learning frameworks, and the performance- or efficiency-oriented
> >     hardware
> >     backends.
> >
> >     === Background ===
> >
> >     There is an increasing need to bring machine learning to a wide
> >     diversity of
> >     hardware devices. Current frameworks rely on vendor-specific
> >     operator libraries
> >     and optimize for a narrow range of server-class GPUs. Deploying
> >     workloads to new
> >     platforms -- such as mobile phones, embedded devices, and
> >     accelerators (e.g.,
> >     FPGAs, ASICs) -- requires significant manual effort. TVM is an end
> >     to end deep
> >     learning a compiler that exposes graph-level and operator-level
> >     optimizations to
> >     provide performance portability to deep learning workloads across
> >     diverse
> >     hardware back-ends. TVM solves optimization challenges specific to
> deep
> >     learning, such as high-level operator fusion, mapping to arbitrary
> >     hardware
> >     primitives, and memory latency hiding. It also automates
> optimization of
> >     low-level programs to hardware characteristics by employing a novel,
> >     learning-based cost modeling method for rapid exploration of program
> >     optimizations.
> >
> >     Moreover, there is increasing interest in designing specialized
> >     hardware which
> >     accelerates machine learning. Towards this goal, TVM introduces VTA,
> >     an open
> >     source deep learning accelerator as part of its stack. The open
> >     source VTA
> >     driver and hardware design is a crucial step toward building
> >     software support
> >     for future ASICs. The TVM-VTA flow acts as a is the great frontier
> for
> >     researchers and practitioners to explore specialized hardware
> designs.
> >
> >
> >     === Rationale ===
> >
> >     Deep learning compilation will be the next frontier of machine
> >     learning systems.
> >     TVM is already one of the leading open source projects pursuing this
> >     direction.
> >
> >     Specifically, TVM provides infrastructure to use machine learning to
> >     automatically optimize deployment of deep learning programs on
> >     diverse hardware
> >     backends.
> >
> >
> >     === VTA: Open Source Hardware Design ===
> >
> >     TVM also contains open source hardware as part of its stack. The VTA
> >     hardware
> >     design is a fully open sourced deep learning accelerator that allows
> >     us to
> >     experiment with compiler, driver, runtime, and execute the code on
> >     FPGA. VTA
> >     provides a path to target future ASICs, and build software-driven
> >     solutions to
> >     co-design future deep learning accelerators.
> >
> >     Having an open source hardware design in an ASF project is rare and
> >     perhaps
> >     unprecedented. We put some of our rationale on why it is necessary
> >     for the
> >     community.
> >
> >     Deep learning specialized ASICs are going to be at the center of the
> AI
> >     revolution. However, given its early shape, there is no open
> >     standard, or even
> >     any available information hardware interface that allows an open
> >     source software
> >     to target to. VTA provides such open source hardware abstraction
> >     layer and
> >     allows us to build in abstractions that can be effectively used to
> >     target other
> >     deep learning accelerators.
> >
> >     Moreover, there is an increasing need for co-designing future of
> machine
> >     learning systems with the hardware abstraction. Having a co-designed
> >     open source
> >     hardware stack along with the software creates a path for this
> >     route. In short,
> >     we need open-source hardware to build the best open source software.
> >
> >     Finally, we can still view VTA design as “software”, as its source
> >     code is
> >     written in source description language and can generate “binary”
> >     which can run
> >     on FPGA and possibly simulators.
> >
> >
> >     === Current Status ===
> >
> >     TVM is open sourced under the Apache License for one and half years.
> >     See the
> >     current project website (https://tvm.ai/), Github
> >     (https://github.com/dmlc/tvm/), as well as TVM Conference
> >     (https://sampl.cs.washington.edu/tvmconf/#about-tvmconf)
> >
> >     TVM has already been used in production, some highlights are AWS
> >     (Sagemaker
> >     Neo), Huawei (AI Chip compilation) and Facebook (mobile
> >     optimization). We
> >     anticipate the list of adopters to grow over the next few years.
> >
> >     === Meritocracy ===
> >
> >     The TVM stack began as a research project of the SAMPL group at Paul
> >     G. Allen
> >     School of Computer Science & Engineering, University of Washington.
> >     The project
> >     is now driven by an open source community involving multiple
> >     industry and
> >     academic institutions. The project is currently governed by the
> >     Apache Way
> >     (https://docs.tvm.ai/contribute/community.html). The project now
> has 14
> >     committers and 6 PMCs, and the list is actively growing. The PMCs
> >     uses a google
> >     group mail-list to vote in new committers/PMCs, which will be moved
> >     to private@
> >     after incubation.
> >
> >     The community highly values open collaboration among contributors
> >     from different
> >     backgrounds.The current committers come from UW, Berkeley, Cornell,
> >     SJTU, AMD,
> >     AWS, Huawei, Google, Facebook, Ziosoft.
> >
> >
> >     === Community ===
> >
> >     The project currently has 173 contributors. As per the Apache way,
> >     all the
> >     discussions are conducted in publicly archivable places.
> >
> >     - Github issues are used to track development activities and RFC.
> >     - The roadmap is public and encourages participation from everyone
> >     in the
> >     community.
> >     - Discussion forums for general discussions. https://discuss.tvm.ai
> >     - The content of the discourse forum can be considered as a public
> >     archive
> >     as it is searchable with all the content
> >     - We also created a mail-list archive of the forum, which we will
> >     forward to
> >     an Apache mail-list after incubation
> >     https://groups.google.com/forum/#!forum/tvm-discuss-archive
> >
> >     - See https://tvm.ai/community
> >     - See https://github.com/dmlc/tvm/releases for past releases.
> >
> >     Currently, Github issue serves as dev@ channel. Notably, major
> >     features always
> >     start from RFCs discussions to encourage broad participation in the
> >     community.
> >
> >     The community recognizes potential committers early by bringing
> >     contributors as
> >     code reviewers and encourages them to participate in code reviews.
> >     Code reviews
> >     and high-quality code are fundamental to the long-term success of
> >     the project.
> >     The reviewer mechanism in the community serves a way to highlight
> >     this aspect as
> >     well as helping the community find good candidates to promote to
> >     committers.
> >
> >
> >
> >     ==== Development and Decision Process ====
> >
> >     See
> >
> https://docs.tvm.ai/contribute/community.html#general-development-process
> >     for the current development guideline. The key points are: Open
> >     public roadmap
> >     during development, which turns into release notes Major features
> >     start with an
> >     RFC, everything happens in public Encourage public discussion via
> >     archivable
> >     channels Strive to reach a consensus on technical decisions through
> >     discussion
> >     Moderation from committers and encourage everyone’s participation
> >
> >     Example Roadmap: https://github.com/dmlc/tvm/issues/1170
> >     The idea is to keep an active list of roadmaps that can be turned
> >     directly
> >     into a release note. Public roadmap helps to encourage general
> >     participation
> >     from all contributors.
> >
> >     Example 1:
> >     Recently a major proposal in the community is to bring in a new
> >     high-level IR, RFC thread: https://github.com/dmlc/tvm/issues/1673
> >     The pull
> >     request: https://github.com/dmlc/tvm/pull/1672 Everyone who
> >     participated in the
> >     RFC is invited to review the code as well - Follow up features are
> >     proposed as
> >     follow up RFCs.
> >
> >     Example 2: Community guideline improvements
> >     RFC thread: https://github.com/dmlc/tvm/issues/2017
> >     Slack channel setup as per community suggestion, but still encourage
> the
> >     community to only use it for quick communication and use publicly
> >     archived
> >     channels for development: https://github.com/dmlc/tvm/issues/2174
> >
> >     Example 3: Python3 timeline proposal
> >     RFC thread: https://github.com/dmlc/tvm/issues/1602
> >     Finished with the decision to respect backward compatibility and
> >     keep python2
> >     support.
> >
> >     See
> >
> https://github.com/dmlc/tvm/issues?utf8=%E2%9C%93&q=label%3A%22status%3A+RFC%22+
> >     for a full list of RFCs.
> >
> >
> >     === Alignment ===
> >
> >     TVM is useful for building deep learning deployment solutions. It is
> >     perhaps
> >     also the first Apache incubator proposal that includes both open
> >     source software
> >     and hardware system design.
> >
> >     It has the potential to benefit existing related ML projects such as
> >     MXNet,
> >     Singa, SystemML, and Mahout by providing powerful low-level
> >     primitives for
> >     matrix operations.
> >
> >
> >     === Known Risks ===
> >
> >     ==== Orphaned products ====
> >
> >     The project has a diverse contributor base. As an example, the
> current
> >     committers come from: UW, Berkeley, Cornell, SJTU, AMD, AWS, Google,
> >     Facebook,
> >     Ziosoft, Huawei. We are actively growing this list. Given that the
> >     project has
> >     already been used in production, there is a minimum risk of the
> >     project being
> >     abandoned.
> >
> >     ==== Inexperience with Open Source ====
> >
> >     The TVM community has extensive experience in open source. Three of
> >     current five
> >     PMCs are already PPMCs of existing Apache projects. Over the course
> of
> >     development, the community already has a good way bringing RFCs,
> >     discussions and
> >     most importantly, welcoming new contributors in the Apache way.
> >
> >     ==== Homogenous Developers ====
> >
> >     The project has a diverse contributor base. As an example, the
> current
> >     committers comes from: UW, Berkeley, Cornell, SJTU, AMD, AWS,
> >     Huawei, Google,
> >     Facebook, Ziosoft. The community actively seeks to collaborative
> >     broadly. The
> >     PMCs followed a principle to *only* nominate committers outside
> >     their own
> >     organizations.
> >
> >
> >     === Reliance on Salaried Developers ===
> >
> >     Most of the current committers are volunteers.
> >
> >     === Relationships with Other Apache Products ===
> >
> >     TVM can serve as a fundamental compiler stack for deep learning and
> >     machine
> >     learning in general. We expect it can benefit projects like MXNet,
> >     Spark, Flink,
> >     Mahout, and SystemML.
> >
> >     === Documentation ===
> >
> >     See https://tvm.ai/
> >
> >     === Initial Source ===
> >
> >     https://github.com/dmlc/tvm
> >
> >     We plan to move our repository to
> >     https://github.com/apache/incubator-tvm
> >
> >
> >     === Source and Intellectual Property Submission Plan ===
> >
> >     TVM source code is available under Apache V2 license. We will work
> >     with the
> >     committers to get ICLAs signed.
> >
> >     === External Dependencies ===
> >
> >     We put all the source level dependencies under
> >     https://github.com/dmlc/tvm/tree/master/3rdparty
> >
> >     - dmlc-core (Apache2): https://github.com/dmlc/dmlc-core
> >     - dlpack (Apache2): https://github.com/dmlc/dlpack
> >     - HalideIR (MIT): https://github.com/dmlc/HalideIR
> >     - range(Unlicense): https://github.com/agauniyal/rang
> >     - Compiler-RT (BSD)
> >     - LLVM
> >
> >     All of the current he dependencies are stable, which means that the
> >     current TVM
> >     repo is standalone and main development activities only happen at
> >     the TVM repo.
> >     The dependencies are periodically updated in the rate about once a
> >     month when
> >     necessary. For source level dependencies, we will always point to a
> >     stable
> >     release version for software release in the future.
> >
> >
> >     === External Dependencies on DMLC projects ===
> >
> >     There are three dependencies to dmlc projects in the 3rdparty. The
> >     current
> >     proposal is to keep the current dependencies in the 3rdparty. We
> >     elaborate on
> >     the background of these dependencies below:
> >
> >     - dmlc-core: is a minimum module for logging and memory
> >     serialization. It is
> >     currently used by projects including ApacheMXNet, TVM, and XGBoost.
> The
> >     project is relatively stable, with around one change a week(most
> recent
> >     changes comes from XGBoost project). TVM’s dependency on dmlc-core
> >     is minimum
> >     and only uses its feature for logging.
> >     - dlpack: is a minimum consensus standard for in-memory Tensor
> >     format. It is
> >     currently used by PyTorch, ApacheMXNet, Chainer, and a few other
> >     projects.
> >     - HalideIR: is a minimum IR data structure that is isolated from a
> >     fork of
> >     Halide project. We keep the license to be MIT to respect the
> >     original license
> >     and its origin. A common consensus in the TVM project is that we
> >     keep the old
> >     derived code in HalideIR (which are stable), and all new
> >     developments happen
> >     in the TVM repo.
> >
> >     The main reason to propose keep these dependencies are:
> >     - Each of the dependencies has the user and developer community of
> >     its own
> >     which is larger than the TVM community or different license
> >     options(MIT in
> >     HalideIR)
> >     - These dependencies are stable and update at a monthly rate.
> >
> >     While it is possible to fork the code in the tvm repo, given that
> >     the current
> >     tvm repo is self-contained, and community development is
> >     stand-alone, we feel
> >     that there are have enough justifications to treat these as 3rdparty
> >     dependencies.
> >
> >
> >     === Required Resources ===
> >
> >     ==== Mailing List: ====
> >     The usual mailing lists are expected to be set up when entering
> >     incubation:
> >
> >     * priv...@tvm.apache.org <mailto:priv...@tvm.apache.org>
> >     * d...@tvm.apache.org <mailto:d...@tvm.apache.org> , subscribe github
> >     issues.
> >     * discuss-arch...@tvm.apache.org
> >     <mailto:discuss-arch...@tvm.apache.org>, Archive the discuss content
> >     of the
> >     discourse user forum
> >
> >
> >     Currently, we only use issues for developments and encourage
> >     community to use
> >     discuss forums when possible. As a result, the current github issues
> >     serves
> >     similar purposes as dev@, so we propose to subscribe github issues
> >     to dev@ after
> >     incubation.
> >
> >     The current community use https://discuss.tvm.ai/ for general
> >     technical and
> >     support discussions. The community forum is maintained by PMCs. We
> >     propose to
> >     continue to use the forum and archive the posts to an Apache
> >     mail-list. We
> >     already have the mechanism to do so (see
> >     https://groups.google.com/forum/#!forum/tvm-discuss-archive)
> >
> >
> >
> >     ==== Git Repositories: ====
> >
> >     Upon entering incubation, we plan to transfer the existing repo from
> >     https://github.com/dmlc/tvm to
> https://github.com/apache/incubator-tvm.
> >
> >
> >
> >
> >     ==== Issue Tracking: ====
> >
> >     TVM currently uses GitHub to track issues. We would like to continue
> >     to do so
> >     while we discuss migration possibilities with the ASF Infra team.
> >
> >     ==== URL: ====
> >
> >     Current project website: https://tvm.ai/, as we proceed website will
> >     migrate to
> >     https://tvm.incubator.apache.org and hopefully
> https://tvm.apache.org
> >
> >     === Initial Committers and PMCs ===
> >
> >     As the project has already followed the Apache way of development(in
> >     terms of
> >     meritocracy, community, and archive of public discussion). We plan
> >     to transition
> >     the current PMCs to PPMCs , and committers to apache committers.
> >     There are also
> >     ongoing votes and discussions in the current tvm PMC private
> >     mail-list about new
> >     committers/PMCs(we also invited our tentative mentors as observers
> >     to the
> >     mail-list). We plan to migrate the discussions to private@ after the
> >     proposal
> >     has been accepted and bring in the new committers/PPMCs according to
> the
> >     standard Apache community procedure.
> >
> >
> >     Initial PPMCs
> >     - Tianqi Chen tqc...@apache.org <mailto:tqc...@apache.org>
> >     - Ziheng Jiang zih...@apache.org <mailto:zih...@apache.org>
> >     - Yizhi Liu liuyi...@apache.org <mailto:liuyi...@apache.org>
> >     - Thierry Moreau mor...@cs.washington.edu
> >     <mailto:mor...@cs.washington.edu>
> >     - Haichen Shen shenhaic...@gmail.com <mailto:shenhaic...@gmail.com>
> >     - Lianmin Zheng lianminzh...@gmail.com <mailto:
> lianminzh...@gmail.com>
> >     - Markus Weimer wei...@apache.org <mailto:wei...@apache.org>
> >     - Sebastian Schelter
> >     - Byung-Gon Chun
> >
> >     Initial Committers (Including PPMCs)
> >     - Aditya Atluri aditya.atl...@amd.com <mailto:aditya.atl...@amd.com>
> AMD
> >     - Tianqi Chen tqc...@apache.org <mailto:tqc...@apache.org>
> >     University of Washington
> >     - Yuwei Hu huyuwei1...@gmail.com <mailto:huyuwei1...@gmail.com>
> Cornell
> >     - Nick Hynes nhy...@berkeley.edu <mailto:nhy...@berkeley.edu> UC
> >     Berkeley
> >     - Ziheng Jiang zih...@apache.org <mailto:zih...@apache.org>
> >     University of Washington
> >     - Yizhi Liu liuyi...@apache.org <mailto:liuyi...@apache.org> AWS
> >     - Thierry Moreau mor...@cs.washington.edu
> >     <mailto:mor...@cs.washington.edu> University of Washington
> >     - Siva srk.i...@gmail.com <mailto:srk.i...@gmail.com> Huawei
> >     - Haichen Shen shenhaic...@gmail.com <mailto:shenhaic...@gmail.com>
> AWS
> >     - Masahiro Masuda masahi...@gmail.com <mailto:masahi...@gmail.com>
> >     Ziosoft
> >     - Zhixun Tan phisi...@gmail.com <mailto:phisi...@gmail.com> Google
> >     - Leyuan Wang laura...@gmail.com <mailto:laura...@gmail.com> AWS
> >     - Eddie Yan e...@cs.washington.edu <mailto:e...@cs.washington.edu>
> >     University of Washington
> >     - Lianming Zheng lianminzh...@gmail.com
> >     <mailto:lianminzh...@gmail.com> Shanghai Jiao Tong University
> >
> >
> >     === Sponsors: ===
> >
> >     ==== Champion: ====
> >     * Markus Weimer, Microsoft
> >
> >     ==== Mentors: ====
> >     * Sebastian Schelter, New York University
> >     * Byung-Gon Chun, Seoul National University
> >
> >     ==== Sponsoring Entity ====
> >     We are requesting the Incubator to sponsor this project.
> >
> >     ---------------------------------------------------------------------
> >     To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> >     <mailto:general-unsubscr...@incubator.apache.org>
> >     For additional commands, e-mail: general-h...@incubator.apache.org
> >     <mailto:general-h...@incubator.apache.org>
> >
>


-- 
Byung-Gon Chun

Reply via email to