torch.xpu.memory_stats¶
- torch.xpu.memory_stats(device=None)[source][source]¶
返回给定设备的 XPU 内存分配器统计信息的字典。
该函数的返回值是一个包含统计信息的字典,每个统计信息都是一个非负整数。
核心统计信息:
"allocated_bytes.{all,large_pool,small_pool}.{current,peak,allocated,freed}"
:已分配的内存量。"reserved_bytes.{all,large_pool,small_pool}.{current,peak,allocated,freed}"
: 保留内存量。"active_bytes.{all,large_pool,small_pool}.{current,peak,allocated,freed}"
: 活跃内存量。"requested_bytes.{all,large_pool,small_pool}.{current,peak,allocated,freed}"
:客户端代码请求的内存,与 allocated_bytes 进行比较,以检查分配四舍五入是否增加了过多的开销。
对于这些核心统计数据,值分解如下。
池类型:
all
: 所有内存池的合并统计。large_pool
: 大分配池(针对大小≥1MB 的分配)的统计信息。small_pool
: 小分配池(针对大小<1MB 的分配)的统计信息。
指标类型:
current
: 当前此指标的值。peak
: 此指标的最大值。allocated
: 此指标的历史总增长量。freed
: 此指标的历史总减少量。
- 参数:
device (torch.device 或 int 或 str,可选) – 选定的设备。如果
device
是None
(默认),则返回当前设备current_device()
的统计信息。- 返回类型:
dict[str, Any]