跳到主要内容

aclrtSynchronizeDevice

aclrtEventElapsedTime

函数功能

统计两个Event之间的耗时,同步接口。

约束说明

**接口调用顺序:调用aclrtCreateEvent/aclrtCreateEventWithFlag接口创建Event-->调用aclrtRecordEvent接口在同一个Stream中记录起始Event、结尾Event-->调用aclrtSynchronizeStream接口阻塞应用程序运行,直到指定Stream中的所有任务都完成-->**调用aclrtEventElapsedTime接口统计两个Event之间的耗时

函数原型

aclError aclrtEventElapsedTime(float *ms, aclrtEvent startEvent, aclrtEvent endEvent)

参数说明

参数名输入/输出说明
ms输出表示两个Event之间耗时的指针,单位为毫秒。
start输入起始Event。
end输入结尾Event。

返回值说明

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

父主题: 同步等待

aclrtStreamWaitEvent

函数功能

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

约束说明

函数原型

aclError aclrtStreamWaitEvent(aclrtStream stream, aclrtEvent event)

参数说明

参数名输入/输出说明
stream输入指定需要等待Event完成的Stream。 如果使用默认Stream,此处设置为NULL。
event输入需等待的Event。

返回值说明

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

参考资源

父主题: 同步等待

aclrtSynchronizeDevice

函数功能

阻塞应用程序运行,直到正在运算中的Device完成运算,同步接口。

函数原型

aclError aclrtSynchronizeDevice(void)

参数说明

返回值说明

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

父主题: 同步等待

aclrtSynchronizeStream

函数功能

阻塞应用程序运行,直到指定Stream中的所有任务都完成,同步接口。

函数原型

aclError aclrtSynchronizeStream(aclrtStream stream)

参数说明

参数名输入/输出说明
stream输入指定需要完成所有任务的Stream。

返回值说明

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

参考资源

接口调用示例,参见Stream内任务的同步等待示例代码

父主题: 同步等待

aclrtSynchronizeStreamWithTimeout

函数功能

阻塞应用程序运行,直到指定Stream中的所有任务都完成,该接口是在aclrtSynchronizeStream接口基础上进行了增强,支持用户设置超时时间,当应用程序异常时可根据所设置的超时时间自行退出。同步接口。

函数原型

aclError aclrtSynchronizeStreamWithTimeout(****aclrtStream stream, int32_t timeout)

参数说明

参数名输入/输出说明
stream输入指定需要完成所有任务的Stream。
timeout输入接口的超时时间。 取值说明如下:
- -1:表示永久等待,和接口aclrtSynchronizeStream功能一样;
- >0:配置具体的超时时间,单位是毫秒。

返回值说明

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

父主题: 同步等待

在线提单