评价此页

torch.cuda.memory.host_memory_stats#

torch.cuda.memory.host_memory_stats()[source]#

返回给定设备的 CUDA 内存分配器统计信息的字典。

此函数的返回值是一个统计字典,其中每个统计项都是一个非负整数。

核心统计信息

  • "allocated.{current,peak,allocated,freed}": 内存分配器收到的分配请求数。

  • "allocated_bytes.{current,peak,allocated,freed}": 分配的内存量。

  • "segment.{current,peak,allocated,freed}": 从 cudaMalloc() 保留的段数。

  • "reserved_bytes.{current,peak,allocated,freed}": 保留的内存量。

对于这些核心统计信息,值按以下方式细分。

指标类型

  • current:此指标的当前值。

  • peak:此指标的最大值。

  • allocated:此指标的历史总增长量。

  • freed:此指标的历史总减少量。

除了核心统计数据外,我们还提供了一些简单的事件计数器

  • "num_host_alloc": CUDA 分配调用次数。包括 cudaHostAlloc 和 cudaHostRegister。

  • "num_host_free": CUDA 释放调用次数。包括 cudaHostFree 和 cudaHostUnregister。

最后,我们还提供了一些简单的计时计数器

  • "host_alloc_time.{total,max,min,count,avg}": 通过 CUDA 调用进行的分配请求计时。

  • "host_free_time.{total,max,min,count,avg}": 通过 CUDA 调用进行的释放请求计时。

对于这些计时统计数据,值 breakdown 如下。

指标类型

  • total: 消耗的总时间。

  • max: 每次调用的最大值。

  • min: 每次调用的最小值。

  • count: 调用次数。

  • avg: 平均每次调用时间。

返回类型

dict[str, Any]