aclrtCreateEventWithFlag

函数功能

创建一个带标识的Event,不同标识的Event用于不同的功能,同步接口。

函数原型

aclError aclrtCreateEventWithFlag(aclrtEvent *event, uint32_t flag)

参数说明

参数名

输入/输出

说明

event

输出

Event的指针。

flag

输入

Event指针的flag。

当前支持将flag设置为如下宏:

  • ACL_EVENT_TIME_LINE
    表示创建的Event数量不受限制、且创建出来的Event可用于统计两个Event之间的耗时。
    #define ACL_EVENT_TIME_LINE 0x00000008u
  • ACL_EVENT_SYNC
    表示创建的Event数量受限、且创建出来的可用于多Stream间的同步等待。
    #define ACL_EVENT_SYNC 0x00000001u

flag为bitmap,支持将flag设置为单个宏、或者对多个宏进行或操作。使用本接口创建Event时,若将flag参数值包含ACL_EVENT_SYNC宏,则创建出来的Event数量受限,具体如下:

Atlas 200/300/500 推理产品,单个Device上最多支持1023个Event。

Atlas 推理系列产品,单个Device上最多支持1023个Event。

Atlas 训练系列产品,单个Device上最多支持65535个Event。

Atlas A2训练系列产品,单个Device上最多支持65535个Event。

返回值说明

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

相关接口

您也可以使用aclrtCreateEvent接口创建Event,Event数量有限,创建出来的Event可用于统计两个Event之间的耗时、多Stream场景下的同步等待、Event内的同步等待等场景。