评价此页

torch.cuda.memory.host_memory_stats#

torch.cuda.memory.host_memory_stats()[源代码]#

返回给定设备的 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 调用进行的释放请求的计时。

对于这些计时统计信息,值分解如下。

指标类型

  • total:花费的总时间。

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

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

  • count:调用次数。

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

返回类型

dict[str, Any]