流和事件
class torch.cuda.Stream
CUDA流的包装。
参数:
- device (int, optional) – 分配流的设备。
- priority (int, optional) – 流的优先级。较低的数字代表较高的优先级。
query()
检查所有提交的工作是否已经完成。
返回: 一个布尔值,表示此流中的所有核心是否完成。
record_event(event=None)
记录一个事件。
参数: event (Event, optional) – 要记录的事件。如果没有给出,将分配一个新的。 返回: 记录的事件。
synchronize()
等待此流中的所有核心完成。
wait_event(event)
将所有未来的工作提交到流等待事件。
参数: event (Event) – 等待的事件
wait_stream(stream)
与另一个流同步。
提交到此流的所有未来工作将等待直到所有核心在调用完成时提交给给定的流。
class torch.cuda.Event(enable_timing=False, blocking=False, interprocess=False, _handle=None)
CUDA事件的包装。
参数:
- enable_timing (bool) – 指示事件是否应该测量时间(默认值:False)
- blocking (bool) – 如果为true,wait()将被阻塞(默认值:False)
- interprocess (bool) – 如果为true,则可以在进程之间共享事件(默认值:False)
elapsed_time(end_event)
返回事件记录之前经过的时间。
ipc_handle()
返回此事件的IPC句柄。
query()
检查事件是否已被记录。
返回: 一个布尔值,指示事件是否已被记录。
record(stream=None)
记录给定流的事件。
synchronize()
与事件同步。
wait(stream=None)
使给定的流等待事件。