Repolode
onnx

onnx/onnx-mlir

Um compilador que converte grafos de redes neurais ONNX via MLIR em código com o mínimo de dependências de runtime.

Estrelas
1,066
Forks
457
Issues abertas
357
Último commit
há 17 horas

O que é?

O ONNX-MLIR recebe um grafo de modelo ONNX válido e o compila em código que implementa o grafo, buscando exigir o mínimo de suporte em runtime. Ele implementa o padrão ONNX e é construído sobre a infraestrutura de compiladores LLVM/MLIR.

O projeto oferece um dialeto ONNX que outros projetos baseados em MLIR podem integrar, interfaces de compilador que convertem grafos ONNX em arquivos MLIR, bytecode LLVM ou bibliotecas C e Java, além do driver de linha de comando onnx-mlir. Também inclui interfaces de runtime em Python, C, C++ e Java para carregar e executar modelos compilados.

O suporte a operações ONNX individuais é acompanhado por destino, incluindo um backend genérico para CPU e o acelerador de IA integrado Telum da IBM. Os builds são executados nativamente em Linux, macOS e Windows, e imagens Docker são oferecidas como a configuração recomendada.

Recursos principais

  • 01Converte grafos ONNX em MLIR, LLVM IR, arquivos objeto, bibliotecas compartilhadas ou arquivos JAR.
  • 02Oferece um dialeto ONNX que outros projetos MLIR podem reutilizar.
  • 03Disponibiliza interfaces de runtime em Python, C, C++ e Java.
  • 04Oferece níveis de otimização de O0 a O3 e pode ler opções de uma variável de ambiente.
  • 05Publica tabelas de suporte por operação para os destinos CPU e IBM Telum NNPA.

Casos de uso

  • Implantar modelos ONNX como bibliotecas compiladas com o mínimo de dependências de runtime.
  • Usar modelos ONNX em servidores IBM Telum por meio do backend NNPA.
  • Criar ferramentas de compilação que integrem o dialeto ONNX a um pipeline MLIR.

Início rápido

  1. 1

    Configure usando contêineres Docker pré-compilados (consulte docs/Docker.md).

  2. 2

    Compile o ONNX-MLIR diretamente no Linux ou macOS (consulte docs/BuildOnLinuxOSX.md).

  3. 3

    Converta um modelo ONNX para o dialeto ONNX usando o driver compilado.

    ./onnx-mlir --EmitONNXIR add.onnx

Antes de usar

  • A compilação a partir do código-fonte exige um commit específico do LLVM/MLIR e vários pré-requisitos, como clang, protobuf e cmake.
  • Não há uma instalação simples por gerenciador de pacotes; a configuração pode ser complicada em alguns sistemas, por isso o Docker é recomendado.
  • O suporte a operações se limita às operações listadas nos documentos supported-ops do projeto.

Em coleções

Tópicos

Perguntas frequentes

O que é onnx-mlir?
Um compilador que converte grafos de redes neurais ONNX via MLIR em código com o mínimo de dependências de runtime. O ONNX-MLIR recebe um grafo de modelo ONNX válido e o compila em código que implementa o grafo, buscando exigir o mínimo de suporte em runtime. Ele implementa o padrão ONNX e é construído sobre a infraestrutura de compiladores LLVM/MLIR.
onnx-mlir é gratuito? Qual é a licença?
onnx-mlir é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
onnx-mlir ainda é mantido?
Manutenção ativa. O último commit de onnx-mlir foi em 6 de nov. de 2026.
Para que posso usar onnx-mlir?
Implantar modelos ONNX como bibliotecas compiladas com o mínimo de dependências de runtime. Usar modelos ONNX em servidores IBM Telum por meio do backend NNPA. Criar ferramentas de compilação que integrem o dialeto ONNX a um pipeline MLIR.
Como instalar onnx-mlir?
Configure usando contêineres Docker pré-compilados (consulte docs/Docker.md). Compile o ONNX-MLIR diretamente no Linux ou macOS (consulte docs/BuildOnLinuxOSX.md). Converta um modelo ONNX para o dialeto ONNX usando o driver compilado.: ./onnx-mlir --EmitONNXIR add.onnx
Onde consigo onnx-mlir?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/onnx/onnx-mlir

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados