评价此页

MemPool#

class torch.cuda.memory.MemPool(*args, **kwargs)[source]#

MemPool 表示缓存分配器中的一个内存池。目前,它仅是 CUDACachingAllocator 中维护的内存池对象的 ID。

参数:
  • allocator (torch._C._cuda_CUDAAllocator, 可选) – 一个可用于定义池中内存分配方式的 torch._C._cuda_CUDAAllocator 对象。如果 allocatorNone(默认值),内存分配将遵循 CUDACachingAllocator 的默认/当前配置。

  • use_on_oom (bool) – 一个布尔值,指示当池外部的内存分配因内存不足 (Out Of Memory) 而失败时,此池是否可用作最后的备选方案。默认为 False。

  • no_split (bool) – 一个布尔值,指示此池是否不应拆分段 (segment)。默认为 False。

property id: tuple[int, int]#

返回此池的 ID,格式为一个包含两个整数的元组。

snapshot(include_traces=True)[source]#

返回所有设备上 CUDA 内存分配器池状态的快照。

解读此函数的输出需要熟悉内存分配器的内部原理。

参数:

include_traces – 是否在快照中包含跟踪条目。如果为 True(默认值),则包含所有跟踪条目。如果为 False,则不包含跟踪条目(轻量级/快速快照)。

注意

有关 GPU 内存管理的更多详细信息,请参阅 内存管理

use_count()[source]#

返回此池的引用计数。

返回类型:

int