graph¶
- class torch.cuda.graph(cuda_graph, pool=None, stream=None, capture_error_mode='global')[源代码][源代码]¶
上下文管理器,将 CUDA 工作捕获到
torch.cuda.CUDAGraph
对象中,以便稍后重放。有关一般介绍、详细使用和约束,请参阅 CUDA Graphs。
- 参数
cuda_graph (torch.cuda.CUDAGraph) – 用于捕获的 Graph 对象。
pool (optional) – 不透明令牌(通过调用
graph_pool_handle()
或other_Graph_instance.pool()
返回)提示此 graph 的捕获可以共享来自指定池的内存。请参阅 Graph 内存管理。stream (torch.cuda.Stream, optional) – 如果提供,将在上下文中设置为当前流。如果未提供,
graph
将其自身的内部辅助流设置为上下文中的当前流。capture_error_mode (str, optional) – 指定 graph 捕获流的 cudaStreamCaptureMode。可以是 “global”、“thread_local” 或 “relaxed”。在 cuda graph 捕获期间,某些操作(如 cudaMalloc)可能不安全。“global” 将对其他线程中的操作报错,“thread_local” 将仅对当前线程中的操作报错,“relaxed” 将不对操作报错。除非您熟悉 cudaStreamCaptureMode,否则请勿更改此设置
注意
为了有效的内存共享,如果您传递了先前捕获使用的
pool
并且先前捕获使用了显式的stream
参数,则应将相同的stream
参数传递给此捕获。警告
此 API 处于 beta 阶段,未来版本可能会更改。