Documentation | Contributors | Community | Release Notes
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.
TVM is licensed under the Apache-2.0 license.
Check out the TVM Documentation site for installation instructions, tutorials, examples, and more. The Getting Started with TVM tutorial is a great place to start.
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.
We learned a lot from the following projects when building TVM.
- Halide: Part of TVM's TIR and arithmetic simplification module originates from Halide. 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.
docker run -v $HOME:/mnt --gpus all --rm -t --name tvm -d tlcpack/ci-gpu:v0.78
docker start tvm
docker exec -it tvm bash
sudo apt-get update
sudo apt-get install -y python python-dev python-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake llvm-8 llvm-8-dev llvm-8-runtime vim
git clone --recursive https://github.com/siahuat0727/tvm tvm
cd tvm
mkdir build && cp cmake/config.cmake build
vim build/config.cmake
# Edit config.cmake
# set(USE_CUDA ON)
# set(USE_LLVM /usr/lib/llvm-8/bin/llvm-config)
cd build && cmake .. && make -j4 && cd ..
export TVM_HOME=`pwd`
export PYTHONPATH=$TVM_HOME/python:${PYTHONPATH}