onnx/onnx-mlir

Representation and Reference Lowering of ONNX Models in MLIR Compiler Infrastructure

何を解決するか

ONNX-MLIR は、Open Neural Network Exchange (ONNX) フォーマットのグラフを、最小限のランタイムサポートで実行可能なコードに変換する方法を提供します。これにより、AI モデルを重いランタイム環境に依存せずに、高度に最適化されたスタンドアロンライブラリやバイナリとしてデプロイできます。

動作方法

LLVM/MLIR コンパイラ技術に基づいて構築されており、ONNX Dialect を実装しています。ドライバ(onnx-mlir)を使用して、ONNX フォーマットのグラフをさまざまな表現段階に段階的に低レベル化し、MLIR ファイル、LLVM バイトコード、または C、C++、Java 用の共有ライブラリなど、さまざまな出力形式を生成できます。

対象ユーザー

特定のハードウェア(一般的な CPU や IBM の Telum 集積 AI アクセラレータ)向けに ONNX モデルを最適化されたマシンコードにコンパイルする必要がある開発者やエンジニア向けに設計されています。

主な特徴

  • 多言語対応:Python、C、C++、Java 用のライブラリとランタイムを生成可能。
  • 柔軟な出力形式:ONNX IR、MLIR、LLVM IR、オブジェクトファイル、共有ライブラリを出力可能。
  • 最適化レベル:O0 から O3 までの組み込み最適化レベルを備え、パフォーマンスを調整可能。
  • ハードウェア対応:一般的な CPU および IBM Telum NNPA を特にサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト