专栏算法工具链基于J6 DSP执行int8->fp32的反量化中,DSPPluginTask::Wait过长

基于J6 DSP执行int8->fp32的反量化中,DSPPluginTask::Wait过长

已解决
王绍昶2024-11-27
77
3

具体配置

  1. 芯片:6JE

  2. OE工具链:3.0.22

  3. 问题定位,dsp上反量化时间过长,发现DSPPluginTask::Wait过长

可以看到DSP opinfer只有1-2ms,而wait了85ms,请问是什么原因?

附件:
算法工具链
征程6
评论3
0/1000
  • Huanghui
    Lv.5

    收到,我们先复现看看

    2025-01-02
    0
    0
  • Huanghui
    Lv.5

    你好,我们已经复现了你在该问题的反馈的现象,通过资料收集和分析现对图中的内容做如下解读:

    从上面的图中对task的调度逻辑可以看出

    用户界面:SubmitTask -> wait -> ReleaseTask

    UCP框架调度界面: SubmitOp ->OpInfer ->OpFnish ->TaskSetDone

    但是,因为没有DSP的数据源,无法捕捉DSP的执行时间,但我们知道对于DSP是通过RPC方式调用的,从DSP-Recy线程接受DSP的反馈可以认为 OpFnish就是DSP RPC的结果反馈时间。

    实际从用过侧观察到tastCommit后的wait时间,真是UCP调度内核在对task进行调度和DSP执行计算。只不过DSP数据源确实原始存在空缺,但因为有 OpFnish 时间标记也不影响理解。

    所以,你这里的调度逻辑图也好还是我复现是截取的调度逻辑图也好,都是正常没有问题的。

    另外,是使用DSP时也需要明确一个认识:并不是调用的DSP一定会有收益的。原因是DSP的调用是通过RPC机制使用的,而RPC机制本身是需要额外的调度开销的,如果是大批量的数据需要处理,数据处理带来的收益可以弥补甚至将 RPC调度开销 忽略,但是如果需要DSP处理的处理很少,在整个调用过程来看, 调度开销 将不可忽略,甚至是负收益。

    2025-01-09
    0
    0
  • Huanghui
    Lv.5

    客户您好,长时间未收到你的答复,相信问题已解。如对此尚存疑问欢迎新帖讨论,感谢您的参与!客户您好,长时间未收到你的答复,相信问题已解。如对此尚存疑问欢迎新帖讨论,感谢您的参与!

    2025-01-15
    0
    0