文档
注册

函数:create_event_ex_with_flag

C函数原型

aclError aclrtCreateEventExWithFlag(aclrtEvent *event, uint32_t flag)

Python函数

event, ret = acl.rt.create_event_ex_with_flag(flag)

函数功能

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

输入说明

flag:int,Event指针的flag,可支持以下选项。

  • ACL_EVENT_TIME_LINE = 0x00000008,表示创建的Event数量不受限制且创建出来的Event可用于统计两个Event之间的耗时。
  • ACL_EVENT_SYNC = 0x00000001,表示创建的Event数量受限且创建出来的可用于多Stream间的同步等待。
  • ACL_EVENT_CAPTURE_STREAM_PROGRESS = 0x00000002,表示创建的Event用于跟踪Stream的任务执行进度。

返回值说明

event:int,创建的Event对象指针地址。

ret:int,错误码。

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

约束说明

  • 采用本API创建的Event,不支持在以下接口中使用:acl.rt.reset_eventacl.rt.query_eventacl.rt.query_event_wait_status
  • 调用本接口创建Event时,“flag”为bitmap,支持对单个flag或者多个flag进行操作,例如:acl.rt.create_event_ex_with_flag( ACL_EVENT_TIME_LINE | ACL_EVENT_SYNC )。
    • “flag”参数值包含“ACL_EVENT_SYNC”,后续调用acl.rt.record_event接口时,系统内部才会申请Event资源,因此会受Event数量的限制,Event达到上限后,系统内部会等待资源释放。

      Event数量限制如下:

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

      Atlas 推理系列产品(Ascend 310P处理器),单个Device上最多支持1023个Event。

      Atlas 200I/500 A2推理产品,单个Device上最多支持65535个Event。

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

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

    • “flag”参数值不包含“ACL_EVENT_SYNC”,则不支持在acl.rt.stream_wait_event接口中使用本接口创建的Event。
搜索结果
找到“0”个结果

当前产品无相关内容

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