Repolode
onnx

onnx/onnx-mlir

ONNX 신경망 그래프를 MLIR로 낮춰 런타임 의존성을 최소화한 코드로 컴파일하는 컴파일러입니다.

스타
1,066
포크
457
열린 이슈
357
마지막 커밋
어제

어떤 프로젝트인가요?

ONNX-MLIR은 유효한 ONNX 모델 그래프를 받아 그래프를 구현하는 코드로 컴파일하며, 필요한 런타임 지원을 최소화하는 것을 목표로 합니다. ONNX 표준을 구현하고 LLVM/MLIR 컴파일러 인프라를 기반으로 합니다.

이 프로젝트는 다른 MLIR 기반 프로젝트에서 통합할 수 있는 ONNX dialect, ONNX 그래프를 MLIR 파일, LLVM 바이트코드, C 및 Java 라이브러리로 낮추는 컴파일러 인터페이스, 그리고 onnx-mlir 명령줄 드라이버를 제공합니다. 또한 컴파일된 모델을 불러오고 실행할 수 있는 Python, C, C++, Java 런타임 인터페이스도 포함합니다.

개별 ONNX 연산의 지원 여부는 일반 CPU 백엔드와 IBM의 Telum 통합 AI 가속기를 비롯해 타깃별로 관리됩니다. Linux, macOS, Windows에서 네이티브 빌드를 지원하며, 권장 설정으로 Docker 이미지도 제공합니다.

핵심 기능

  • 01ONNX 그래프를 MLIR, LLVM IR, 오브젝트 파일, 공유 라이브러리 또는 JAR 파일로 변환합니다.
  • 02다른 MLIR 프로젝트에서 재사용할 수 있는 ONNX dialect를 제공합니다.
  • 03Python, C, C++, Java 런타임 인터페이스를 제공합니다.
  • 04O0부터 O3까지 최적화 수준을 지원하며, 환경 변수에서 플래그를 읽을 수 있습니다.
  • 05CPU 및 IBM Telum NNPA 타깃의 연산별 지원 표를 제공합니다.

활용 사례

  • 런타임 의존성을 최소화한 컴파일 라이브러리로 ONNX 모델을 배포합니다.
  • NNPA 백엔드를 통해 IBM Telum 서버에서 ONNX 모델을 실행합니다.
  • ONNX dialect를 MLIR 파이프라인에 통합하는 컴파일러 도구를 구축합니다.

빠른 시작

  1. 1

    미리 빌드된 Docker 컨테이너로 설정합니다(docs/Docker.md 참조).

  2. 2

    Linux 또는 macOS에서 ONNX-MLIR을 직접 빌드합니다(docs/BuildOnLinuxOSX.md 참조).

  3. 3

    빌드된 드라이버로 ONNX 모델을 ONNX dialect로 변환합니다.

    ./onnx-mlir --EmitONNXIR add.onnx

사용 전 알아둘 점

  • 소스에서 빌드하려면 특정 LLVM/MLIR 커밋과 clang, protobuf, cmake 등의 여러 사전 요구 사항이 필요합니다.
  • 간편하게 설치할 수 있는 패키지 관리자 설치 방법은 없습니다. 일부 시스템에서는 설정이 까다로울 수 있으므로 Docker 사용을 권장합니다.
  • 지원되는 연산은 프로젝트의 supported-ops 문서에 나열된 항목으로 제한됩니다.

포함된 컬렉션

토픽

자주 묻는 질문

onnx-mlir은(는) 무엇인가요?
ONNX 신경망 그래프를 MLIR로 낮춰 런타임 의존성을 최소화한 코드로 컴파일하는 컴파일러입니다. ONNX-MLIR은 유효한 ONNX 모델 그래프를 받아 그래프를 구현하는 코드로 컴파일하며, 필요한 런타임 지원을 최소화하는 것을 목표로 합니다. ONNX 표준을 구현하고 LLVM/MLIR 컴파일러 인프라를 기반으로 합니다.
onnx-mlir은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
onnx-mlir은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
onnx-mlir은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. onnx-mlir의 마지막 커밋은 2026년 11월 6일입니다.
onnx-mlir은(는) 어디에 사용할 수 있나요?
런타임 의존성을 최소화한 컴파일 라이브러리로 ONNX 모델을 배포합니다. NNPA 백엔드를 통해 IBM Telum 서버에서 ONNX 모델을 실행합니다. ONNX dialect를 MLIR 파이프라인에 통합하는 컴파일러 도구를 구축합니다.
onnx-mlir는 어떻게 설치하나요?
미리 빌드된 Docker 컨테이너로 설정합니다(docs/Docker.md 참조). Linux 또는 macOS에서 ONNX-MLIR을 직접 빌드합니다(docs/BuildOnLinuxOSX.md 참조). 빌드된 드라이버로 ONNX 모델을 ONNX dialect로 변환합니다.: ./onnx-mlir --EmitONNXIR add.onnx
onnx-mlir은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/onnx/onnx-mlir

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트