What is Apache TVM?

Apache TVM is an 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. TVM provides the following main features:

Apache TVM Learning Models

Compilation of deep learning models in Keras, MXNet, PyTorch, Tensorflow, CoreML, and DarkNet into minimum deployable modules on diverse hardware backends.

Apache TVM Tensor Optimization

Infrastructure to automatically generate and optimize tensor operators on more backend with better performance.

bg imgbg img

TVM began as a research project at the SAMPL group of Paul G. Allen School of Computer Science & Engineering, University of Washington. The project is now an effort undergoing incubation at The Apache Software Foundation (ASF), driven by an open source community involving multiple industry and academic institutions under the Apache way.

TVM provides two level optimizations show in the following figure. Computational graph optimization to perform tasks such as high-level operator fusion, layout transformation, and memory management. Then a tensor operator optimization and code generation layer that optimizes tensor operators. More details can be found at the techreport.

How can TVM help you?

OctoML provides an automated, streamlined process.

Compile

Compile

TVM is designed to make it easy to import, apply optimization and other compiler passes, and compile a deep learning model into a single binary for a given target platform.

Analyze

Analyze

Use the TVM compiler machinery to analyze your model for number of operations (total memory usage, total FLOPs).

Innovate

Innovate

Have an idea for a new quantization scheme, sparse transformer kernel, invariant convolution operator, or backend? Cutting edge resource has been done in TVM for all of the above and TVM is built to be flexible enough for all of these purposes.

Which companies use TVM today?

How can you get involved?

Tutorials

Begin learning from the tutorials

Compile PyTorch, TensorFlow, or CoreML models. Deploy pre-trained models on Android, or employ autotuning on your hand-written kernel.

Roadmap

See the current TVM roadmap here

Autoscheduling, quantization, auto tensorization and more.

Discussion Forums

Join the discussion forums

With over three thousand users.

Developer Guides

Dive into the design and developer guide to dig in

Jump into the core and help us build the future of MLOps.