【環境構築】TVM構築(WSL Ubuntu 22.04LTS)
環境
- 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
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=
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