昇腾社区首页
中文
注册

函数:create_event_with_flag

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

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

函数原型

  • C函数原型
    1
    aclError aclrtCreateEventWithFlag(aclrtEvent *event, uint32_t flag)
    
  • python函数
    1
    event, ret = acl.rt.create_event_with_flag(flag)
    

参数说明

参数名

说明

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表示成功,返回其它值表示失败。

约束说明

使用本接口创建Event时,“flag”为bitmap,支持对单个flag或者多个flag进行操作,例如:acl.rt.create_event_with_flag( ACL_EVENT_TIME_LINE | ACL_EVENT_SYNC )。

  • “flag”参数值包含“ACL_EVENT_SYNC”,则创建出来的Event数量受限,具体参考如下:

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

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

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

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

    Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件,单个Device上最多支持65536个Event。

    Atlas A3 训练系列产品/Atlas A3 推理系列产品,单个Device上最多支持65536个Event。

  • 若flag参数值不包含“ACL_EVENT_SYNC”,则不支持在以下API中使用本接口创建的Event:acl.rt.reset_eventacl.rt.stream_wait_eventacl.rt.query_event_wait_status