我目前正在使用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%的时间?对于内存,利用率是指当前带宽与最大带宽之间的比率,还是上次时间单位的繁忙时间比率?
答案 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上执行一个或多个内核的时间百分比。”