专栏算法工具链是否方法查看模型编译后有多少个function-call

是否方法查看模型编译后有多少个function-call

已解决
默认284802025-06-10
50
6

芯片:J6E

对于文档中:“编译后的数据指令模型在BPU上进行推理计算时,它将表现为1个或者多个function-call的调用,其中function-call是BPU的执行粒度,多个function-call调用任务将在BPU的硬件队列上按序进行调度,当一个模型所有的function-call都执行完成,那么一个模型推理任务也就执行完成了。” 

这里模型对应的每个算子是一个function-call吗,有什么方法可以知道编译后的模型有多个个function-call  

算法工具链
征程6
评论2
0/1000
  • Jade-self
    Lv.5
    如果是全一段BPU,且没配置 max_time_per_fc 参数,可以认为这个模型就只有一个 function-call ,如果配置了,一般是模型分成多段,数量为:latency /max_time_per_fc 。
    可以尝试用BPU trace查看。
    2025-06-10
    0
    4
    • 默认28480回复Jade-self:

      感谢解释,所以这里的function-call 与转成BPU上运行的算子没有关系;那这个模型划分多个function-call的原则是什么样的?

      2025-06-10
      0
    • PhoenixOwner回复默认28480:
      单个function-call是不可拆分的,可以理解为是最小的原子粒度,主要目的是用于多任务抢占使用。例如:当有两个不同优先级的BPU Task,每个Task里面可以划分为10个function-call,如果低优Task运行过程中被高优Task抢占了,那么抢占发生在低优Task的function-call执行结束后。
      因此,划分多个function-call的一个目的是快速响应高优Task的抢占。
      2025-06-10
      0
    • 默认28480回复Jade-self:

      hbperfetto 工具哪里可以获取到啊

      2025-06-13
      0
    • Jade-self回复默认28480:
      工具链中有提供的
      2025-06-14
      0
  • DR_KAN
    Lv.4

    可以测试下延时是多少,然后看你配置的 max_time_per_fc 是多少,除一下大概就知道了

    2025-06-10
    0
    0