Ubuntu पर GPU जांचने की गाइड: nvidia-smi का उपयोग और कॉन्फ़िगरेशन कैसे करें

1. Introduction

उबंटू पर GPU का उपयोग करते समय, उसकी स्थिति को सटीक रूप से मॉनिटर करना अत्यंत महत्वपूर्ण है। यह विशेष रूप से डीप लर्निंग और ग्राफिक रेंडरिंग जैसे कार्यों के लिए महत्वपूर्ण है, जहाँ GPU उपयोग और ड्राइवर संस्करणों की समझ आवश्यक होती है। यह लेख nvidia-smi का उपयोग कैसे करें, जो एक NVIDIA GPU प्रबंधन उपकरण है, समझाता है और उबंटू पर GPU की स्थिति जांचने के लिए एक गाइड प्रदान करता है।

2. Checking GPU Information with nvidia-smi

nvidia-smi एक कमांड-लाइन टूल है जो आपको NVIDIA GPU उपयोग, मेमोरी खपत, और अन्य विवरणों की निगरानी करने की अनुमति देता है। यह GPU गतिविधि की वास्तविक‑समय निगरानी और विस्तृत उपयोग जानकारी प्राप्त करने के लिए विशेष रूप से उपयोगी है।

Basic Usage

निम्नलिखित कमांड वास्तविक‑समय GPU उपयोग और मेमोरी खपत दिखाती है:

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1

यह कमांड विस्तृत जानकारी प्रदान करती है, जिसमें GPU उपयोग, मेमोरी उपयोग, और उपलब्ध मेमोरी शामिल हैं। आप -l विकल्प का उपयोग करके अपडेट अंतराल को सेकंड में भी निर्दिष्ट कर सकते हैं।

Output Format and File Logging

डिफ़ॉल्ट रूप से, आउटपुट तालिका स्वरूप में दिखाया जाता है, लेकिन आप इसे आसान प्रोसेसिंग के लिए CSV स्वरूप में भी आउटपुट कर सकते हैं। यदि आप जानकारी को फ़ाइल में सहेजना चाहते हैं, तो आउटपुट फ़ाइल पथ निर्दिष्ट करने के लिए -f विकल्प का उपयोग करें।

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /path/to/output.csv

यह विधि आपको बाद में विश्लेषण के लिए GPU उपयोग को लॉग करने की अनुमति देती है।

3. nvidia-smi के साथ प्रक्रिया जानकारी प्राप्त करना

उपयोग करके nvidia-smi, आप वर्तमान में GPU का उपयोग कर रही प्रक्रियाओं की जानकारी प्राप्त कर सकते हैं। यह यह पहचानने में मदद करता है कि कौन सी प्रक्रियाएँ GPU संसाधनों का उपभोग कर रही हैं और किस हद तक।__33__

प्रक्रिया जानकारी प्राप्त करना

GPU का उपयोग करने वाली प्रक्राओं के PID और मेमोरी उपयोग की जाँच के लिए निम्नलिखित कमांड चलाएँ:

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader

यह कमांड वर्तमान में चल रही GPU प्रक्रियाओं की सूची उनके मेमोरी उपयोग के साथ लौटाता है।

nvidia-smi pmon उपकमांड

nvidia-smi टूल में pmon नामक एक उपकमांड शामिल है, जो GPU प्रक्रियाओं के बारे में अधिक विस्तृत जानकारी प्रदान करता है।

nvidia-smi pmon --delay 10 -s u -o DT

यह कमांड निर्दिष्ट अंतराल पर GPU प्रक्रिया जानकारी प्रदर्शित करता है। --delay विकल्प सेकंड में अपडेट अंतराल सेट करता है, और आप प्रदर्शित जानकारी को अनुकूलित कर सकते हैं।

4. NVIDIA ड्राइवर स्थापित करना और सत्यापित करना

Ubuntu पर NVIDIA GPU का उपयोग करने के लिए, आपको उपयुक्त NVIDIA ड्राइवर स्थापित करना होगा। नीचे ड्राइवर स्थापित करने और सत्यापित करने के चरण दिए गए हैं।

ड्राइवर स्थापित करना

सबसे पहले, अपने सिस्टम के लिए अनुशंसित NVIDIA ड्राइवर निम्नलिखित कमांड का उपयोग करके स्थापित करें:

sudo apt install nvidia-driver-510

स्थापना पूर्ण होने के बाद, अपने सिस्टम को पुनः प्रारंभ करें।

स्थापना की जाँच

रीबूट करने के बाद, निम्नलिखित कमांड का उपयोग करके जांचें कि ड्राइवर सही तरीके से स्थापित है या नहीं:

nvidia-smi

यदि कमांड ड्राइवर संस्करण और CUDA संस्करण दिखाता है, तो स्थापना सफल रही।

5. TensorFlow के साथ GPU संचालन की पुष्टि करना

GPU सही ढंग से काम कर रहा है, यह पुष्टि करने के लिए आप TensorFlow, एक मशीन लर्निंग फ्रेमवर्क, का उपयोग परीक्षण के लिए कर सकते हैं।

Anaconda स्थापित करना

पहले, पर्यावरण सेटअप करने के लिए Anaconda स्थापित करें।

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

TensorFlow के साथ GPU पहचान की जाँच

अगला, नीचे दिया गया कमांड चलाकर जाँचें कि TensorFlow GPU को पहचानता है या नहीं:

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

यदि सूची में GPU डिवाइस दिखाई देता है, तो TensorFlow ने सफलतापूर्वक GPU का पता लगा लिया है।

6. GPU उपयोग की निगरानी और लॉगिंग

nvidia-smi का उपयोग करके, आप वास्तविक समय में GPU उपयोग की निगरानी कर सकते हैं और डेटा को लॉग कर सकते हैं। यह दीर्घकालिक अवधि में GPU उपयोग को ट्रैक करने और प्रदर्शन को अनुकूलित करने में मदद करता है।

Setting Up Regular Monitoring

नियमित निगरानी स्थापित करने के लिए, -l विकल्प का उपयोग करके nvidia-smi में अपडेट अंतराल निर्दिष्ट करें। आप आउटपुट को फ़ाइल में भी लॉग कर सकते हैं।

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.used,memory.free --format=csv -l 1 -f /var/log/gpu.log

Python बाइंडिंग्स के साथ प्रोग्रामेटिक नियंत्रण

nvidia-smi Python बाइंडिंग्स (nvidia-ml-py) प्रदान करता है, जिससे आप प्रोग्रामेटिक रूप से GPU जानकारी प्राप्त कर सकते हैं। यह अनुकूलित निगरानी और नियंत्रण को सक्षम बनाता है।

7. निष्कर्ष

nvidia-smi एक शक्तिशाली उपकरण है जो Ubuntu पर NVIDIA GPU उपयोग की निगरानी और प्रबंधन के लिए उपयोग किया जाता है। यह लेख इसके बुनियादी उपयोग, प्रक्रिया जानकारी प्राप्त करना, ड्राइवर स्थापित करना, और TensorFlow के साथ GPU संचालन की पुष्टि को कवर करता है। इन विधियों का उपयोग करके GPU प्रदर्शन को अधिकतम करें और अपने सिस्टम को अनुकूलित करें।