文档
注册

aclrtStreamWaitEvent

函数功能

阻塞指定Stream的运行,直到指定的Event完成,支持多个Stream等待同一个Event的场景。异步接口。

提交到Stream上的所有后续任务都需要等待Event捕获的任务都完成后才能开始执行。具体见aclrtRecordEvent接口了解Event捕获的细节。

约束说明

  • 该接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,aclrtSynchronizeStream)确保任务已执行完成。
  • aclrtRecordEvent接口与aclrtStreamWaitEvent接口配合使用时,主要用于多Stream之间同步的场景,在调用aclrtRecordEvent接口时,系统内部会申请Event资源,在调用aclrtStreamWaitEvent接口之后,请及时调用aclrtResetEvent接口释放Event资源。

    接口调用顺序aclrtCreateEvent-->aclrtRecordEvent-->aclrtStreamWaitEvent-->aclrtResetEvent

  • 一个进程内,调用aclInit接口初始化AscendCL后,调用aclrtSetOpWaitTimeout接口设置超时时间,本进程内后续调用aclrtStreamWaitEvent接口下发的任务支持在所设置的超时时间内等待,若等待的时间超过所设置的超时时间,则AscendCL会返回报错。

    由于aclrtStreamWaitEvent接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功,因此若等待的时间超过所设置的超时时间,则在调用aclrtSynchronizeStream接口后,会返回报错。

函数原型

aclError aclrtStreamWaitEvent(aclrtStream stream, aclrtEvent event)

参数说明

参数名

输入/输出

说明

stream

输入

指定需要等待Event完成的Stream。

如果使用默认Stream,此处设置为NULL。

event

输入

需等待的Event。

返回值说明

返回0表示成功,返回其它值表示失败。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词