reComputer RK3576 で Hailo-8 M.2 アクセラレータを使用する
このチュートリアルでは、reComputer RK3576 に Hailo-8 PCIe ドライバと HailoRT をインストールし、アクセラレータの動作を確認して、Hailo Model Zoo の HEF を実行します。検証に使用したのは Seeed Studio Hailo-8 M.2 Key M 2280 モジュールであり、Hailo-8L ではありません。
システム構成
| 項目 | 検証した構成 |
|---|---|
| ホスト | reComputer RK3576 Dev Kit |
| OS | Armbian-unofficial 26.05.0-trunk、Debian 12 (bookworm)、ARM64 |
| カーネル | 6.1.115-vendor-seeed-rk3576 |
| アクセラレータ | Seeed Studio Hailo-8 M.2 Key M 2280 モジュール |
| PCIe デバイス | 1e60:2864 |
| ネゴシエートされたリンク | PCIe Gen2 x1、5.0 GT/s |
| ランタイムと PCIe ドライバ | HailoRT 4.23.0、hailort-pcie-driver 4.23.0 |
| テスト用 HEF | Hailo Model Zoo v2.17.0、centerpose_regnetx_800mf.hef、HAILO8、入力 512 × 512 × 3 |
モジュールの取り付けと PCIe の確認
M.2 モジュールの取り付けや差し直しを行う前に、RK3576 をシャットダウンして電源を抜いてください。Hailo-8 をボードの M.2 Key M スロットに差し込み、固定してから電源を接続します。
起動後、PCIe デバイスとリンクの状態を確認します。
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_width検証したカードは 01:00.0 に Hailo-8 AI Processor [1e60:2864] として列挙され、リンクは 5.0 GT/s PCIe x1 でした。別のシステムではバスアドレスが異なる場合があります。sysfs のリンクファイルを確認するときは、lspci に表示されたアドレスを使用してください。

HailoRT 4.23.0 のダウンロード
Hailo-8 は HailoRT 4.x を使用します。Hailo が公開する Hailo-8 の配布ディレクトリから、バージョンの一致する ARM64 ランタイムと PCIe ドライバをダウンロードします。
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 Architecture両方のパッケージが 4.23.0 を示し、ランタイムパッケージが arm64 を示すことを確認します。これらの直接リンクは Hailo のコミュニティ向けインストール案内に掲載されています。
ドライバは実行中のカーネルに合わせてビルドされます。インストール前に、対応するヘッダーと DKMS を確認します。
ls -ld /lib/modules/$(uname -r)/build
command -v dkms検証した Armbian イメージでは、ヘッダーのパスは linux-headers-6.1.115-vendor-seeed-rk3576 を指します。どちらかの確認に失敗した場合は、実行中のカーネルと正確に一致するヘッダーと DKMS を先にインストールしてください。
ランタイムと PCIe ドライバのインストール
パッケージを変更する前に、既存の Hailo パッケージを確認します。
dpkg-query -W -f='${binary:Package}\t${Version}\n' | grep -i hailo以前 ASUS UGen300 USB アクセラレータを使用していた場合は、Hailo-8 PCIe スタックを導入する前に、その HailoRT 5.x ランタイムと USB ドライバを削除します。
sudo apt-get purge hailort-usb-driver hailortダウンロードした 4.23.0 パッケージをインストールします。
cd ~/hailo8-4.23.0
sudo apt-get install ./hailort-pcie-driver_4.23.0_all.deb \
./hailort_4.23.0_arm64.deb確認画面では DKMS を有効にし、実行中のカーネル向けにドライバをビルドします。検証時は hailort.service も有効にしました。PCIe ドライバパッケージには対応する hailo8_fw.4.23.0.bin 起動イメージが含まれ、ドライバの初期化時にカードへ読み込まれます。この手順では hailortcli fw-update は実行しません。
再起動して、ドライバのバインドとデバイスノードを確認します。
sudo rebootlspci -nnk -s 01:00.0
modinfo hailo_pci | grep -E '^(version|vermagic):'
ls -l /dev/hailo0
hailortcli --version検証したボードでは、lspci に Kernel driver in use: hailo と表示され、カーネルモジュールと HailoRT CLI の両方が 4.23.0 を示しました。

アクセラレータの識別
HailoRT で PCIe バスをスキャンし、モジュール情報を読み取ります。
hailortcli scan
hailortcli fw-control identify検証したデバイスは 0000:01:00.0 で検出されました。識別結果には Device Architecture: HAILO8、Firmware Version: 4.23.0、Product Name: Seeed Studio Hailo-8 M.2 Key M 2280 Module が表示されました。

Hailo Model Zoo の HEF を実行する
Hailo Model Zoo v2.17.0 から、HAILO8 向けにコンパイル済みの CenterPose モデルをダウンロードします。
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 は Architecture HEF was compiled for: HAILO8 と入力 UINT8, NHWC(512x512x3) を表示するはずです。検証した Model Zoo v2.17.0 の HEF の SHA-256 は 625cbd18736c87ba708f46011cc683261690e8d68f054adc0e3df1e1a925a369 です。
HailoRT が生成する入力データで、ネットワークを 5 秒間実行します。
hailortcli run2 -t 5 set-net centerpose_regnetx_800mf.hefコマンドが 100% まで進み、centerpose_regnetx_800mf に対してゼロより大きい FPS が表示されれば、アクセラレータで推論が実行されています。このコマンドは CenterPose の出力を可視化されたキーポイントには変換しません。HailoRT 4.23.0 では、このテストで run2 が動作していても、単一モデルには run を推奨する警告が表示される場合があります。

トラブルシューティング
lspciに1e60:2864が表示されない場合:RK3576 の電源を完全に切り、M.2 カードを差し直して、Key M PCIe スロットに正しく装着されているか確認します。- PCIe デバイスはあるのに
/dev/hailo0がない場合:dkms status、modinfo hailo_pci、sudo dmesg -T | grep -i hailoでドライバのビルドやファームウェアの読み込み失敗を確認します。 - HailoRT がドライバのバージョン不一致を報告する場合:
hailortcli --versionとmodinfo hailo_pciがともに4.23.0を示すか確認します。 - HEF が拒否される場合:
hailortcli parse-hefがHAILO8を示すことを確認し、Hailo-8L または Hailo-10H 用ではなく Model Zoov2.xの Hailo-8 モデルを使用します。