inteintegrity2026-09-22

Tres aceleradores en un RK3576: NPU integrada, Hailo-8 y RK182x

El mismo YOLO26n ejecutado en la NPU integrada del reComputer RK3576, en un módulo Hailo-8 y en un módulo RK182x, comparando los FPS en un solo flujo y con 8 flujos concurrentes: Hailo-8 es el más rápido con un flujo, RK182x es el mejor con 8 flujos.

CVBenchmarkEdge AIGitHub

El reComputer RK3576 lleva una NPU propia y deja libre una ranura M.2 para un módulo acelerador. Aquí ejecutamos el mismo YOLO26n (80 clases COCO, 640×640, INT8) sobre los tres recursos de cómputo —NPU integrada, módulo Hailo-8 y módulo RK182x— y comparamos los FPS con un solo flujo y con 8 flujos concurrentes. Los tres procesan el mismo vídeo de 640×640 y 394 fotogramas, con el decodificado y el NMS en un mismo código de host.

Despliegue rápido

Qué necesitas: un reComputer RK3576 (también vale otro de la serie). Hailo-8 y RK182x comparten la misma ranura M.2, así que solo se puede montar uno a la vez. Los scripts de instalación crean entornos Python independientes y sin conexión a partir de las dependencias incluidas, pero no instalan ni sustituyen controladores del kernel. Hailo-8 y RK182x siguen necesitando el controlador del host y el módulo de hardware correspondientes.

1. Obtener el código

Los tres modelos vienen incluidos en el repositorio, no hay que convertir nada:

bash
git clone https://github.com/inteintegrity/rk3576-hailo8-vs-rk182x
cd rk3576-hailo8-vs-rk182x

2. Inferencia con un solo flujo

Hailo-8 (módulo en la ranura M.2):

bash
bash scripts/install-hailo8.sh
bash scripts/run-hailo8.sh

NPU integrada:

bash
bash scripts/install-rk3576.sh
bash scripts/run-rk3576.sh

RK182x (módulo en la ranura M.2):

bash
bash scripts/install-rk182x.sh
bash scripts/run-rk182x.sh

El entorno se instala una sola vez. Para usar otro vídeo, añada la ruta al comando run, por ejemplo bash scripts/run-rk3576.sh /ruta/al/video.mp4.

3. 8 flujos concurrentes

Hailo-8:

bash
.venvs/hailo8/bin/python Hailo/Hailo8/run_streams_aggregate.py \
    --hef model/Hailo/yolo26n_hailo8_official.hef \
    --video video/test.mp4 --streams 8 --frames 200 --json out/hailo8_8stream.json

NPU integrada:

bash
.venvs/rk3576/bin/python common/run_video_streams_benchmark.py --backend rk3576 \
    --model model/rk3576/yolo26n_rk3576_int8.rknn \
    --video video/test.mp4 --instances 1,2,4,8 --frames 200 --json out/rk3576_multi.json

RK182x:

bash
.venvs/rk182x/bin/python common/run_video_streams_benchmark.py --backend rk1820 \
    --model model/rk1820/yolo26n_rk1820_int8.rknn \
    --weight model/rk1820/yolo26n_rk1820_int8.weight \
    --video video/test.mp4 --instances 1,2,4,8 --frames 200 --json out/rk1820_multi.json

4. Dónde ver los resultados

Con un flujo se genera en out/<backend>/ un annotated.mp4 con las cajas dibujadas y un JSON con las detecciones fotograma a fotograma y los FPS de cada etapa; con 8 flujos se genera un JSON cuyo campo aggregate_fps es la columna «rendimiento total» de las tablas. La terminal también imprime los FPS en tiempo real.

Sirve cualquier vídeo, de cualquier resolución: los scripts hacen el letterbox a 640×640 por su cuenta. Las mediciones de esta página usaron un vídeo de tráfico de 640×640 y 394 fotogramas.

Un solo flujo: Hailo-8 es el más rápido

AceleradorFormatoFPS con un flujo
Hailo-8Módulo M.249.2
NPU integrada del RK3576En el propio SoC23.5
RK182xMódulo M.217.5

Con un solo flujo, Hailo-8 alcanza 2.1 veces la tasa de la NPU integrada y también la menor latencia por inferencia: 13.9 ms.

8 flujos concurrentes: RK182x es el más potente

Flujos concurrentesHailo-8NPU integrada RK3576RK182x
150.321.216.2
251.343.234.4
451.652.357.0
851.669.788.6
  • Hailo-8 no aumenta su total: da igual 1 que 8 flujos, se queda en torno a 50 FPS, así que con 8 flujos cada uno recibe solo 6.4 FPS.
  • La NPU integrada crece con la concurrencia: de 21.2 a 69.7 FPS (8.7 FPS por flujo con 8 flujos).
  • RK182x llega a 88.6 FPS: 11.1 FPS por flujo con 8 flujos, 1.27 veces la NPU integrada y 1.7 veces el Hailo-8.

Los tres, en pantalla

El mismo fotograma del mismo vídeo, tal como lo entrega cada acelerador:

De izquierda a derecha: Hailo-8, NPU integrada del RK3576 y RK182x.

Cuál elegir

Caso de usoElecciónMotivo
Un flujo / una cámaraHailo-849.2 FPS y 13.9 ms por inferencia
Un flujo sin ocupar la ranuraNPU integrada del RK357623.5 FPS, sin coste adicional
Varias cámaras / 4 flujos o másRK182x88.6 FPS con 8 flujos (frente a 69.7 de la NPU y 51.6 del Hailo-8)
Mínima latencia por inferenciaHailo-813.9 ms

En una frase: Hailo-8 para un flujo, RK182x para muchos y la NPU integrada como opción sin coste. Con 8 flujos la NPU del SoC ya iguala a un módulo Hailo-8 (69.7 frente a 51.6); el módulo multinúcleo como el RK182x se justifica cuando necesitas más rendimiento total y además quieres dejar libre la NPU del SoC.

Código y datos