快捷方式

Event

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

CUDA 事件的包装器。

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

底层 CUDA 事件在首次记录或导出到其他进程时延迟初始化。创建后,只有同一设备上的流才能记录此事件。但是,任何设备上的流都可以等待此事件。

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

  • blocking (bool, 可选) – 如果为 True,则 wait() 将是阻塞的(默认值:False

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

elapsed_time(end_event)[源代码][源代码]

返回经过的时间。

报告的时间为毫秒,表示事件记录后到 end_event 记录前所经过的时间。

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

从给定设备上的 IPC handle 重建事件。

ipc_handle()[源代码][源代码]

返回此事件的 IPC handle。

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

query()[源代码][源代码]

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

返回值

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

record(stream=None)[源代码][源代码]

在给定流中记录事件。

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

synchronize()[源代码][源代码]

等待事件完成。

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

注意

这是 cudaEventSynchronize() 的包装器:有关更多信息,请参阅 CUDA 事件文档

wait(stream=None)[源代码][源代码]

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

如果未指定流,则使用 torch.cuda.current_stream()

注意

这是 cudaStreamWaitEvent() 的包装器:有关更多信息,请参阅 CUDA 事件文档

文档

查阅全面的 PyTorch 开发者文档

查看文档

教程

获取适合初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源