aclrtCreateEventExWithFlag
函数功能
创建一个带flag的Event,不同flag的Event用于不同的功能。支持创建Event时携带多个flag(按位进行或操作),从而同时使能对应flag的功能。创建Event时,Event资源不受硬件限制。
约束说明
- 采用本API创建的Event,不支持在以下接口中使用:aclrtResetEvent、aclrtQueryEvent、aclrtQueryEventWaitStatus。
- 调用本接口创建Event时,flag为bitmap,支持将flag设置为单个宏、或者对多个宏进行或操作。
- 若flag参数值包含ACL_EVENT_SYNC宏,后续调用aclrtRecordEvent接口时,系统内部才会申请Event资源,因此会受Event数量的限制,Event达到上限后,系统内部会等待资源释放。
Event数量限制如下:
Atlas 200/300/500 推理产品,单个Device上最多支持1023个Event。
Atlas 推理系列产品(Ascend 310P处理器),单个Device上最多支持1023个Event。
Atlas 200/500 A2推理产品,单个Device上最多支持65535个Event。
Atlas 训练系列产品,单个Device上最多支持65535个Event。
Atlas A2训练系列产品,单个Device上最多支持65535个Event。
- 若flag参数值不包含ACL_EVENT_SYNC宏,则不支持在aclrtStreamWaitEvent接口中使用本接口创建的Event。
- 若flag参数值包含ACL_EVENT_SYNC宏,后续调用aclrtRecordEvent接口时,系统内部才会申请Event资源,因此会受Event数量的限制,Event达到上限后,系统内部会等待资源释放。
函数原型
aclError aclrtCreateEventExWithFlag(aclrtEvent *event, uint32_t flag)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
event |
输出 |
Event的指针。 |
flag |
输入 |
Event指针的flag。 当前支持将flag设置为如下宏:
|
返回值说明
返回0表示成功,返回其它值表示失败。
父主题: Event管理