inteintegrity2026-09-22

Drei Beschleuniger auf einem RK3576: integrierte NPU, Hailo-8 und RK182x

Dasselbe YOLO26n auf der integrierten NPU des reComputer RK3576, auf einem Hailo-8-Modul und auf einem RK182x-Modul, verglichen bei einem Stream und bei 8 gleichzeitigen Streams: Hailo-8 ist mit einem Stream am schnellsten, RK182x ist mit 8 Streams am besten.

CVBenchmarkEdge AIGitHub

Der reComputer RK3576 bringt eine eigene NPU mit und lässt einen M.2-Steckplatz für ein Beschleunigermodul frei. Wir haben dasselbe YOLO26n (80 COCO-Klassen, 640×640, INT8) auf allen drei Rechenressourcen laufen lassen — integrierte NPU, Hailo-8-Modul und RK182x-Modul — und die FPS bei einem Stream und bei 8 gleichzeitigen Streams verglichen. Alle drei verarbeiten dasselbe Video mit 640×640 und 394 Bildern; Dekodierung und NMS laufen im selben Host-Code.

Schnellstart

Was Sie brauchen: einen reComputer RK3576 (ein anderes Modell der Serie geht auch). Hailo-8 und RK182x teilen sich denselben M.2-Steckplatz, es passt also immer nur ein Modul hinein. Die Installationsskripte erstellen aus den mitgelieferten Abhängigkeiten getrennte Offline-Python-Umgebungen, installieren oder ersetzen jedoch keine Kernel-Treiber. Hailo-8 und RK182x benötigen weiterhin den passenden Host-Treiber und das jeweilige Hardwaremodul.

1. Code holen

Alle drei Modelle liegen im Repository, eine Konvertierung ist nicht nötig:

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

2. Inferenz mit einem Stream

Hailo-8 (Modul im M.2-Steckplatz):

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

Integrierte NPU:

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

RK182x (Modul im M.2-Steckplatz):

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

Die Umgebung wird nur einmal installiert. Für ein anderes Video hängen Sie den Pfad an den run-Befehl an, zum Beispiel bash scripts/run-rk3576.sh /pfad/clip.mp4.

3. 8 gleichzeitige Streams

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

Integrierte NPU:

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. Wo die Ergebnisse landen

Bei einem Stream entstehen in out/<backend>/ ein annotated.mp4 mit eingezeichneten Boxen und ein JSON mit den Erkennungen pro Bild und den FPS der einzelnen Stufen; bei 8 Streams entsteht ein JSON, dessen Feld aggregate_fps der Spalte „Gesamtdurchsatz" in den Tabellen entspricht. Das Terminal zeigt die FPS zusätzlich live an.

Jedes Video ist geeignet, unabhängig von der Auflösung — die Skripte letterboxen selbst auf 640×640. Für die Messungen auf dieser Seite wurde ein Verkehrsclip mit 640×640 und 394 Bildern verwendet.

Ein Stream: Hailo-8 vorn

BeschleunigerFormFPS mit einem Stream
Hailo-8M.2-Modul49.2
Integrierte NPU des RK3576im SoC23.5
RK182xM.2-Modul17.5

Mit einem Stream erreicht Hailo-8 die 2,1-fache Rate der integrierten NPU und zugleich die niedrigste Latenz: 13,9 ms pro Inferenz.

8 gleichzeitige Streams: RK182x am stärksten

Gleichzeitige StreamsHailo-8Integrierte NPURK182x
150.321.216.2
251.343.234.4
451.652.357.0
851.669.788.6
  • Hailo-8 wird nicht mehr: ob 1 oder 8 Streams, der Gesamtwert bleibt bei rund 50 FPS, bei 8 Streams bekommt jeder nur 6,4 FPS.
  • Die integrierte NPU wächst mit der Nebenläufigkeit: von 21,2 auf 69,7 FPS (8,7 FPS pro Stream bei 8 Streams).
  • RK182x steigt auf 88,6 FPS: 11,1 FPS pro Stream bei 8 Streams — das 1,27-Fache der integrierten NPU und das 1,7-Fache des Hailo-8.

Die drei im Bild

Dasselbe Einzelbild desselben Videos, so wie es jeder Beschleuniger liefert:

Von links nach rechts: Hailo-8, integrierte NPU des RK3576 und RK182x.

Welchen Beschleuniger wählen

EinsatzWahlBegründung
Ein Stream / eine KameraHailo-849,2 FPS und 13,9 ms pro Inferenz
Ein Stream, Steckplatz soll frei bleibenIntegrierte NPU des RK357623,5 FPS, ohne Zusatzkosten
Mehrere Kameras / 4 Streams und mehrRK182x88,6 FPS bei 8 Streams (gegenüber 69,7 der NPU und 51,6 des Hailo-8)
Geringste Latenz pro InferenzHailo-813,9 ms

In einem Satz: Hailo-8 für einen Stream, RK182x für viele, die integrierte NPU als kostenlose Option. Bei 8 Streams erreicht die NPU im SoC bereits das Niveau eines Hailo-8-Moduls (69,7 gegen 51,6); ein Mehrkernmodul wie der RK182x lohnt sich, wenn Sie mehr Gesamtdurchsatz brauchen und die NPU des SoC freihalten wollen.

Code und Daten