簡(jiǎn)介
nvidia-smi全稱是NVIDIA System Management Interface ,它是一個(gè)基于NVIDIA Management Library(NVML)構(gòu)建的命令行實(shí)用工具,旨在幫助管理和監(jiān)控NVIDIA GPU設(shè)備。
詳解nvidia-smi命令
接下來(lái)我介紹一下,用nvidia-smi命令來(lái)查詢機(jī)器GPU使用情況的相關(guān)內(nèi)容。?
nvidia-smi
我以上圖的查詢內(nèi)容為例,已經(jīng)復(fù)制出來(lái)了,如下,
(myconda) root@8dbdc324be74:~# nvidia-smi
Tue Jul 20 14:35:11 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P100-SXM2... On | 00000000:1C:00.0 Off | 0 |
| N/A 27C P0 31W / 300W | 0MiB / 16280MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 Tesla P100-SXM2... On | 00000000:1D:00.0 Off | 0 |
| N/A 25C P0 32W / 300W | 0MiB / 16280MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
我們來(lái)拆分一下
NVIDIA-SMI 460.32.03 #
Driver Version: 460.32.03 # 英偉達(dá)驅(qū)動(dòng)版本
CUDA Version: 11.2 # CUDA版本
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P100-SXM2... On | 00000000:1C:00.0 Off | 0 |
| N/A 27C P0 31W / 300W | 0MiB / 16280MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 Tesla P100-SXM2... On | 00000000:1D:00.0 Off | 0 |
| N/A 25C P0 32W / 300W | 0MiB / 16280MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
GPU: # GPU的編號(hào),0代表第一張顯卡,1代表第二張,依次類推
Fan: # 風(fēng)扇轉(zhuǎn)速(0%–100%),N/A表示沒(méi)有風(fēng)扇
Name: # GPU的型號(hào),以此處為例是P100
Temp: # GPU溫度(GPU溫度過(guò)高會(huì)導(dǎo)致GPU頻率下降)
Perf: # 性能狀態(tài),從P0(最大性能)到P12(最小性能)
Pwr: # GPU功耗
Persistence-M: # 持續(xù)模式的狀態(tài)(持續(xù)模式耗能大,但在新的GPU應(yīng)用啟動(dòng)時(shí)花費(fèi)時(shí)間更少)
Bus-Id: # GPU總線,domain:bus:device.function
Disp.A: # Display Active,表示GPU的顯示是否初始化
Memory-Usage: # 顯存使用率(顯示顯存占用情況)
Volatile GPU-Util: # 浮動(dòng)的GPU利用率
ECC: # 是否開(kāi)啟錯(cuò)誤檢查和糾正技術(shù),0/DISABLED, 1/ENABLED
Compute M.: # 計(jì)算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
Memory-Usage和Volatile GPU-Util是兩個(gè)不一樣的東西,顯卡由GPU和顯存等部分所構(gòu)成,GPU相當(dāng)于顯卡上的CPU,顯存相當(dāng)于顯卡上的內(nèi)存。在跑任務(wù)的過(guò)程中可以通過(guò)優(yōu)化代碼來(lái)提高這兩者的使用率。?
nvcc和nvidia-smi顯示的CUDA版本不同?
(myconda) root@8dbdc324be74:~# nvidia-smi
Tue Jul 20 14:35:11 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P100-SXM2... On | 00000000:1C:00.0 Off | 0 |
| N/A 27C P0 31W / 300W | 0MiB / 16280MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 Tesla P100-SXM2... On | 00000000:1D:00.0 Off | 0 |
| N/A 25C P0 32W / 300W | 0MiB / 16280MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
(myconda) root@8dbdc324be74:~# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Oct_12_20:09:46_PDT_2020
Cuda compilation tools, release 11.1, V11.1.105
Build cuda_11.1.TC455_06.29190527_0
可以看到nvcc的CUDA版本是11.1,而nvidia-smi的CUDA版本是11.2。這對(duì)運(yùn)行任務(wù)是沒(méi)有影響的,絕大多數(shù)代碼都是可以正常跑起來(lái)的,引起這個(gè)的主要是因?yàn)镃UDA兩個(gè)主要的API,runtime API和driver API。神奇的是這兩個(gè)API都有自己對(duì)應(yīng)的CUDA版本(如圖上的11.1和11.2)。在StackOverflow有一個(gè)解釋,如果driver API和runtime API的CUDA版本不一致可能是因?yàn)槟闶褂玫氖菃为?dú)的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。在矩池云上的表現(xiàn)可以解釋為driver API來(lái)自于物理機(jī)器的驅(qū)動(dòng)版本,runtime API是來(lái)自于矩池云鏡像環(huán)境內(nèi)的CUDA Toolkit版本。
實(shí)時(shí)顯示顯存使用情況
nvidia-smi -l 5 #5秒刷新一次
動(dòng)態(tài)刷新信息(默認(rèn)5s刷新一次),按Ctrl+C停止,可指定刷新頻率,以秒為單位文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-594781.html
#每隔一秒刷新一次,刷新頻率改中間數(shù)字即可
watch -n 1 -d nvidia-smi
在這里不建議使用watch查看nvidia-smi,watch每個(gè)時(shí)間周期開(kāi)啟一個(gè)進(jìn)程(PID),查看后關(guān)閉進(jìn)程,可能會(huì)影響到其他進(jìn)程。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-594781.html
到了這里,關(guān)于矩池云上使用nvidia-smi命令教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!