我在开发一个长时间运行的推理服务时用到了aclrtProcessReport接口。根据文档说明,在耗时较长的算子执行过程中调用这个接口可以上报任务状态,防止触发超时机制。我按照示例在核函数执行循环中每隔一段时间调用一次这个接口,功能上确实解决了超时问题,但带来了新的烦恼——CPU占用率明显升高,从原来的10%左右飙升到了60%以上。我尝试降低了调用频率,但CPU占用下降不明显,反而又接近超时边缘了。想请教一下大家,在CANN应用开发中,如何正确使用aclrtProcessReport接口,既能避免超时又能控制CPU开销?
我在开发一个长时间运行的推理服务时用到了aclrtProcessReport接口。根据文档说明,在耗时较长的算子执行过程中调用这个接口可以上报任务状态,防止触发超时机制。我按照示例在核函数执行循环中每隔一段时间调用一次这个接口,功能上确实解决了超时问题,但带来了新的烦恼——CPU占用率明显升高,从原来的10%左右飙升到了60%以上。我尝试降低了调用频率,但CPU占用下降不明显,反而又接近超时边缘了。想请教一下大家,在CANN应用开发中,如何正确使用aclrtProcessReport接口,既能避免超时又能控制CPU开销?