编译、安装 TVM

柔情只为你懂 2022-09-12 09:51 203阅读 0赞

官方安装教程 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 文件,记下此文件的绝对路径。

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16

  1. 获取TVM源代码

    git clone —recursive https://github.com/dmlc/tvm

  2. 配置 CMake

为保持简单,本配置不启用 CUDA,OpenCL,RCOM,METAL,VULKAN…

① 切换目录进刚刚 Clone 的 TVM 文件夹下:

  1. cd tvm

② 在 tvm 文件夹下新建 build 文件夹,并将 cmake/config.cmake 文件复制进来:

  1. mkdir build
  2. cp cmake/config.cmake build

③ 修正 build/config.cmake 文件的 USE_LLVM 属性,将属性值改为刚才记下的 llvm-config 文件的绝对路径,形式如下:

  1. set(USE_LLVM /path/to/your/llvm/bin/llvm-config)
  1. 编译

不切换目录,在 build 文件夹下执行命令:

  1. cmake ..
  2. make -j4

注:可能出现报错如下

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 1

原因:编译时可用的内存不足。

解决方法:直接make,不再使用make -j4等多核编译方法。

#

二、安装语言相关包

包含两个步骤

  1. TVM package
  2. Python dependencies

  3. TVM package

本文使用第一种方法,如想了解第二种,参见 TVM package。

Python 会参照 PYTHONPATH 环境变量寻找库文件,修改 ~/.bashrc 下的这个环境变量,其中 /path/to/tvm 是上文 tvm 文件夹的绝对路径。

  1. export TVM_HOME=/path/to/tvm
  2. export PYTHONPATH=$TVM_HOME/python:$TVM_HOME/topi/python:$TVM_HOME/nnvm/python:${PYTHONPATH}
  1. Python dependencies

    pip3 install —user numpy decorator attrs

三、测试

  1. 安装 C++ Tests

安装 C++ Tests 的过程和 TVM 无关,为避免污染 TVM 目录,我们切换到其他文件夹下,执行如下命令:

  1. git clone https://github.com/google/googletest
  2. cd googletest
  3. mkdir build
  4. cd build
  5. cmake ..
  6. make
  7. make install
  1. 运行测试

切换回 tvm 文件夹下,执行命令:

  1. ./tests/scripts/task_cpp_unittest.sh

如无报错,TVM 安装成功。

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 2watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pu56ZW_5Y2_5ZWK_size_20_color_FFFFFF_t_70_g_se_x_16 3

发表评论

表情:
评论列表 (有 0 条评论,203人围观)

还没有评论,来说两句吧...

相关阅读