Reading time: 10 minutes | Installing time: 15 minutes
In this guide, we will walk you through the process of installing TVM and NNVM compiler from source along with all its dependencies such as HalideIR, DMLC-CORE, DLPACK and COMPILER-RT. Once installed, you can enjoy compiling models in any frameworks on any backend of your choice.
Step 1: Clone the source
Clone the source code of TVM using the following command:
git clone --recursive https://github.com/dmlc/tvm.git
Once done, move to the cloned repository using the following command:
Step 2: Prepare your build settings
Update your system and install the dependencies:
sudo apt-get update sudo apt-get install -y python python-dev python-setuptools gcc libtinfo-dev zlib1g-dev
mkdir build cp cmake/config.cmake build
Edit build/config.cmake to change SET(USE_LLVM OFF) to SET(USE_LLVM ON).
If you want to use another backend like CUDA, then change SET(USE_CUDA OFF) to SET(USE_CUDA ON) and accordingly for other available backends.
Step 3: Install LLVM as a backend
For TVM, you need a backend like LLVM, CUDA, METAL and others. We will install LLVM as a backend:
sudo apt-get install clang-6.0 lldb-6.0 lld-6.0
Step 4: Build the shared libraries
cd build cmake .. make -j4
Step 5: Build dependent libraries
First, we need to build the Python libraries of TVM:
cd .. cd python python setup.py install --user cd ..
Next, we need to build NNVM:
cd nnvm python setup.py install --user cd ..
Next, we need to build the dependent libraries like HalideIR:
cd 3rdparty cd HalideIR make -j4 cd .. cd dmlc-core make -j4 cd .. cd dlpack make -j4 cd .. cd ..
Step 6: Install some other dependencies
pip install --user numpy decorator pip install --user tornado psutil xgboost pip install --user tornado
Congratulations, you have successfully installed TVM Stack
You can, now, move to using TVM and realizing its performance compared to other frameworks.