文档
注册

aclrtCreateEventExWithFlag

函数功能

创建一个带flag的Event,不同flag的Event用于不同的功能。支持创建Event时携带多个flag(按位进行或操作),从而同时使能对应flag的功能。创建Event时,Event资源不受硬件限制。

约束说明

  • 采用本API创建的Event,不支持在以下接口中使用:aclrtResetEventaclrtQueryEventaclrtQueryEventWaitStatus
  • 调用本接口创建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训练系列产品/Atlas 800I A2推理产品,单个Device上最多支持65535个Event。

    • 若flag参数值不包含ACL_EVENT_SYNC宏,则不支持在aclrtStreamWaitEvent接口中使用本接口创建的Event。

函数原型

aclError aclrtCreateEventExWithFlag(aclrtEvent *event, uint32_t flag)

参数说明

参数名

输入/输出

说明

event

输出

Event的指针。

flag

输入

Event指针的flag。

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

  • ACL_EVENT_TIME_LINE
    使能该bit表示创建的Event需要记录时间戳信息。注意:使能时间戳功能会影响Event相关接口的性能。
    #define ACL_EVENT_TIME_LINE 0x00000008u
  • ACL_EVENT_SYNC
    使能该bit表示创建的Event支持多Stream间的同步。
    #define ACL_EVENT_SYNC 0x00000001u
  • ACL_EVENT_CAPTURE_STREAM_PROGRESS

    使能该bit表示创建的Event用于跟踪stream的任务执行进度。

    #define ACL_EVENT_CAPTURE_STREAM_PROGRESS 0x00000002u 

返回值说明

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

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

当前产品无相关内容

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