Shortcuts

事件

class torch.cuda.Event(enable_timing=False, blocking=False, interprocess=False)[源代码]

围绕CUDA事件的包装器。

CUDA事件是同步标记,可用于监控设备的进度、精确测量时间以及同步CUDA流。

底层CUDA事件在首次记录或导出到另一个进程时被延迟初始化。创建后,只有同一设备上的流可以记录该事件。然而,任何设备上的流都可以等待该事件。

Parameters
  • enable_timing (bool, 可选) – 指示事件是否应测量时间 (默认值: False)

  • 阻塞 (布尔值, 可选) – 如果 True, wait() 将会阻塞(默认值:False

  • 进程间 (bool) – 如果 True,事件可以在进程间共享 (默认: False)

elapsed_time(end_event)[源代码]

返回已用时间。

事件记录后和end_event记录前的毫秒数报告。

classmethod from_ipc_handle(device, handle)[源代码]

在给定设备上从IPC句柄重建事件。

ipc_handle()[源代码]

返回此事件的IPC句柄。

如果尚未记录,事件将使用当前设备。

query()[源代码]

检查事件捕获的所有工作是否已完成。

Returns

一个布尔值,指示事件当前捕获的所有工作是否已完成。

record(stream=None)[源代码]

在给定的流中记录事件。

如果没有指定流,则使用 torch.cuda.current_stream()。流的设备必须与事件的设备匹配。

synchronize()[源码]

等待事件完成。

等待当前事件中捕获的所有工作完成。 这会阻止CPU线程继续执行,直到事件完成。

注意

这是一个围绕 cudaEventSynchronize() 的包装器:更多信息请参见 CUDA 事件文档

wait(stream=None)[源代码]

使所有提交到给定流的未来工作等待此事件。

如果没有指定流,请使用 torch.cuda.current_stream()

注意

这是对 cudaStreamWaitEvent() 的封装:更多信息请参见 CUDA Event 文档

优云智算