快捷方式

事件

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

CUDA 事件的封装。

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

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

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

  • blocking (bool, optional) – 如果为 Truewait() 将是阻塞的(默认值:False

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

elapsed_time(end_event)[source][source]

返回经过的时间。

报告的时间为事件被记录之后和 end_event 被记录之前经过的毫秒数。

classmethod from_ipc_handle(device, handle)[source][source]

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

ipc_handle()[source][source]

返回此事件的 IPC 句柄。

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

query()[source][source]

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

返回

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

record(stream=None)[source][source]

在给定流中记录事件。

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

synchronize()[source][source]

等待事件完成。

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

注意

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

wait(stream=None)[source][source]

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

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

注意

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

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

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

查看资源