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) – 要等待的事件。