aclrtCreateEventExWithFlag
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
功能说明
创建带flag的Event,不同flag的Event用于不同的功能。支持创建Event时携带多个flag(按位进行或操作),从而同时使能对应flag的功能。创建Event时,Event资源不受硬件限制。
函数原型
aclError aclrtCreateEventExWithFlag(aclrtEvent *event, uint32_t flag)
参数说明
参数名 |
输入/输出 |
说明 |
|---|---|---|
event |
输出 |
Event的指针。 |
flag |
输入 |
Event指针的flag。 当前支持将flag设置为如下宏:
宏的定义如下: #define ACL_EVENT_TIME_LINE 0x00000008U #define ACL_EVENT_SYNC 0x00000001U #define ACL_EVENT_CAPTURE_STREAM_PROGRESS 0x00000002U #define ACL_EVENT_IPC 0x00000040U |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
约束说明
采用本API创建的Event,不支持在以下接口中使用:aclrtResetEvent、aclrtQueryEvent、aclrtQueryEventWaitStatus,否则返回报错。
调用本接口创建Event时,flag为bitmap,支持将flag设置为单个宏、或者对多个宏进行或操作。若flag参数值不包含ACL_EVENT_SYNC宏,则不支持在aclrtStreamWaitEvent接口中使用本接口创建的Event。若flag参数值包含ACL_EVENT_SYNC宏,并不会实际申请Event资源,只有在调用aclrtRecordEvent接口时,才会进行资源申请,因此在调用aclrtRecordEvent时,可能会出现线程阻塞,等待Event资源的释放。
不同型号的硬件支持的Event数量不同,如下表所示:
型号 |
单个Device支持的Event最大数 |
|---|---|
1023 |
|
65535 |
|
65536 |