AI模型運維——GPU性能監控NVML和DCGM


最近一年負責運維的GPU主機越來越多,發現現有的監控項無法很好的了解GPU的性能和負載情況,研究了下官方文檔,在此記錄。

一、NVML和DCGM

NVML:https://developer.nvidia.com/nvidia-management-library-nvml

DCGM:https://developer.nvidia.com/dcgm

從網址就能看出,這兩個工具都是nvidia官方推出的。都是用C/C++編寫的底層庫。

NVML的操作命令是nvidia-smi,DCGM的操作命令為dcgmi。安裝驅動后,一般會自帶nvidia-smi。而dcgmi需要單獨安裝。(這里指的linux系統下,windows不了解)

 

功能的區別:

按官網的說明,NVML是對GPU硬件的監控,可以查看GPU的溫度、功率、風扇等信息。

而DCGM更傾向於對集群的監控管理,可以健康檢查、配置策略、與k8s之類的工具集成。

 

二、nvidia-smi

用法參考:https://www.cnblogs.com/maxgongzuo/p/12582360.html

 

三、dcgmi

使用參考:https://devblogs.nvidia.com/nvidia-data-center-gpu-manager-cluster-administration/

監控參考:https://devblogs.nvidia.com/gpu-telemetry-nvidia-dcgm/ 

 

四、gpu-monitoring-tools

https://github.com/NVIDIA/gpu-monitoring-tools

這個也是nvidia的官方工具,介紹為“Tools for monitoring NVIDIA GPUs on Linux”。

是對NVML和DCGM的工具化封裝。個人覺得由於使用GO語言編寫,通用性比python的接口模塊更好。

這個工具很久沒有更新了,可能會對最新的NVML和DCGM支持不太好,編譯報錯可以查詢官方的api文檔修改代碼解決。

我這里生產上使用的DCGM的restApi,編譯時候有一個函數名報錯,查官方文檔發現是新版本名字變了,改過來后編譯成功。

 

五、使用python(未測)

NVML的官方python模塊,http://pypi.python.org/pypi/nvidia-ml-py/

DCGM的官方文檔提到一個DcgmReader.py類,https://docs.nvidia.com/datacenter/dcgm/latest/dcgm-user-guide/integrating-with-dcgm.html#integrating-with-dcgm-reader


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM