编译、安装 TVM

官方安装教程  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 安装成功。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值