Stream¶
- class torch.cuda.Stream(device=None, priority=0, **kwargs)[source][source]¶
CUDA stream 的包裝器。
CUDA stream 是屬於特定裝置的一條線性執行序列,獨立於其他 stream。它支援使用 with 語句作為上下文管理器,以確保 with 塊內的運算元在該 stream 上執行。詳見 CUDA semantics。
- 引數
device (torch.device 或 int, 可選) – 分配 stream 的裝置。如果
device為None(預設) 或負整數,將使用當前裝置。priority (int, 可選) – stream 的優先順序,可以是正數、0 或負數。數值越低表示優先順序越高。預設情況下,優先順序設定為 0。如果值超出允許的優先順序範圍,它將自動對映到最近的有效優先順序(對於較大的正數對映到最低優先順序,對於較大的負數對映到最高優先順序)。
- record_event(event=None)[source][source]¶
記錄一個事件。
- 引數
event (torch.cuda.Event, 可選) – 要記錄的事件。如果未給出,將分配一個新的事件。
- 返回
記錄的事件。
- synchronize()[source][source]¶
等待此 stream 中的所有核函式完成。
注意
這是
cudaStreamSynchronize()的包裝器:詳見 CUDA Stream 文件 獲取更多資訊。
- wait_event(event)[source][source]¶
使提交到此 stream 的所有未來工作等待某個事件。
- 引數
event (torch.cuda.Event) – 要等待的事件。