torch.cuda.host_memory_stats¶
- torch.cuda.host_memory_stats()[source][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 调用中释放请求的时序。
对于这些时序统计,值被分解如下。
指标类型:
total
: 总耗时。max
: 每次调用的最大值。min
: 每次调用的最小值。count
: 被调用的次数。每次调用的平均时间。
- 返回类型:
dict[str, Any]