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
: 平均每次调用时间。