Event¶
- class torch.mtia.Event(device, *, enable_timing)¶
 Query and record Stream status to identify or control dependencies across Stream and measure timing.
- Parameters
 device (
torch.device, optional) – the desired device for the Event. If not given, the current accelerator type will be used.enable_timing (bool, optional) – indicates if the event should measure time (default:
False).
- Returns
 An torch.Event object.
- Return type
 
Example:
>>> e_cuda = torch.Event(device='cuda')
- elapsed_time(end_event) float¶
 Returns the elapsed time in milliseconds between when this event and the
end_eventare each recorded viatorch.Stream.record_event().- Parameters
 end_event (
torch.Event) – The ending event has been recorded.- Returns
 Time between starting and ending event in milliseconds.
- Return type
 
Example:
>>> s_cuda = torch.Stream(device='cuda') >>> e1_cuda = s_cuda.record_event() >>> e2_cuda = s_cuda.record_event() >>> ms = e1_cuda.elapsed_time(e2_cuda)
- query() bool¶
 Check if the stream where this event was recorded already moved past the point where the event was recorded. Always returns
Trueif the Event was not recorded.- Returns
 A boolean indicating if all work currently captured by event has completed.
- Return type
 
Example:
>>> s_cuda = torch.Stream(device='cuda') >>> e_cuda = s_cuda.record_event() >>> e_cuda.query() True
- record(stream) None¶
 Record the event in a given stream. The stream’s device must match the event’s device. This function is equivalent to
stream.record_event(self).- Parameters
 stream (
torch.Stream, optional) – A stream to be recorded.given (If not) –
used. (the current stream will be) –
Example:
>>> e_cuda = torch.Event(device='cuda') >>> e_cuda.record()
- synchronize() None¶
 Wait for the event to complete. This prevents the CPU thread from proceeding until the event completes.
Example:
>>> s_cuda = torch.Stream(device='cuda') >>> e_cuda = s_cuda.record_event() >>> e_cuda.synchronize()
- wait(stream) None¶
 Make all future work submitted to the given stream wait for this event.
- Parameters
 stream (
torch.Stream, optional) – A stream to synchronize.given (If not) –
used. (the current stream will be) –
Example:
>>> s1_cuda = torch.Stream(device='cuda') >>> s2_cuda = torch.Stream(device='cuda') >>> e_cuda = s1_cuda.record() >>> e_cuda.wait(s2)