外部流 ¶
- class torch.cuda.ExternalStream(stream_ptr, device=None, **kwargs)[source][source]¶
包装外部分配的 CUDA 流。
此类用于将其他库中分配的流包装起来,以方便数据交换和多库交互。
注意
此类不管理流的生命周期,在使用此类时保持引用的流存活是用户的责任。
- 参数:
stream_ptr (int) – cudaStream_t 值的整型表示。外部分配。
device (torch.device 或 int,可选) – 流最初分配的设备。如果 device 指定错误,后续使用此流的启动可能会失败。
- query()[来源] ¶
检查所有提交的工作是否已完成。
- 返回值:
一个布尔值,表示此流中所有内核是否已完成。
- 返回类型:
- record_event(event=None)[来源] ¶
记录事件。
- 参数:
event (torch.cuda.Event, 可选) – 要记录的事件。如果未提供,将分配一个新的。
- 返回值:
已记录的事件。
- synchronize()[source]
等待此流中的所有内核完成。
注意
这是一个围绕
cudaStreamSynchronize()
的包装器:请参阅 CUDA Stream 文档以获取更多信息。
- wait_event(event)[源码] ¶
使所有提交给流的后续工作等待事件。
- 参数:
event (torch.cuda.Event) – 等待的事件。
注意
这是一个围绕
cudaStreamWaitEvent()
的包装器:请参阅 CUDA Stream 文档以获取更多信息。此函数返回而不等待
event
:仅受未来操作的影响。