Skip to main content

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