官方安装教程
Install from Source — tvm 0.8.dev0 documentation
环境:
- Ubuntu 16.04.6 LTS
- CMake 3.14.4
- g++ 5.4.0
包含三个步骤
- 编译 Shared Library
- 安装语言相关包
- 测试
一、编译 Shared Library
1. 安装依赖
apt-get update
apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake
2. 安装 LLVM
安装包路径
Release LLVM 12.0.1 · llvm/llvm-project · GitHub
打开解压后的文件夹,找到
bin
文件夹下的
llvm-config
文件,
记下此文件的绝对路径
。
如
3. 获取TVM源代码
git clone --recursive https://github.com/dmlc/tvm
4. 配置 CMake
为保持简单,本配置不启用 CUDA,OpenCL,RCOM,METAL,VULKAN…
① 切换目录进刚刚 Clone 的 TVM 文件夹下:
cd tvm
② 在
tvm
文件夹下新建
build
文件夹,并将
cmake/config.cmake
文件复制进来:
mkdir build
cp cmake/config.cmake build
③ 修正
build/config.cmake
文件的
USE_LLVM
属性,将属性值改为刚才记下的
llvm-config
文件的绝对路径,形式如下:
set(USE_LLVM /path/to/your/llvm/bin/llvm-config)
5. 编译
不切换目录,在
build
文件夹下执行命令:
cmake ..
make -j4
注:可能出现报错如下
原因:编译时可用的内存不足。
解决方法:
直接make,不再使用make -j4等多核编译方法。
二、安装语言相关包
包含两个步骤
- TVM package
- Python dependencies
1. TVM package
本文使用第一种方法,如想了解第二种,参见
TVM package
。
Python 会参照
PYTHONPATH
环境变量寻找库文件,修改
~/.bashrc
下的这个环境变量,其中
/path/to/tvm
是上文
tvm
文件夹的绝对路径。
export TVM_HOME=/path/to/tvm
export PYTHONPATH=$TVM_HOME/python:$TVM_HOME/topi/python:$TVM_HOME/nnvm/python:${PYTHONPATH}
2. Python dependencies
pip3 install --user numpy decorator attrs
三、测试
1. 安装 C++ Tests
安装 C++ Tests 的过程和 TVM 无关,为避免污染 TVM 目录,我们切换到其他文件夹下,执行如下命令:
git clone https://github.com/google/googletest
cd googletest
mkdir build
cd build
cmake ..
make
make install
2. 运行测试
切换回
tvm
文件夹下,执行命令:
./tests/scripts/task_cpp_unittest.sh
如无报错,TVM 安装成功。