1. Panimula
Sa paggamit ng GPU sa Ubuntu, mahalagang suriin nang tumpak ang kalagayan nito. Lalo na sa mga gawain tulad ng deep learning o graphic rendering, kailangang malaman ang paggamit ng GPU at bersyon ng driver. Sa artikulong ito, ipapaliwanag ang paraan ng paggamit ng nvidia-smi
, na ang tool sa pamamahala ng NVIDIA GPU, at ipapakilala ang paraan ng pagsusuri ng GPU sa Ubuntu.
2. Ipakita ang Impormasyon ng GPU gamit ang nvidia-smi
nvidia-smi
ay isang command-line tool na makakapag-monitor ng kalagayan ng paggamit ng GPU na ginawa ng NVIDIA, dami ng memory na ginagamit, at iba pa. Lalo na kapaki-pakinabang kapag sinusuri ang kalagayan ng pagtatrabaho ng GPU sa real-time o kinukuha ang detalyadong impormasyon ng paggamit.
Pangunahing Paggamit
Sa sumusunod na command, makakapag-check ng kalagayan ng paggamit ng GPU at dami ng memory na ginagamit sa real-time.
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1
Sa command na ito, makakakuha ng detalyadong impormasyon kabilang ang utilization rate ng GPU, memory usage, at available memory. Bukod dito, sa -l
option, makakapag-specify ng update interval sa seconds.
Pormat ng Pagpapakita at Output sa File
Sa default, ipinapakita sa table format, ngunit posible ring i-output sa CSV format para mas madaling i-process. Gayundin, kung nais i-record ang impormasyon sa file, makakapag-specify ng output file path gamit ang -f
option.
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv
Sa paraang ito, makakapag-save ng kalagayan ng paggamit ng GPU bilang log at i-analyze ito pagkatapos.
3. Pagkuha ng Impormasyon ng Proseso Gamit ang nvidia-smi
nvidia-smi
Sa paggamit nito, maaari mong makuha ang impormasyon ng mga proseso na kasalukuyang gumagamit ng GPU. Sa ganitong paraan, maaari mong tingnan kung aling proseso ang gumagamit ng GPU resources at kung gaano karami ang paggamit nito.
Pagkuha ng Impormasyon ng Proseso
Sa pamamagitan ng sumusunod na utos, maaari mong tingnan ang PID at paggamit ng memorya ng mga prosesong gumagamit ng GPU.
nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader
Ang utos na ito ay magbabalik ng listahan ng mga GPU process na kasalukuyang tumatakbo at magpapakita ng paggamit ng memorya ng bawat proseso.
Subcommand na pmon ng nvidia-smi
nvidia-smi
ay may pmon
na subcommand, na nagbibigay-daan upang makuha ang detalyadong impormasyon ng mga prosesong gumagamit ng GPU.
nvidia-smi pmon --delay 10 -s u -o DT
Ang utos na ito ay magpapakita ng impormasyon ng GPU process sa itinakdang agwat, at maaaring tukuyin ang interval ng pag-update sa segundo gamit ang opsyong --delay
. Maaari ring pumili ng uri ng impormasyong ipapakita.
4. Pag-install at Pagsusuri ng NVIDIA Driver
Para makagamit ng NVIDIA GPU sa Ubuntu, kailangang i-install ang angkop na NVIDIA driver. Ang sumusunod ay ang mga hakbang sa pag-install ng driver at pagsusuri ng pag-andar.
Pag-install ng Driver
Una, i-install ang NVIDIA driver na angkop sa sistema. Gamit ang sumusunod na command, maaari mong i-install ang inirekomendang driver.
sudo apt install nvidia-driver-510
Pagkatapos ng pag-install, i-restart ang sistema.
Pagsusuri ng Pag-install
Pagkatapos ng restart, gamitin ang sumusunod na command upang suriin kung tama ang pag-install ng driver.
nvidia-smi
Kung ipapakita ng command na ito ang bersyon ng driver at CUDA version, ibig sabihin ay tama ang pag-install.

5. Pagsusuri ng Pag-andar ng GPU sa TensorFlow
Upang suriin kung ang GPU ay gumagana nang tama, maaari kang magsagawa ng pagsubok gamit ang TensorFlow, na isang machine learning framework.
Pag-install ng Anaconda
Una, i-install ang Anaconda at i-set up ang environment.
bash ./Anaconda3-2022.05-Linux-x86_64.sh
conda update -n base conda
conda update anaconda
conda update -y --all
conda install tensorflow-gpu==2.4.1
Pagsusuri ng Pag-andar sa TensorFlow
Susunod, suriin kung nakikilala ang GPU sa TensorFlow.
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
Kung lumalabas ang GPU device sa list gamit ang command na ito, normal na nakikilala ng TensorFlow ang GPU.
6. Pagsubaybay sa GPU at Pagtatala ng Log
nvidia-smi
gamit ito, maaari mong i-monitor ang GPU nang real time at magtala ng log. Sa ganitong paraan, maaari mong subaybayan ang paggamit ng GPU sa mahabang panahon at makatulong sa pag-optimize ng performance.
Regular na Pagsubaybay
Kung nais mong magtakda ng regular na monitoring, maaari mong tukuyin ang interval ng pag-update gamit ang -l
na opsyon ng nvidia-smi
. Maaari ring mag-log sa file.
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log
Programmable na Operasyon Gamit ang Python Binding
Ang nvidia-smi
ay may Python binding (nvidia-ml-py
) na nagbibigay-daan upang kunin ang impormasyon ng GPU mula sa Python nang programmatically. Sa paggamit nito, mas pinasadya na monitoring at kontrol ay posible.
7. Buod
nvidia-smi
ay isang makapangyarihang tool upang suriin ang kalagayan ng paggamit ng NVIDIA GPU sa Ubuntu at pamahalaan ito nang epektibo. Sa artikulong ito, ipinaliwanag namin ang basic na paggamit ng nvidia-smi
mula sa pagkuha ng impormasyon ng proseso, pag-install ng driver, hanggang sa pag-verify ng pagtatrabaho sa TensorFlow. Pakihalagahan ang maximum na performance ng GPU at gamitin ito para sa pag-optimize ng sistema.