Contents

ONNX MLIRをビルドする

Contents

ONNX MLIRをビルドする手順。基本はGitHubのREADMEに記載の手順と同じ。

検証環境は

  • Ryzen 5 1600
  • Ubuntu 20.04 on WSL2
  • ONNX MLIR commit id dbe0d734b5687e0aa7da911684912163cea07bd2

ビルドツール導入

ビルドに必要なツール群を導入する。 Ubuntu 18.04の場合、libprotoc-devが古くてビルドできないため、別途手動で導入する必要がある。

1
sudo apt install protobuf-compiler build-essential cmake libprotoc-dev ninja-build

MLIRのビルド

カレントディレクトリは~/workspaceとする。

LLVM内にあるMLIRを取得し、ONNX MLIRのビルドが確認できているブランチをチェックアウトする。

1
2
3
cd ~/workspace
git clone https://github.com/llvm/llvm-project.git
cd llvm-project && git checkout 32791937d7aceb0a5e1eaabf1bb1a6dbe1639792 && cd ..

ビルドする。Ryzen 5 1600で20分程度。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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のソースコードを取得する。

1
2
cd ~/workspace
git clone --recursive https://github.com/onnx/onnx-mlir.git

ビルドする。Ryzen 5 1600で5分程度。

1
2
3
4
5
6
7
8
9
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