编译、安装 TVM

  • Post author:
  • Post category:其他


官方安装教程

Install from Source — tvm 0.8.dev0 documentation

环境:

  • Ubuntu 16.04.6 LTS
  • CMake 3.14.4
  • g++ 5.4.0

包含三个步骤

  1. 编译 Shared Library
  2. 安装语言相关包
  3. 测试

一、编译 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等多核编译方法。

二、安装语言相关包

包含两个步骤

  1. TVM package
  2. 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 安装成功。




版权声明:本文为qq_39938666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。