编译、安装 TVM
官方安装教程 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
安装依赖
apt-get update
apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake安装 LLVM
安装包路径 Release LLVM 12.0.1 · llvm/llvm-project · GitHub
打开解压后的文件夹,找到 bin
文件夹下的 llvm-config
文件,记下此文件的绝对路径。
如
获取TVM源代码
git clone —recursive https://github.com/dmlc/tvm
配置 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)
- 编译
不切换目录,在 build
文件夹下执行命令:
cmake ..
make -j4
注:可能出现报错如下
原因:编译时可用的内存不足。
解决方法:直接make,不再使用make -j4等多核编译方法。
#
二、安装语言相关包
包含两个步骤
- TVM package
Python dependencies
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}
Python dependencies
pip3 install —user numpy decorator attrs
三、测试
- 安装 C++ Tests
安装 C++ Tests 的过程和 TVM 无关,为避免污染 TVM 目录,我们切换到其他文件夹下,执行如下命令:
git clone https://github.com/google/googletest
cd googletest
mkdir build
cd build
cmake ..
make
make install
- 运行测试
切换回 tvm
文件夹下,执行命令:
./tests/scripts/task_cpp_unittest.sh
如无报错,TVM 安装成功。
还没有评论,来说两句吧...