onnx-mlir

Logo

ONNX 模型在 MLIR 编译器基础设施中的表示和参考下推

在 GitHub 上查看项目 onnx/onnx-mlir

操作指南

使用 Python 进行推理
使用 C/C++ 进行推理
使用 Java 进行推理

参考资料

ONNX 方言
OMTensor C99 运行时 API
OMTensorList C99 运行时 API
OMTensor Java 运行时 API
OMTensorList Java 运行时 API
生成 ONNX 方言
关于文档

开发

添加操作
测试指南
错误处理
命令行选项
插桩
常量传播
添加加速器

工具

工具

RunONNXModel.py
DocCheck

此项目由 onnx 维护

托管于 GitHub Pages — 主题来自 orderedlist

定义并使用 ONNX-MLIR 的命令行选项

命令行选项可以用于改变 onnx-mlir 或 onnx-mlir-opt 的默认行为,并帮助用户进行实验、调试或性能调优。我们在 ONNX-MLIR 中基于 LLVM 提供的命令行工具实现了命令行。我们没有使用 MLIR pass 类定义 OptionListOption(参见讨论)。

组织选项

参考 llvm 文档 以了解如何定义选项的基本思想。在 ONNX-MLIR 中,选项被归入组 (llvm::cl::OptionCategory)。onnx-mlir 的所有命令行选项都在 OnnxMlirOptions 组中。

代码结构

命令行选项应放在 src/Compiler/CompilerOptions.cpp 中,并在 src/Compiler/CompilerOptions.hpp 中声明。

定义一个选项

定义一个特定于某个转换的局部选项

使用 MLIR 的 Pass 选项来配置 pass。