捷徑

Event

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 handle 重新構建事件。

ipc_handle()[source][source]

返回此事件的 IPC handle。

如果尚未記錄,該事件將使用當前裝置。

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 的完整開發人員文件

查看文檔

教程

獲取針對初學者和高級開發人員的深入教程

查看教程

資源

查找開發資源並獲得您問題的解答

查看資源