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