Pila de Sintesis y Simulacion de Inferencia NPU
123 operadores (13 grupos), 10 tipos de datos, pipeline de compilacion spec.yaml a .npuart, y runtime FPGA Zynq-7020 — una sola CLI cubre todo el flujo de desarrollo de hardware de inferencia NPU.
Open SourceConjunto completo de operadores que cubre CNN, Transformer, RNN, cuantizacion y todos los escenarios de inferencia
| Core | MatMul, Gemm, Reshape, Transpose, Concat, Split, Gather, etc. |
|---|---|
| Conv | Conv2D, DepthwiseConv2D, ConvTranspose2D, GroupConv2D |
| Pool | MaxPool, AvgPool, GlobalAvgPool, AdaptiveAvgPool |
| Activation | ReLU, GELU, SiLU, Sigmoid, Softmax, Tanh, etc. |
| Norm | BatchNorm, LayerNorm, GroupNorm, RMSNorm, InstanceNorm |
| Recurrent | LSTM, GRU, RNN |
| Attention | MultiHeadAttention, ScaledDotProduct, KVCache, RoPE |
| Quantize | Quantize, Dequantize, QLinearConv, QLinearMatMul |
| Punto Flotante | float32, float16, bfloat16 |
|---|---|
| Entero con Signo | int8, int16, int32 |
| Entero sin Signo | uint8, uint16, uint32 |
| Booleano | bool |
La matriz de capacidades define los tipos de datos soportados y las restricciones de hardware para cada operador. El compilador verifica automaticamente la compatibilidad antes de compilar.
Desde la especificacion YAML hasta el archivo .npuart desplegable
El archivo de especificacion YAML declarativo se valida, transforma a IR y optimiza antes de compilarse al formato .npuart (NPU Archive).
| Entrada | spec.yaml — definicion declarativa del grafo computacional |
|---|---|
| Validacion | Compatibilidad de operadores, tipos de datos, inferencia de formas |
| IR | Representacion intermedia — optimizacion de grafos, fusion de operadores |
| Salida | Binario .npuart — cargable directamente en el runtime |
Los archivos .npuart compilados se pueden ejecutar en el simulador o en hardware FPGA Zynq-7020.
| Simulador | Simulacion con precision de ciclo, soporte de analisis de rendimiento |
|---|---|
| FPGA | Runtime Zynq-7020 AXI-Lite MMIO |
| Perfilado | Latencia por capa, ancho de banda de memoria, reporte de utilizacion |
Unico punto de entrada eulernpu — 5 subcomandos para el flujo de trabajo completo
validateValida la compatibilidad de operadores, tipos de datos y restricciones de forma en spec.yaml.
compileCompila spec.yaml a un binario .npuart.
runEjecuta archivos .npuart en el simulador o FPGA.
simSimulacion con precision de ciclo para analizar el comportamiento de ejecucion.
profileAnalisis de rendimiento por capa, genera reportes de latencia y memoria.
Filosofia central de diseno de EulerNPU
Archivos de especificacion YAML definen el grafo computacional — sin necesidad de codigo de bajo nivel, el compilador maneja todas las optimizaciones.
La matriz de capacidades verifica tipos de datos y restricciones de hardware de cada operador antes de compilar, previniendo errores en tiempo de ejecucion.
Verifique la correctitud y el rendimiento con el simulador de precision de ciclo antes de desplegar en FPGA.
Aprenda EulerNPU rapidamente con guias paso a paso
Tutoriales proximamente.
Instale EulerNPU y compile su primer modelo
Python 3.12+
Placa de desarrollo Zynq-7020 (despliegue FPGA)
Desde especificacion YAML hasta despliegue FPGA, con una sola CLI.
Comenzar en GitHub Contactenos