ONNX MLIRをビルドする
ONNX MLIRをビルドする手順。基本はGitHubのREADMEに記載の手順と同じ。
検証環境は
- Ryzen 5 1600
- Ubuntu 20.04 on WSL2
- ONNX MLIR commit id ac67900
ビルドツール導入
ビルドに必要なツール群を導入する。
Ubuntu 18.04の場合、libprotoc-devが古くてビルドできないため、別途手動で導入する必要がある。
sudo apt install protobuf-compiler build-essential cmake libprotoc-dev \
ninja-build libncurses python3 python3-dev python-is-python3
MLIRのビルド
カレントディレクトリは~/workspaceとする。
LLVM内にあるMLIRを取得し、ONNX MLIRのビルドが確認できているブランチをチェックアウトする。
cd ~/workspace
git clone https://github.com/llvm/llvm-project.git
cd llvm-project && git checkout 1d01fc100bb5bef5f5eaf92520b2e52f64ee1d6e && cd ..
ビルドする。Ryzen 5 1600で20分程度。
mkdir llvm-project/build
cd llvm-project/build
cmake -G Ninja ../llvm \
-DLLVM_ENABLE_PROJECTS=mlir \
-DLLVM_BUILD_EXAMPLES=ON \
-DLLVM_TARGETS_TO_BUILD="host" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_ENABLE_RTTI=ON
cmake --build .
cmake --build . --target check-mlir
ONNX MLIRのビルド
onnx-mlirのソースコードを取得する。
cd ~/workspace
git clone --recursive https://github.com/onnx/onnx-mlir.git
ビルドする。Ryzen 5 1600で5分程度。
export LLVM_PROJ_SRC=$(pwd)/llvm-project/
export LLVM_PROJ_BUILD=$(pwd)/llvm-project/build
mkdir onnx-mlir/build && cd onnx-mlir/build
cmake -G Ninja ..
cmake --build .
export LIT_OPTS=-v
cmake --build . --target check-onnx-lit ...[[C++コードを出力できるMLIR Dialect]]をビルドする。 [[ONNX MLIRをビルドする]]でMLIRをビルド済みとする。 MLIR(LLVM)のソースコードは へ配置済み。 ソースコード取得 環境変数設定 ビルド...
Referenced in this post
...[[前回の記事]]でビルドしたONNX MLIRを使って、[[ONNX Model Zoo]]で配布されている学習済みモデルを変換する。 環境変数パス...
Referenced in this post
...3.7.5 (pyenvで導入) - ONNX MLIR commit id dbe0d734b5687e0aa7da911684912163cea07bd2 - ONNX MLIRをビルド済み([[ONNX MLIRをビルドする]]) - ビルドディレクトリは とする - 作業ディレクトリは とする ##...
Referenced in this post