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를 특별히 지원.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트