GPU 利用率反映计算核心在统计周期内的忙碌占比,核心工作状态时间除以总时间即为利用率百分比。
核心计算逻辑
$$\text{GPU 利用率} = \frac{\text{GPU 核心工作状态时间}}{\text{统计周期总时间}} \times 100%$$
统计周期:工具以固定间隔(100ms~1s)采样 GPU 核心状态。
工作状态判定:执行计算任务(CUDA 核心运算、张量核心运算)或图形渲染任务时判定为"忙碌"。
不同场景计算细节
| 任务类型 | 统计对象 | 影响因素 |
|---|---|---|
| 图形任务 | 图形引擎忙碌时间占比 | 分辨率、帧率、特效复杂度 |
| 计算任务 | 计算引擎忙碌时间占比 | batch size、CPU 传输瓶颈 |
关键特点:AI 训练时 batch size 足够大则利用率趋近 100%;batch 过小或存在 CPU 瓶颈时利用率下降。
工具差异
| 工具 | 采样周期 | 特点 |
|---|---|---|
| NVIDIA-smi | 1s | 驱动层采集寄存器状态,精度高 |
| AMD Adrenalin | 可自定义 | 逻辑与 NVIDIA 类似 |
| Windows 任务管理器 | ~2s | 精度较低,适合快速查看 |
| |
常见误区
| 误区 | 正解 |
|---|---|
| 利用率 100% = 损坏 | 正常负载下高效利用表现,温度功耗安全即可 |
| 利用率低 = 性能差 | 可能是 CPU 瓶颈、内存瓶颈或任务负载过低 |
| 显存占用 = 利用率 | 二者无关,显存反映内存使用,利用率反映核心忙碌 |
张芷铭的个人博客
Comments