[llvm-dev] [RFC] Proposal for CIRCT incubator project

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 8 07:54:48 PDT 2020


This seems pretty cool and as a "not involved with any of the projects
being used outside of llvm" observer I support the inclusion of this
project in the incubator. :)

-eric

On Tue, Jul 7, 2020 at 5:34 PM Stephen Neuendorffer via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Sure, I'll summarize with respect to the criterion in the document:
>
>    - Must be generally aligned with the mission of the LLVM project to
>    advance compilers, languages, tools, runtimes, etc.
>
> CIRCT is a compiler which is built around LLVM/MLIR.  We anticipate
> building code generation for ASIC and FPGA backends along with specialized
> accelerators, while leveraging existing LLVM backends for processor targets.
>
>    - Must conform to the license, patent, and code of conduct policies
>    laid out in this developer policy document.
>
> Contributions are currently ApacheV2 licensed and we have adopted the
> general structure of the LLVM developer policies already, to the extent
> that we can as an external project.
>
>    - Must have a documented charter and development plan, e.g. in the
>    form of a README file, mission statement, and/or manifesto.
>
> See  https://github.com/circt/circt and
> https://github.com/circt/circt/blob/master/docs/Charter.md
>
>    - Should conform to coding standards, incremental development process,
>    and other expectations.
>
> The project mostly consists of MLIR dialects and transformations following
> the MLIR standalone dialect example implemented using c++14 and FileCheck
> for regressions.  We are currently using Github PRs for code review and a
> nifty CI system that caches the most recent LLVM build for good performance
> using github hosted builds.  See  https://github.com/circt/circt
>
>    - Should have a sense of the community that it hopes to eventually
>    foster, and there should be interest from members with different
>    affiliations / organizations.
>
> We have weekly meetings with >20 people from Xilinx, Sifive, Microsoft,
> PNNL, ETH, EPFL, Cornell, and Stanford.  Meeting minutes are here:
> https://docs.google.com/document/d/1fOSRdyZR2w75D87yU2Ma9h2-_lEPL4NxvhJGJd-s5pk/edit#
>
>
>    - Should have a feasible path to eventually graduate as a dedicated
>    top-level or sub-project within the LLVM monorepo
>    <https://github.com/llvm/llvm-project>.
>
> I think this is very feasible from the perspective of code structure, but
> I would want to get to the point where we have stable APIs and useful
> end-to-end toolflows before advocating for that.
>
>    - Should include a notice (e.g. in the project README or web page)
>    that the project is in ‘incubation status’ and is not included in LLVM
>    releases (see suggested wording below).
>
> We can easily add this if accepted by the community.
>
>    - Must be proposed through the LLVM RFC process, and have its addition
>    approved by the LLVM community - this ultimately mediates the resolution of
>    the “should” concerns above.
>
> '[RFC]' indicated in the subject line.  I assume that this doesn't yet
> qualify as a contentious decision. :)
>
> Steve
>
> On Tue, Jul 7, 2020 at 10:33 AM Chris Lattner <clattner at nondot.org> wrote:
>
>> Thanks Steve!  The incubator process just landed, it would be great to
>> outline how CIRCT aligns with the new guidelines set out in that document.
>> As you know, I’m personally very much in favor of this project landing, but
>> am also have a conflict of interest, so I’d like to know what other
>> community members think.
>>
>> -Chris
>>
>> On Jul 4, 2020, at 3:29 PM, Stephen Neuendorffer via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>>
>>
>> For the past several months, members of the ‘CIRCT’ group have been
>> working to begin adapting MLIR for hardware design.  We believe that this
>> area would benefit from good open source infrastructure enabling research
>> and, eventually, the next generation of commercial tools.  We have
>> collected several dialects and envision a number of lowering flows using
>> these dialects.  We have reached the point where we are ready to share our
>> ideas more widely and would like to be considered as an LLVM incubator
>> project.
>> Our code exists at https://github.com/circt as an out-of-tree MLIR
>> project and our group charter can be found at
>> https://github.com/circt/circt/blob/master/README.md.   We have weekly
>> discussions with a group of about 20 people from Xilinx, SiFive, Microsoft,
>> PNNL, ETH Zurich, EPFL, Stanford, and Cornell, and welcome additional
>> contributions.  This project is still early and we see many elements as
>> highly experimental.  At the same time, we feel that the only way to vet
>> these ideas is to build larger systems which will likely take some time and
>> community investment. The LLVM incubator process would be a good way to
>> help us organize this effort.
>>
>> Steve Neuendorffer
>> Xilinx Research Labs
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
>> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200708/e13bb57c/attachment-0001.html>


More information about the llvm-dev mailing list