Function: record_event

C Prototype

aclError aclrtRecordEvent(aclrtEvent event, aclrtStream stream)

Python Function

ret = acl.rt.record_event(event, stream)

Function Usage

Records an event in a stream. When this API is called, pyACL captures the tasks delivered on the current stream and records them in the event. Therefore, you can later call acl.rt.query_event_status to check whether all tasks captured in the event are completed or call acl.rt.stream_wait_event to wait until all tasks are completed.

For events created using acl rt.create_event_ex_with_flag:

  • This API supports event reuse for multiple records of the same event. Each record captures the tasks that have been delivered on the current stream and overwrites the tasks in the event. When acl.rt.stream_wait_event is called, the task saved in the latest event is used and will not be affected by subsequent calling of acl.rt.record_event.
  • Before this API is called for the first time, ACL_EVENT_RECORDED_STATUS_COMPLETE is returned when acl.rt.query_event_status is called because there is no task in the event.

Input Description

event: int, pointer address of the event to be recorded.

stream: int. Record the event in the specified stream (pointer address). If the default stream is used, set this parameter to 0.

Return Value

ret: int, error code.

Restrictions

Reference

For the API call example, see Event Synchronization and Inter-Stream Synchronization.