Note: This is the branch implementing automatic differentiation for tensor expressions. I don't actively work on it right now, so I have doubts if it ever will be ready to be merged into TVM. However, I rebase this branch on the latest TVM from time to time.
Tutorials:
Documentation | Contributors | Community | Release Notes
Apache TVM (incubating) 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. Checkout the Contributor Guide
We learned a lot from the following projects when building TVM.
- Halide: TVM uses HalideIR as data structure for arithmetic simplification and low level lowering. We also learned and adapted some part of lowering pipeline from Halide.
- Loopy: use of integer set analysis and its loop transformation primitives.
- Theano: the design inspiration of symbolic scan operator for recurrence.