aclrtSubscribeReport
函数功能
注册处理Stream上回调函数的线程。同步接口。
约束说明
- 支持多次调用aclrtSubscribeReport接口给多个Stream(仅支持同一Device内的多个Stream)注册同一个处理回调函数的线程;
- 为确保Stream内的任务按调用顺序执行,不支持调用aclrtSubscribeReport接口给同一个Stream注册多个处理回调函数的线程;
- 在Atlas 200/300/500 推理产品上,单进程内调用aclrtSubscribeReport接口注册的线程数量如果超过128个,则接口返回失败;
- 在Atlas 训练系列产品上,单进程内调用aclrtSubscribeReport接口注册的线程数量如果超过1024个,则接口返回失败;
- 在Atlas A2训练系列产品上,单进程内调用aclrtSubscribeReport接口注册的线程数量如果超过1024个,则接口返回失败;
- 在Atlas 推理系列产品上,单进程内调用aclrtSubscribeReport接口注册的线程数量如果超过1024个,则接口返回失败;
- 考虑操作系统的线程切换性能开销,建议调用aclrtSubscribeReport接口注册的线程数量控制在32个以下(包括32);
- 同一个进程内,在不同的Device上注册回调函数的线程时,不能指定同一个线程ID。
函数原型
aclError aclrtSubscribeReport(uint64_t threadId, aclrtStream stream)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
threadId |
输入 |
指定线程的ID。 |
stream |
输入 |
指定Stream。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
接口调用流程及示例代码,参见异步模型推理。
父主题: 同步等待