ExternalStream¶
- class torch.cuda.ExternalStream(stream_ptr, device=None, **kwargs)[source][source]¶
外部分配的 CUDA Stream 的包裝類。
此類用於包裝在其他庫中分配的 Stream,以促進資料交換和多庫互動。
注意
此類不管理 Stream 的生命週期,使用者有責任在使用此類期間保持引用的 Stream 存活。
- 引數
stream_ptr (int) – cudaStream_t 值的整數表示,在外部分配。
device (torch.device 或 int, 可選) – Stream 最初分配所在的裝置。如果裝置指定不正確,後續使用此 Stream 的啟動可能會失敗。
- record_event(event=None)[source]¶
記錄一個事件。
- 引數
event (torch.cuda.Event, 可選) – 要記錄的事件。如果未指定,將分配一個新的事件。
- 返回
記錄的事件。
- synchronize()[source]¶
等待此 Stream 中的所有核心完成。
注意
這是
cudaStreamSynchronize()的包裝:請參閱 CUDA Stream 文件瞭解更多資訊。
- wait_event(event)[source]¶
使所有未來提交到此 Stream 的工作等待某個事件。
- 引數
event (torch.cuda.Event) – 要等待的事件。