Repolode
onnx

onnx/onnx-mlir

Compilador que transforma grafos de redes neuronales ONNX mediante MLIR en código con dependencias de ejecución mínimas.

Estrellas
1,066
Forks
457
Issues abiertos
357
Último commit
ayer

¿Qué es?

ONNX-MLIR recibe un grafo de modelo ONNX válido y lo compila en código que implementa el grafo, con el objetivo de minimizar el soporte necesario en tiempo de ejecución. Implementa el estándar ONNX y se basa en la infraestructura de compiladores LLVM/MLIR.

El proyecto ofrece un dialecto ONNX que pueden integrar otros proyectos basados en MLIR, interfaces de compilador que transforman grafos ONNX en archivos MLIR, bytecode de LLVM o bibliotecas C y Java, y un controlador de línea de comandos llamado onnx-mlir. También incluye interfaces de ejecución para Python, C, C++ y Java que permiten cargar y ejecutar modelos compilados.

El soporte de cada operación ONNX se registra por destino, incluidos un backend de CPU genérico y el acelerador de IA integrado Telum de IBM. Las compilaciones se ejecutan de forma nativa en Linux, macOS y Windows, y se ofrecen imágenes de Docker como configuración recomendada.

Funciones clave

  • 01Convierte grafos ONNX en MLIR, LLVM IR, archivos objeto, bibliotecas compartidas o archivos JAR.
  • 02Ofrece un dialecto ONNX que otros proyectos MLIR pueden reutilizar.
  • 03Incluye interfaces de ejecución para Python, C, C++ y Java.
  • 04Admite niveles de optimización de O0 a O3 y puede leer opciones desde una variable de entorno.
  • 05Publica tablas de compatibilidad por operación para los destinos CPU e IBM Telum NNPA.

Casos de uso

  • Implementar modelos ONNX como bibliotecas compiladas con dependencias de ejecución mínimas.
  • Ejecutar modelos ONNX en servidores IBM Telum mediante el backend NNPA.
  • Crear herramientas de compilación que integren el dialecto ONNX en un pipeline de MLIR.

Inicio rápido

  1. 1

    Configura el entorno con contenedores Docker precompilados (consulta docs/Docker.md).

  2. 2

    Compila ONNX-MLIR directamente en Linux o macOS (consulta docs/BuildOnLinuxOSX.md).

  3. 3

    Convierte un modelo ONNX al dialecto ONNX con el controlador compilado.

    ./onnx-mlir --EmitONNXIR add.onnx

Antes de usarlo

  • Compilar desde el código fuente requiere un commit específico de LLVM/MLIR y varios requisitos previos, como clang, protobuf y cmake.
  • No hay una instalación sencilla mediante un gestor de paquetes; la configuración puede ser complicada en algunos sistemas, por lo que se recomienda Docker.
  • La compatibilidad con operaciones se limita a las enumeradas en los documentos supported-ops del proyecto.

En colecciones

Temas

Preguntas frecuentes

¿Qué es onnx-mlir?
Compilador que transforma grafos de redes neuronales ONNX mediante MLIR en código con dependencias de ejecución mínimas. ONNX-MLIR recibe un grafo de modelo ONNX válido y lo compila en código que implementa el grafo, con el objetivo de minimizar el soporte necesario en tiempo de ejecución. Implementa el estándar ONNX y se basa en la infraestructura de compiladores LLVM/MLIR.
¿onnx-mlir es gratuito? ¿Qué licencia tiene?
onnx-mlir es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿onnx-mlir sigue mantenido?
Mantenimiento activo. El último commit de onnx-mlir fue el 6 nov 2026.
¿Para qué puedo usar onnx-mlir?
Implementar modelos ONNX como bibliotecas compiladas con dependencias de ejecución mínimas. Ejecutar modelos ONNX en servidores IBM Telum mediante el backend NNPA. Crear herramientas de compilación que integren el dialecto ONNX en un pipeline de MLIR.
¿Cómo se instala onnx-mlir?
Configura el entorno con contenedores Docker precompilados (consulta docs/Docker.md). Compila ONNX-MLIR directamente en Linux o macOS (consulta docs/BuildOnLinuxOSX.md). Convierte un modelo ONNX al dialecto ONNX con el controlador compilado.: ./onnx-mlir --EmitONNXIR add.onnx
¿Dónde consigo onnx-mlir?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/onnx/onnx-mlir

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados