Utiliser un accélérateur Hailo-8 M.2 avec reComputer RK3576
Ce tutoriel explique comment installer le pilote PCIe Hailo-8 et HailoRT sur un reComputer RK3576, vérifier que l’accélérateur est prêt et exécuter un fichier HEF de Hailo Model Zoo sur l’appareil. Le module testé est le Seeed Studio Hailo-8 M.2 Key M 2280, et non un Hailo-8L.
Configuration du système
| Élément | Configuration testée |
|---|---|
| Hôte | reComputer RK3576 Dev Kit |
| Système d’exploitation | Armbian-unofficial 26.05.0-trunk, Debian 12 (bookworm), ARM64 |
| Noyau | 6.1.115-vendor-seeed-rk3576 |
| Accélérateur | Module Seeed Studio Hailo-8 M.2 Key M 2280 |
| Périphérique PCIe | 1e60:2864 |
| Liaison négociée | PCIe Gen2 x1, 5.0 GT/s |
| Environnement d’exécution et pilote PCIe | HailoRT 4.23.0, hailort-pcie-driver 4.23.0 |
| HEF de test | Hailo Model Zoo v2.17.0, centerpose_regnetx_800mf.hef, HAILO8, entrée 512 × 512 × 3 |
Installer le module et vérifier PCIe
Arrêtez le RK3576 et débranchez son alimentation avant d’installer ou de réinsérer le module M.2. Placez le Hailo-8 dans l’emplacement M.2 Key M de la carte, fixez-le, puis rebranchez l’alimentation.
Après le démarrage, vérifiez le périphérique PCIe et la liaison négociée :
lspci -nnk -s 01:00.0
cat /sys/bus/pci/devices/0000:01:00.0/current_link_speed
cat /sys/bus/pci/devices/0000:01:00.0/current_link_widthLa carte testée est apparue à l’adresse 01:00.0 sous le nom Hailo-8 AI Processor [1e60:2864], avec une liaison 5.0 GT/s PCIe x1. L’adresse du bus peut différer sur un autre système ; utilisez celle affichée par lspci pour consulter les fichiers de liaison sysfs.

Télécharger HailoRT 4.23.0
Hailo-8 utilise la gamme HailoRT 4.x. Téléchargez les paquets ARM64 correspondants de l’environnement d’exécution et du pilote PCIe depuis le répertoire public de Hailo-8 :
mkdir -p ~/hailo8-4.23.0
cd ~/hailo8-4.23.0
curl -fL -O https://dev-public.hailo.ai/2025_10/Hailo8/hailort_4.23.0_arm64.deb
curl -fL -O https://dev-public.hailo.ai/2025_10/Hailo8/hailort-pcie-driver_4.23.0_all.deb
dpkg-deb -f hailort_4.23.0_arm64.deb Package Version Architecture
dpkg-deb -f hailort-pcie-driver_4.23.0_all.deb Package Version ArchitectureLes deux paquets doivent indiquer 4.23.0 et celui de l’environnement d’exécution doit indiquer arm64. Hailo fournit ces liens directs dans son guide d’installation communautaire.
Le pilote est compilé pour le noyau en cours d’exécution. Avant l’installation, vérifiez la présence des en-têtes correspondants et de DKMS :
ls -ld /lib/modules/$(uname -r)/build
command -v dkmsSur l’image Armbian testée, le chemin des en-têtes pointe vers linux-headers-6.1.115-vendor-seeed-rk3576. Si l’une des vérifications échoue, installez les en-têtes correspondant exactement au noyau en cours d’exécution ainsi que DKMS avant de continuer.
Installer l’environnement d’exécution et le pilote PCIe
Avant de modifier les paquets, vérifiez les composants Hailo déjà installés :
dpkg-query -W -f='${binary:Package}\t${Version}\n' | grep -i hailoSi la carte a précédemment utilisé l’accélérateur USB ASUS UGen300, supprimez son environnement HailoRT 5.x et son pilote USB avant d’installer la pile PCIe Hailo-8 :
sudo apt-get purge hailort-usb-driver hailortInstallez les paquets 4.23.0 depuis le répertoire de téléchargement :
cd ~/hailo8-4.23.0
sudo apt-get install ./hailort-pcie-driver_4.23.0_all.deb \
./hailort_4.23.0_arm64.debLorsque le programme vous le demande, activez DKMS pour compiler le pilote pour le noyau en cours d’exécution. L’installation testée a également activé hailort.service. Le paquet du pilote PCIe contient l’image de démarrage correspondante hailo8_fw.4.23.0.bin, chargée sur la carte lors de l’initialisation du pilote. Cette procédure n’utilise pas hailortcli fw-update.
Redémarrez, puis confirmez que le pilote est associé au périphérique et que le nœud existe :
sudo rebootlspci -nnk -s 01:00.0
modinfo hailo_pci | grep -E '^(version|vermagic):'
ls -l /dev/hailo0
hailortcli --versionSur la carte testée, lspci a affiché Kernel driver in use: hailo, et le module comme la CLI HailoRT ont indiqué 4.23.0.

Identifier l’accélérateur
Utilisez HailoRT pour rechercher les périphériques PCIe et lire les informations du module :
hailortcli scan
hailortcli fw-control identifyLe périphérique testé a été détecté à 0000:01:00.0. L’identification a indiqué Device Architecture: HAILO8, Firmware Version: 4.23.0 et Product Name: Seeed Studio Hailo-8 M.2 Key M 2280 Module.

Exécuter un HEF de Hailo Model Zoo
Téléchargez le modèle CenterPose précompilé pour HAILO8 depuis Hailo Model Zoo v2.17.0 :
cd ~/hailo8-4.23.0
curl -fL -o centerpose_regnetx_800mf.hef \
https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.17.0/hailo8/centerpose_regnetx_800mf.hef
hailortcli parse-hef centerpose_regnetx_800mf.hefparse-hef doit afficher Architecture HEF was compiled for: HAILO8 et une entrée UINT8, NHWC(512x512x3). Le HEF de Model Zoo v2.17.0 utilisé pour le test possède l’empreinte SHA-256 625cbd18736c87ba708f46011cc683261690e8d68f054adc0e3df1e1a925a369.
Exécutez le réseau pendant cinq secondes avec les données d’entrée générées par HailoRT :
hailortcli run2 -t 5 set-net centerpose_regnetx_800mf.hefLa commande doit atteindre 100 % et afficher un nombre de FPS non nul pour centerpose_regnetx_800mf. Elle exécute l’inférence sur l’accélérateur, mais ne décode pas la sortie de CenterPose en points clés visibles. HailoRT 4.23.0 peut afficher un avertissement recommandant run pour un seul modèle, bien que run2 fonctionne pour ce test.

Dépannage
lspcin’affiche pas1e60:2864: coupez complètement l’alimentation du RK3576, réinsérez la carte M.2 et vérifiez qu’elle se trouve dans l’emplacement PCIe Key M.- Le périphérique PCIe est présent mais
/dev/hailo0manque : consultezdkms status,modinfo hailo_pcietsudo dmesg -T | grep -i hailopour rechercher un échec de compilation du pilote ou de chargement du micrologiciel. - HailoRT signale une incompatibilité de version du pilote : vérifiez
hailortcli --versionetmodinfo hailo_pci; les deux doivent indiquer4.23.0. - Le HEF est refusé : confirmez que
hailortcli parse-hefindiqueHAILO8et utilisez un modèle Hailo-8 de Model Zoov2.x, et non un HEF Hailo-8L ou Hailo-10H.