MLIRコンパイラインフラストラクチャにおけるONNXモデルの表現と参照の低下
GitHubでプロジェクトを見る onnx/onnx-mlir
このプロジェクトは、onnxによって維持されています。
GitHub Pagesでホストされています — テーマはorderedlistによるものです。
最初のonnx-mlir
ビルド中に問題が発生した場合は、ビルドで使用されているcmake変数を確認する必要があるかもしれません。ヘルプについては、このページの最後のセクションを参照してください。
ソースディレクトリをしばらく正常に使用していた場合、main
ブランチから最新の変更をマージした後にonnx-mlir
の再構築に問題が発生する可能性があります。
以下は、実行できるいくつかの手順です。いずれかが該当する場合は、onnx-mlir/build
サブディレクトリを削除し、cmake
コマンドを使用して最初から再構築することをお勧めします。
最新のonnx-mlir
main
ブランチがllvm-project
の新しいコミットレベルに移動した場合、ビルドプロセスでは通常、LLVMおよびMLIRコードに関連する複数のコンパイラエラーが発生します。
必要なレベルは、ONNX-MLIRのビルドページの最初のコードボックスのgit checkout
コマンドの横に記載されています。
コードで使用されているレベルは、llvm-project
サブディレクトリでgit log
を実行することで確認できます。
一致しない場合は、llvmプロジェクトを必要なレベルに更新してください。
通常、ONNX opレベルを更新すると、third_party/onnx
サブディレクトリに新しいソフトウェアが追加されます。そのコードの更新に失敗すると、通常、ONNX方言コードに関連するコンパイラエラーが発生します。
third_party
ディレクトリを削除し、git submodule update --init --recursive
を使用してコードを再インストールする方が簡単です。
方言の更新によっては、ビルドディレクトリ全体を再構築する必要がある場合があります。表示される可能性のある一般的なエラーは、たとえばverifier
メソッドへの宣言がないことです。onnx-mlir/build
サブディレクトリを削除し、cmake
コマンドを使用して最初から再構築することをお勧めします。
ビルド中にprotobuf関連のエラーが発生した場合は、以下の潜在的な原因を確認してください。
これらのビルド環境の設定に関する多くの問題は、開発にonnxmlir/onnx-mlir-dev Dockerイメージを使用することをお勧めする理由です。
lit ONNX-MLIRテストを実行するには、次のコマンドを使用します
[same-as-file]: <> ({“ref”: “utils/check-onnx-mlir.cmd”, “skip-ref”: 1})
call cmake --build . --config Release --target check-onnx-lit
または、ビルドディレクトリでninja
またはmake
のcheck-onnx-lit
ターゲットを呼び出すだけです。
数値ONNX-MLIRテストを実行するには、次のコマンドを使用します
[same-as-file]: <> ({“ref”: “utils/check-onnx-numerical.cmd”, “skip-ref”: 1})
call cmake --build . --config Release --target check-onnx-numerical
または、ビルドディレクトリでninja
またはmake
のcheck-onnx-numerical
ターゲットを呼び出すだけです。
doc ONNX-MLIRテストを実行するには、以下に示すthird_party ONNXをインストールした後に、次のコマンドを使用します。third_party ONNXプロジェクトを最初にインストールする方法の詳細は、こちらに記載されています。ONNX-MLIRはONNX標準の最新バージョンより遅れている可能性があるため、third_partyサブディレクトリにリストされているONNXプロジェクトのバージョンをインストールすることが重要です。
[same-as-file]: <> ({“ref”: “utils/check-docs.cmd”, “skip-ref”: 1})
call cmake --build . --config Release --target check-docs
または、ビルドディレクトリでninja
またはmake
のcheck-docs
ターゲットを呼び出すだけです。
ONNX-MLIRのコンパイル時に、LLVMおよびONNX-MLIRの次のCMake変数を使用できます。
**MLIR_DIR**:PATH llvm-projectのビルドまたはインストールディレクトリ内にあるmlir cmakeモジュールへのパス(例:c:/repos/llvm-project/build/lib/cmake/mlir)。これは、以前のcmake呼び出しから**MLIR_DIR**がまだ設定されていない場合に必要です。
**LLVM_EXTERNAL_LIT**:PATH litツールへのパス。デフォルトは空の文字列で、LLVMは可能であれば**MLIR_DIR**に基づいてツールを見つけます。これは、**MLIR_DIR**がインストールディレクトリを指している場合に必要です。