😊

【環境構築】TVM構築(WSL Ubuntu 22.04LTS)

2023/12/20に公開

https://tvm.apache.org/docs/install/from_source.html#python-package-installation

環境

  • Windons 10
  • WSL(Windows Subsystem for Linux)Ubuntu 22.04 LTS
wsl --update
wsl --install -d Ubuntu

要件

A recent C++ compiler supporting C++ 17, at the minimum

  • GCC 7.1
  • Clang 5.0
  • CMake 3.18 or higher
  • Apple Clang 9.3(記載があるがWSLでは不要)
  • Visual Studio 2019 (v16.7)(記載があるがWSLでは不要)

CUDA, CuDNN

https://zenn.dev/coffee_break/articles/8964a477095f45

GCC, Clang, CMake

※以下、コマンドはhistoryコマンドから抜粋

sudo apt-get update
sudo apt-get install -y python3 python3-dev python3-setuptools gcc libtinfo-dev zlib1g-dev build-essential cmake libedit-dev libxml2-dev
sudo apt install clang
gcc --version
clang --version
cmake --version

LLVM

apt.llvm.orgの全パッケージを一度にインストール
# sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
# 28  sudo ./llvm.sh 16 all
# wget https://apt.llvm.org/llvm.sh
# chmod +x llvm.sh
# sudo ./llvm.sh all
# ls llvm.sh
sudo apt install llvm
llvm
llvm-config --version
which llvm-config
ls /usr/bin/llvm-config
nano build/config.cmake

TVM

git clone --recursive https://github.com/apache/tvm tvm
cd tvm/
git submodule init
git submodule update
mkdir build
cp cmake/config.cmake build

# /.bashrcに以下を追加
echo 'export TVM_LOG_DEBUG="ir/transform.cc=1,relay/ir/transform.cc=1"' >> ~/.bashrc
nano build/config.cmake

以下、またはほかの項目を任意で設定
set(USE_LLVM llvm-config-16)
set(USE_CUDA ON)
set(USE_GRAPH_EXECUTOR ON)
set(USE_GRAPH_EXECUTOR_CUDA_GRAPH ON)
set(USE_PROFILER ON)
set(USE_RELAY_DEBUG ON)
set(USE_CUDNN ON)

cd build
# CMakeを使用してビルドの設定を行い、Makefileを生成
cmake ..
# makeを使用してプロジェクトをビルド(-j4は4つの並列ジョブでビルドを行う)
make -j4
# TVM_BUILD_PATH=build_debug make
# TVM_BUILD_PATH="build_debug build_release" make
# TVM_LIBRARY_PATH=~/tvm/build_debug python3


#### /.bashrcに以下を追加

echo 'export TVM_HOME=/home/hayato/tvm/' >> ~/.bashrc
echo 'export PYTHONPATH=TVM_HOME/python:{PYTHONPATH}' >> ~/.bashrc

pyenvを使用している場合はエラーの原因になるのでpyenvのpathを削除するコードを追加

export PATH=$(echo $PATH | tr ':' '\n' | grep -v '/mnt/c/Users/thyt/.pyenv_win/pyenv-win' | tr '\n' ':')

nano ~/.bashrc


### Python dependencies¶

sudo apt update

sudo apt install python3 python3-pip

python3 --version
pip --version
pip list
pip install numpy decorator attrs
pip install typing-extensions psutil scipy
pip install tornado
pip install tornado psutil "xgboost>=1.1.0" cloudpickle

追加

pip install pytest


### googletest

cd
git clone https://github.com/google/googletest
cd googletest
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON ..


### vscode~スクリプトが実行できるかテスト

nvidia-smi
pip install jupyterlab
cp /mnt/c/Users/thyt/Learning/Learning_other/cross_compilation_and_rpc.ipynb ~/
cd
code .


### メモ
<!--code /mnt/c/Users/thyt/Learning/Learning_other-->
<!--code ~/-->



Discussion