incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Sicker <boa...@gmail.com>
Subject Re: [Proposal] Apache TVM
Date Fri, 15 Feb 2019 22:10:06 GMT
Sounds like a rather exciting project! Very interesting to see open
source hardware, too. I agree that it's a valid area to act in, and it
will be increasingly necessary over time.

On Fri, 15 Feb 2019 at 14:18, Furkan KAMACI <furkankamaci@gmail.com> wrote:
>
> Hi All,
>
> TVM is very promising and I am also so excited to see such a great
> project's proposal! I would love to be a mentor too if it is possible.
>
> Kind Regards,
> Furkan KAMACI
>
> On Fri, Feb 15, 2019 at 9:52 PM Timothy Chen <tnachen@apache.org> wrote:
>
> > Very excited to see this proposed as well.
> >
> > I’d also like to volunteer mentoring if the community is open too.
> >
> > Tim
> >
> > On Fri, Feb 15, 2019 at 10:48 Henry Saputra <henry.saputra@gmail.com>
> > wrote:
> >
> > > HI Markus,
> > >
> > > I have been using TVM as part of ML platform work as consumer of the
> > > project, this is great news!
> > >
> > > Would love to come in and help as a Mentor of this project if it is Ok
> > with
> > > the community.
> > >
> > >
> > > Thanks,
> > >
> > > - Henry
> > >
> > > On Fri, Feb 15, 2019 at 10:42 AM Markus Weimer <weimer@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:
> > > >
> > > > * private@tvm.apache.org
> > > > * dev@tvm.apache.org , subscribe github issues.
> > > > * discuss-archive@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 tqchen@apache.org
> > > > - Ziheng Jiang ziheng@apache.org
> > > > - Yizhi Liu liuyizhi@apache.org
> > > > - Thierry Moreau moreau@cs.washington.edu
> > > > - Haichen Shen shenhaichen@gmail.com
> > > > - Lianmin Zheng lianminzheng@gmail.com
> > > > - Markus Weimer weimer@apache.org
> > > > - Sebastian Schelter
> > > > - Byung-Gon Chun
> > > >
> > > > Initial Committers (Including PPMCs)
> > > > - Aditya Atluri Aditya.Atluri@amd.com AMD
> > > > - Tianqi Chen tqchen@apache.org University of Washington
> > > > - Yuwei Hu huyuwei1995@gmail.com Cornell
> > > > - Nick Hynes nhynes@berkeley.edu UC Berkeley
> > > > - Ziheng Jiang ziheng@apache.org University of Washington
> > > > - Yizhi Liu liuyizhi@apache.org AWS
> > > > - Thierry Moreau moreau@cs.washington.edu University of Washington
> > > > - Siva srk.it38@gmail.com Huawei
> > > > - Haichen Shen shenhaichen@gmail.com AWS
> > > > - Masahiro Masuda masahi129@gmail.com Ziosoft
> > > > - Zhixun Tan phisiart@gmail.com Google
> > > > - Leyuan Wang laurawly@gmail.com AWS
> > > > - Eddie Yan eqy@cs.washington.edu University of Washington
> > > > - Lianming Zheng lianminzheng@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-unsubscribe@incubator.apache.org
> > > > For additional commands, e-mail: general-help@incubator.apache.org
> > > >
> > > >
> > >
> >



-- 
Matt Sicker <boards@gmail.com>

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org


Mime
View raw message