快捷方式

事件

class torch.cuda.Event(enable_timing=False, blocking=False, interprocess=False)[source]

CUDA 事件的包装器。

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

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

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

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

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

elapsed_time(end_event)[source]

返回经过的时间。

事件被记录后和 end_event 被记录之前的毫秒数。

classmethod from_ipc_handle(device, handle)[source]

从给定设备上的 IPC 处理器重建事件。

ipc_handle()[source]

返回此事件的 IPC 处理器。

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

query()[source]

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

返回值

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

record(stream=None)[source]

在给定的流中记录事件。

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

synchronize()[source]

等待事件完成。

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

注意

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

wait(stream=None)[source]

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

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

注意

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

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深度教程

查看教程

资源

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

查看资源