torch.cuda.host_memory_stats¶
- torch.cuda.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
: 每次调用的平均时间。