我试图监控一个使用CUDA和MPI的进程,有没有办法我可以做到这一点,像命令“顶部”,但也监控GPU ?


当前回答

你可以使用nvidia-smi pmon -i 0来监控GPU 0中的每个进程。 包括计算模式、sm使用情况、内存使用情况、编码器使用情况、解码器使用情况。

其他回答

Prometheus GPU Metrics exporters (PGME)利用了nvidai-smi二进制文件。你可以试试这个。一旦运行了导出器,就可以通过http://localhost:9101/metrics访问它。对于两个gpu,示例结果如下所示:

temperature_gpu{gpu="TITAN X (Pascal)[0]"} 41
utilization_gpu{gpu="TITAN X (Pascal)[0]"} 0
utilization_memory{gpu="TITAN X (Pascal)[0]"} 0
memory_total{gpu="TITAN X (Pascal)[0]"} 12189
memory_free{gpu="TITAN X (Pascal)[0]"} 12189
memory_used{gpu="TITAN X (Pascal)[0]"} 0
temperature_gpu{gpu="TITAN X (Pascal)[1]"} 78
utilization_gpu{gpu="TITAN X (Pascal)[1]"} 95
utilization_memory{gpu="TITAN X (Pascal)[1]"} 59
memory_total{gpu="TITAN X (Pascal)[1]"} 12189
memory_free{gpu="TITAN X (Pascal)[1]"} 1738
memory_used{gpu="TITAN X (Pascal)[1]"} 10451

只需使用watch nvidia-smi,它将默认以2s间隔输出消息。

例如,如下图:

你也可以使用watch -n 5 nvidia-smi (-n 5 by 5s interval)。

我不知道有什么东西可以结合这些信息,但你可以使用nvidia-smi工具来获取原始数据,就像这样(感谢@jmsu关于-l的提示):

$ nvidia-smi -q -g 0 -d UTILIZATION -l

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

Timestamp                       : Tue Nov 22 11:50:05 2011

Driver Version                  : 275.19

Attached GPUs                   : 2

GPU 0:1:0
    Utilization
        Gpu                     : 0 %
        Memory                  : 0 %

在Linux Mint和Ubuntu中,你可以尝试"nvidia-smi——loop=1"

从这里下载并安装最新的稳定CUDA驱动程序(4.2)。在linux上,nVidia-smi 295.41给你你想要的。使用nvidia-smi:

[root@localhost release]# nvidia-smi 
Wed Sep 26 23:16:16 2012       
+------------------------------------------------------+                       
| NVIDIA-SMI 3.295.41   Driver Version: 295.41         |                       
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan   Temp   Power Usage /Cap | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  Tesla C2050               | 0000:05:00.0  On     |         0          0 |
|  30%   62 C  P0    N/A /  N/A |   3%   70MB / 2687MB |   44%     Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                               GPU Memory |
|  GPU  PID     Process name                                       Usage      |
|=============================================================================|
|  0.  7336     ./align                                                 61MB  |
+-----------------------------------------------------------------------------+

编辑:在最新的NVIDIA驱动程序中,此支持仅限于特斯拉卡。