I encountered the following message when running on my device [HailoRT] [warning] HEF was compiled clock rate of 400 MHz, while the device clock rate is 200 MHz. FPS calculations might not be accurate.
Is there a way to fix it?
I suspect you use a Hailo-8 mini PCI module. This chip variant is called Hailo-8R. It is set in the factory to run at 200MHz because the mini PCI interface standard does not provide enough power at the connector to run the Hailo-8 at full speed.
When you convert a model for that device you can set the architecture to hailo8r for example:
hailo parser onnx ... --hw-arch hailo8r model.onnx
How to run in 400Hz? Please help me!
hailo parser onnx yolov8m.onnx --hw-arch hailo8r
hailomz compile yolov8m --har yolov8m.har
I used 2 command but the problem still appear.
Can you please run the following command and post the output?
hailortcli fw-control identify --extended
root@genio-1200-evk:~# hailortcli fw-control identify --extended
Executing on device: 0000:07:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.17.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8
Serial Number: HLLWMPA221800085
Part Number: HMP1RB1C2GAE
Product Name: HAILO-8 AI ACC PCIE MINI CARD EXT TEMP
Boot source: PCIE
Neural Network Core Clock Rate: 200MHz
Device supported features: Current Monitoring, PCIE
LCS: 3
SoC ID: 7F6247B77D6E867FAEF268FB1906D6E52F2594E3266B56F7B50E71D7FF939A50
ULT ID: 0060C1B3169419D09A7B53BD
PM Values: 021F010000027F01000002FE010000897EE24156BBE54101
I send you some info.
You have a Hailo-8 mini PCIe card. That card cannot run at 400MHz. The mini PCIe connector does not provide enough power.
The message is just a warning from HailoRT. You could simply ignore it. The model will run fine.
The hailomz command will default to Hailo-8 when you do not specify the hw-arch. It looks like hailomz command does not support hailo8r.
This will just cause the warning other than that the model will run.
If you really want to avoid the warning you must convert the model using the hailo command and the hw-arch flag set to hailo8r in all steps. I do not think their will be any other benefit other than no warning.
but if I switch everything, it won’t get any better, right, it only runs at 200mhz
That is correct.
If you need more performance you can switch to the Hailo-8 M.2 modules. The M.2 standard allows more power on the connector.
Additionally the Hailo-8 M.2 key A+E and B+M have two PCIe lanes and the Hailo-8 M.2 key M has 4 PCIe lanes.