commit | ffbf68643a20a9b3daeb2adc87933d976e5a5513 | [log] [tgz] |
---|---|---|
author | Lite Ye <yelite958@gmail.com> | Thu Aug 04 14:34:57 2022 -0400 |
committer | GitHub <noreply@github.com> | Thu Aug 04 11:34:57 2022 -0700 |
tree | d954ae984f6fdc84420cdd4187a19821963ba8c4 | |
parent | 78423c550413a242a457d054eb828403546afb65 [diff] |
[RFC] TVMScript Metaprogramming (#79) * Add TVMScript Metaprogramming RFC * Add clarification for host program interleaving * Fix typo and formating * Add clarification around parse-time eval * Further clarify parse-time eval * Add clarification on how F3 and F4 will be implemented by parse-time eval * Clarify the signature of user-provided function * Clarify allowed types for auto capture * Add section for security implication of eval * Add short discussion on Taichi and Triton * Clarify on how the new approach improves tooling * Clarify and fix typos
An RFC is a “Request for Change” to the TVM project. It is a design document that describes a new feature, enhancement, or process to the TVM project. RFCs should be the primary mechanism for proposing major features and changes. The author of the RFC is responsible for the discussion of the change, and for organizing the work around it. RFCs are text files, stored in the Apache TVM RFC repository, that serve as history and documentation of TVM features.
The primary audience of RFCs is the TVM development community. RFCs serve as a guide for the design and implementation of features during and after their development. A secondary audience is general users and developers who are interested in how and why a feature was designed and implemented.
To work on a major feature within the TVM project, an RFC must first be merged into the TVM RFC repository as a markdown file. Once merged, the RFC is considered to be “active” and may be implemented, with the goal of merging the implementation into the TVM project. These are steps that should be taken in the RFC process:
tvm-rfcs
repository. To allocate a new RFC number, open a PR against tvm-rfcs
(initially, you might need to use a dummy number in the filename for the RFC content; this can be updated after the RFC PR is created).L
to indicate it is a legacy RFC. For example, L0001
.Apache TVM is a compiler stack for deep learning systems. It is designed to close the gap between the productivity-focused deep learning frameworks, and the performance- and efficiency-focused hardware backends. TVM works with deep learning frameworks to provide end to end compilation to different backends.
© Contributors Licensed under an Apache-2.0 license.
TVM adopts Apache committer model. We aim to create an open source project that is maintained and owned by the community. Check out the Contributor Guide.