一片比较好的blog, 让我对GPU 利用率有了新的认识,十分推荐
搞懂 NVIDIA GPU 性能指标 很容易弄混的一个概念: Utilization vs Saturation

简要说明:

nvidia-smi显示的“利用率”指的是 过去样本期间内某些活动发生的时间百分比
具体来说:

  • GPU 利用率:这代表了一个或多个内核在 GPU 上执行的时间百分比
  • 内存利用率:这代表了全局(设备)内存在被读取或写入的时间百分比。

换句话说,NVML 定义的“利用率”可能 与我们常规理解不一致。它仅度量设备在给定采样周期内的使用部分时间,而不考虑该时间内使用的流多处理器(SM)数量。通常,我们认为“utilization”是指使用 GPU 处理器的部分。

我不确定为什么 NVIDIA 以这种非传统方式定义“ utilization”。但这可能与“USE“”(Utilization/Saturation/Error)方法论中的“ utilization”定义有关。

“USE” 方法论

如果你熟悉《Systems Performance: Enterprise and the Cloud》这本书,你可能记得 Brendan Gregg 引入的 “USE” 方法论。
这种方法论关注三个关键指标:Utilization (利用率), Saturation (饱和度), 和 Errors (错误)。
根据“USE”博客,术语定义如下:

  • utilization: 资源忙碌服务工作的平均时间
  • saturation: 资源有额外工作不能服务,经常排队
  • errors: 错误事件计数

总之,“USE” 方法论中,“利用率”指的是 资源积极服务或工作的时间部分,而不考虑分配的容量。对于后者,使用术语“饱和度”。虽然“USE”方法论为资源使用评估提供了有价值的见解,但重新定义像“利用率”这样的公认术语可能会导致混淆。许多人仍然更喜欢将“利用率”视为容量使用或饱和度的概念。

如果必要的话,替代“利用率”的术语可以是 “used-frequency”,表示 设备被利用的频率

Logo

NVIDIA官方入驻,分享最新的官方资源以及活动/会议信息,精选收录AI相关技术内容,欢迎大家加入社区并参与讨论。

更多推荐