如果需要在程序中實時獲取nvidia gpu的設備使用率贾铝,比如pwr
邓了、sm
索守、pclk
等信息刘离,可以借用int system(const char *command)
[1] 函數(shù)把 nvidia-smi 使用命令傳給要被命令處理器執(zhí)行的主機環(huán)境室叉,并在命令完成后返回,由此將當前設備信息打印到屏幕上或者保存到日志文件硫惕。
#include <stdlib.h>
system("nvidia-smi dmon -c 1");
# 打印結(jié)果
# gpu pwr gtemp mtemp sm mem enc dec mclk pclk
# Idx W C C % % % % MHz MHz
0 28 55 - 2 0 0 0 5000 900
0 28 55 - 2 0 0 0 5000 900
# 監(jiān)控指標(默認為puc)茧痕,其中:
# p:電源使用情況和溫度(pwr:功耗,temp:溫度)
# u:GPU使用率(sm:流處理器恼除,mem:顯存踪旷,enc:編碼資源,dec:解碼資源)
# c:GPU處理器和GPU內(nèi)存時鐘頻率(mclk:顯存頻率豁辉,pclk:處理器頻率)
# v:電源和熱力異常
# m:FB內(nèi)存和Bar1內(nèi)存
# e:ECC錯誤和PCIe重顯錯誤個數(shù)
# t:PCIe讀寫帶寬
-
C 庫函數(shù) - system() https://www.runoob.com/cprogramming/c-function-system.html ?