【问题标题】:How is GPU and memory utilization defined in nvidia-smi results?nvidia-smi 结果中如何定义 GPU 和内存利用率?
【发布时间】:2011-07-02 11:45:59
【问题描述】:

我目前正在使用 nvidia 的驱动程序“nvidia-smi”附带的工具在 GPU 上进行性能监控。当我们使用'nvidia-smi -a'时,它会给出当前GPU信息的信息,包括GPU核心和内存使用情况,温度等等:

==============NVSMI LOG==============

时间戳:星期二

2011 年 2 月 22 日 22:39:09

驱动程序版本: 260.19.26

GPU 0:

    Product Name            : GeForce 8800 GTX
    PCI Device/Vendor ID    : 19110de
    PCI Location ID         : 0:4:0
    Board Serial            : 211561763875
    Display                 : Connected
    Temperature             : 55 C
    Fan Speed               : 47%
    Utilization
        GPU                 : 1%
        Memory              : 0%

我很好奇 GPU 和内存利用率是如何定义的?例如,GPU 核心的利用率为 47%。这意味着有 47% 的 SM 积极工作?或者所有的 GPU 核心在 47% 的时间内都处于忙碌状态,而在其他 53% 的时间里处于空闲状态?对于内存来说,利用率是指当前带宽与最大带宽的比值,还是上一个时间单位的繁忙时间比?

【问题讨论】:

    标签: cuda gpu nvidia


    【解决方案1】:

    post by a moderator on the NVIDIA forums 表示 GPU 利用率和内存利用率数据基于上一秒的活动:

    GPU 忙碌实际上是上一秒 SM 忙碌的时间百分比,而内存利用率实际上是最后一秒内使用的带宽百分比。下一个版本会提供完整的内存消耗统计信息。

    【讨论】:

    • 更具体地说:GPU繁忙是上一秒任何个SM繁忙的时间百分比,而内存利用率实际上是内存控制器的时间在最后一秒内很忙。您只需在单个 SM 上运行内核并通过 PCI-E 来回传输 1 个字节,就可以将利用率计数保持在 100% 附近。利用率不是“您使用资源的情况”统计数据,而是“是否使用资源”。
    • @PrzemyslawZych 那么我怎样才能获得真正的 GPU 使用情况,例如活动 SM 的数量与 SM 的总数相比?
    • @diccza 然后我们不是在谈论监控,而是在分析,为此我建议从例如开始。 NVIDIA 视觉分析器。
    【解决方案2】:

    你可以参考这个API官方文档:http://docs.nvidia.com/deploy/nvml-api/structnvmlUtilization__t.html#structnvmlUtilization__t

    它说:“在过去的采样周期中,一个或多个内核在 GPU 上执行的时间百分比。”

    【讨论】:

      猜你喜欢
      • 2012-02-29
      • 2020-11-08
      • 2017-04-17
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 2017-03-04
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多