ExternalStream#
- class torch.cuda.ExternalStream(stream_ptr, device=None, **kwargs)[source]#
包装一个外部分配的 CUDA 流。
此类用于包装在其他库中分配的流,以方便数据交换和多库交互。
注意
此类不管理流的生命周期,用户在使用此类时有责任确保引用的流保持活动状态。
- 参数
stream_ptr (int) – 外部分配的 cudaStream_t 值的整数表示。
device (torch.device 或 int, 可选) – 流最初分配的设备。如果设备指定不正确,则使用此流的后续启动可能会失败。
- record_event(event=None)[source]#
Record an event.
- 参数
event (torch.cuda.Event, 可选) – 要记录的事件。如果未给出,将分配一个新的事件。
- 返回
记录的事件。
- synchronize()[source]#
等待此流中的所有内核完成。
注意
这是
cudaStreamSynchronize()
的包装器:有关更多信息,请参阅 CUDA Stream 文档。
- wait_event(event)[source]#
使提交到此流的所有未来工作等待一个事件。
- 参数
event (torch.cuda.Event) – 要等待的事件。