如何在nvidia-smi中定义GPU和内存利用率?

时间:2011-02-23 03:50:52

标签: cuda gpu nvidia

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

  

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

     

时间戳:星期二

     

Feb 22 22:39:09 2011

     

驱动程序版本:   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%的时间?对于内存,利用率是指当前带宽与最大带宽之间的比率,还是上次时间单位的繁忙时间比率?

2 个答案:

答案 0 :(得分:5)

A post by a moderator on the NVIDIA forums表示GPU利用率和内存利用率数字是基于最后一秒的活动:

  

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

答案 1 :(得分:1)

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

它说:“过去一段时间内在GPU上执行一个或多个内核的时间百分比。”