X5双线程并行推理模型推理耗时间隔几帧规律的耗时会增长或翻倍

[问题分类]参考:[图像算法][RDK Model Zoo]
[板卡类型]参考:[RDK X5]

双模型并行进行图像推理,定位耗时信息日志,其他预处理后处理耗时都是稳定的,只有间隔几帧后infer这一部分耗时两个模型都同步提高了,最严重情况下是耗时完全翻一倍,或者就是增加一定的耗时。若是bpu抢占问题如何解决

针对特定的问题,请参考特定领域问题的发帖模板继续提供相关信息: forum.d-robotics.cc/t/topic/28613

① 结论:知识库未检索到该现象的明确结论;按现象优先怀疑双线程并发调用 BPU 造成 infer 排队/调度竞争,其次排查是否存在周期性同步、内存分配或输入变化。

② 排查步骤:

  1. 先做单路基线:分别单独运行模型 A / 模型 B 各 100 帧以上,观察 infer 是否仍规律翻倍;若单路稳定、双路才翻倍,则并发竞争可能性最高。
python infer_modelA.py --test-img test.jpg
python infer_modelB.py --test-img test.jpg
  1. 临时改为串行或互斥推理:两路共用一把推理锁,或放入单队列依次执行;若耗时恢复稳定,说明是并发提交导致等待。以下为通用排查经验,非官方结论,请结合实际验证。
with infer_lock:
    outputs = model.infer(frame)
  1. 采集版本、负载和日志:复现时记录系统负载、温度/降频现象,并提供软件包版本;若单路也会周期性翻倍,需要进一步由研发定位。
cat /etc/os-release
uname -a
apt list --installed 2>/dev/null | grep -Ei 'hbm|bpu|tros|rdk'
top -b -n 1 | head -n 20

③ 需补充信息:系统镜像版本及查询命令输出、hbm_runtime/BPU runtime/tros 等相关包版本、两个模型名称/输入尺寸/是否同进程双线程、推理调用代码片段、连续 20 帧完整耗时日志与复现步骤。

X5 为单核 理论上只能串行推理

好的了解,当前测试这样整体耗时还是理论上优于串行的,所以单核还是暂时没法像x3那样去绑定核或者其他方式稳定并行推理是吧。

没办法的,并行会导致 内部模型抢占BPU 变成伪并行