Function: create_event_ex_with_flag
Applicability
Product |
Supported (√/x) |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
Function Usage
Creates an event with a flag. Events with different flags are used for different functions. When an event is created, multiple flags can be carried (bitwise OR operation) to enable the corresponding flag function. Event resources are not restricted by hardware for the creation of events.
Prototype
- C Prototype
1aclError aclrtCreateEventExWithFlag(aclrtEvent *event, uint32_t flag)
- Python Function
1event, ret = acl.rt.create_event_ex_with_flag(flag)
Parameter Description
Parameter |
Description |
|---|---|
flag |
Int, event pointer flag. The options are as follows:
|
Return Value Description
Return Value |
Description |
|---|---|
event |
Int, pointer address of the created event object. |
ret |
Int, error code: 0 on success; else, failure. |
Restrictions
- Events created using this API cannot be used in the following APIs: acl.rt.reset_event, acl.rt.query_event, and acl.rt.query_event_wait_status.
- When this API is called to create an event, flag is a bitmap. Operations can be performed on a single flag or multiple flags, for example, acl.rt.create_event_ex_with_flag( ACL_EVENT_TIME_LINE | ACL_EVENT_SYNC).
- If the value of flag contains ACL_EVENT_SYNC, the system allocates event resources only when acl.rt.record_event is called. Therefore, the number of events is limited. After the number of events reaches the upper limit, the system waits for resource release.
Limit on the number of events:
For the
Atlas inference products , a single device supports a maximum of 1023 events.For the
Atlas 200I/500 A2 inference products , a single device supports a maximum of 65536 events.For the
Atlas training products , a single device supports a maximum of 65535 events.For the
Atlas A2 training products /Atlas A2 inference products , a single device supports a maximum of 65536 events.For the
Atlas A3 training products /Atlas A3 inference products , a single device supports a maximum of 65536 events. - If the value of flag does not contain ACL_EVENT_SYNC, the event created by this API cannot be used in the acl.rt.stream_wait_event API.
- If the value of flag contains ACL_EVENT_SYNC, the system allocates event resources only when acl.rt.record_event is called. Therefore, the number of events is limited. After the number of events reaches the upper limit, the system waits for resource release.