Hi all,
Looking for a sense check as I believe I am missing something obvious.
Two Pi5s one with Raspberry Pi M.2 PCIe2 HAT, one with the seeed dual M.2 PCIe3 HAT
When running a test model and enabling and disabling in the boot config.txt under [all]
dtparam=pciex
dtparam=pciex1_gen=3
I saw the following benchmarks.
Note that in our case we cannot batch because we run on real time video so there is a known bottleneck there. To me it looks like either we are not running at full speed even on gen2, because of this bottleneck, which explains why the switch from gen 2-3 and across the two M.2 HATS shows no fps difference.
Pi5 running Raspberry Pi m.2 HAT (not PCIe 3 enabled)
PCIe2
robdupre@PI5-16GB:~$ hailortcli run2 -t 20 set-net model.hef [HailoRT CLI] [warning] “hailortcli run2” is not optimized for single model usage. It is recommended to use “hailortcli run” command for a single model [===================>] 100% 00:00:00 joined_preprocess_nn: fps: 352.69
PCIe3 (expected no change)
robdupre@PI5-16GB:~$ hailortcli run2 -t 20 set-net model.hef [HailoRT CLI] [warning] “hailortcli run2” is not optimized for single model usage. It is recommended to use “hailortcli run” command for a single model [===================>] 100% 00:00:00 joined_preprocess_nn: fps: 351.54
Pi5 running Seeed Dual PCIe3 m.2 HAT
PCIe2
vcacore@PI5:~$ hailortcli run2 -t 20 set-net model.hef [HailoRT CLI] [warning] “hailortcli run2” is not optimized for single model usage. It is recommended to use “hailortcli run” command for a single model [===================>] 100% 00:00:00 joined_preprocess_nn: fps: 352.69
PCIe3
vcacore@PI5:~$ hailortcli run2 -t 20 set-net model.hef [HailoRT CLI] [warning] “hailortcli run2” is not optimized for single model usage. It is recommended to use “hailortcli run” command for a single model [===================>] 100% 00:00:00 joined_preprocess_nn: fps: 350.79