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 的共享库。
适用人群
专为需要将 ONNX 模型编译为特定硬件(如通用 CPU 或 IBM 的 Telum 集成 AI 加速器)优化机器代码的开发人员和工程师设计。
主要亮点
- 多语言支持:可生成 Python、C、C++ 和 Java 的库和运行时。
- 灵活的输出格式:可输出 ONNX IR、MLIR、LLVM IR、目标文件或共享库。
- 优化级别:包含内置优化级别(O0 至 O3),用于调整性能。
- 硬件目标:特别支持通用 CPU 和 IBM Telum NNPA。
相关
- 项目
- 项目
- 项目
- 项目
- 项目