对于调度耗时,通常需要根据整个调度的多级流水,来判断任务通过流水下发的速度能否跟上执行的速度。
- 分析一级流水与二级流水之间的迭代耗时。
- 分析二级流水到Device侧TS的任务下发耗时。
- 分析TS调度到STARS调度的rtsq填充耗时。
图1 调度流水逻辑图
调度耗时长一般由于下发时间过长或通信等待耗时长等问题所引起,进而使得Device侧下发任务产生间隙,从而导致模型性能下降。
图2 调度耗时优化总体思路
常见耗时可能原因如下:
- Host侧软件栈下发慢。
- Host侧集合通信算子调度耗时长。
- Host侧无调度任务下发。