aclrtStreamWaitEvent
函数功能
阻塞指定Stream的运行,直到指定的Event完成,同步接口。支持多个Stream等待同一个Event的场景。
约束说明
- aclrtRecordEvent接口与aclrtStreamWaitEvent接口配合使用时,主要用于多Stream之间同步的场景,在调用aclrtRecordEvent接口时,系统内部会申请Event资源,在调用aclrtStreamWaitEvent接口之后,请及时调用aclrtResetEvent接口释放Event资源。
接口调用顺序:aclrtCreateEvent-->aclrtRecordEvent-->aclrtStreamWaitEvent-->aclrtResetEvent
- 由于在调用aclrtRecordEvent接口,系统内部会申请Event资源,因此会受Event数量的限制,具体如下:
昇腾310 AI处理器,单个Device上最多支持1023个Event。
昇腾910 AI处理器,单个Device上最多支持65535个Event。
函数原型
aclError aclrtStreamWaitEvent(aclrtStream stream, aclrtEvent event)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
stream |
输入 |
指定需要等待Event完成的Stream。 如果使用默认Stream,此处设置为NULL。 |
event |
输入 |
需等待的Event。 |
返回值说明
返回0表示成功,返回其它值表示失败。
参考资源
- 接口调用流程,参见多Stream场景。
- 接口调用示例,参见关于Event的同步等待、关于Stream间任务的同步等待。
父主题: 同步等待