评价此页

MemPool#

class torch.cuda.memory.MemPool(*args, **kwargs)[源代码]#

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

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

  • use_on_oom (bool) – 一个布尔值,表示当池外的内存分配因“内存不足”而失败时,该池是否可用作最后手段。此项默认为 False。

  • no_split (bool) – 一个布尔值,表示该池是否不应分割一个段。此项默认为 False。

property allocator: _cuda_CUDAAllocator | None#

返回此 MemPool 将分配路由到的分配器。

property id: tuple[int, int]#

以两个整数的元组形式返回此池的 ID。

snapshot()[源代码]#

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

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

注意

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

use_count()[源代码]#

返回此池的引用计数。

返回类型:

int