---
title: 函数：create_event_with_flag
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclpythondevg_01_0091.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclpythondevg_01_0091.html
indexId: 29f3f52f70cf5e57b43c65cddbb6abeefe32b5edccbd42b17cbd1b38ff7b9aeb71
---
# 函数：create_event_with_flag

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |


#### 功能说明

创建一个带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 200I/500 A2 推理产品 ，单个Device上最多支持65536个Event。

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

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

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

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

- 若flag参数值不包含“ACL_EVENT_SYNC”，则不支持在以下API中使用本接口创建的Event：  acl.rt.reset_event
、  acl.rt.stream_wait_event
、  acl.rt.query_event_wait_status
。
