快捷键

活动 ¶

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

CUDA 事件的包装器。

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

基础 CUDA 事件在事件首次记录或导出到另一个进程时才会懒加载初始化。创建后,只有同一设备上的流可以记录事件。然而,任何设备上的流都可以等待该事件。

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

  • blocking(布尔值,可选)- 如果 Truewait() 将是阻塞的(默认: False

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

elapsed_time(end_event)[source][source]

返回经过的时间。

报告的时间是在事件记录后和 end_event 记录前以毫秒为单位的。

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)[源][源] ¶

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

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

注意

这是 cudaStreamWaitEvent() 的包装器:请参阅 CUDA 事件文档以获取更多信息。


© 版权所有 PyTorch 贡献者。

使用 Sphinx 构建,并使用 Read the Docs 提供的主题。

文档

PyTorch 的全面开发者文档

查看文档

教程

深入了解初学者和高级开发者的教程

查看教程

资源

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

查看资源