इंस्टॉलेशन प्रक्रिया
STEP1. आधिकारिक NVIDIA रिपॉज़िटरी जोड़ें #
Rocky Linux 9 के लिए आधिकारिक NVIDIA CUDA रिपॉज़िटरी को अपने सिस्टम में रजिस्टर करें। नीचे दी गई कमांड चलाने से CUDA (NVIDIA) रिपॉज़िटरी जुड़ जाएगी।
sudo dnf config-manager --add-repo \
http://developer.download.nvidia.com/compute/cuda/repos/rhel9/$(uname -i)/cuda-rhel9.repo
चलाने के बाद, NVIDIA रिपॉज़िटरी की डेफ़िनिशन फ़ाइल /etc/yum.repos.d/ में जुड़ जाएगी, और आगे से आप इस रिपॉज़िटरी से पैकेज इंस्टॉल कर पाएँगे।
#
STEP2. ज़रूरी पैकेज इंस्टॉल करें #
NVIDIA ड्राइवर बिल्ड करने और CUDA इस्तेमाल करने के लिए ज़रूरी डेवलपमेंट पैकेज इंस्टॉल करें। सबसे पहले, EPEL (Extra Packages for Enterprise Linux) रिपॉज़िटरी और डेवलपमेंट पैकेज वाली CRB (CodeReady Builder) रिपॉज़िटरी को इनेबल करें।
इससे dkms जैसे ज़रूरी कंपोनेंट उपलब्ध हो जाते हैं।
sudo dnf config-manager --set-enabled crb
sudo dnf install -y \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpmइसके बाद, अभी चल रहे कर्नेल के अनुसार कर्नेल हेडर और डेवलपमेंट पैकेज, साथ ही डेवलपमेंट टूल्स इंस्टॉल करें।
नीचे दी गई कमांड से कर्नेल हेडर, कर्नेल डेवलपमेंट पैकेज (kernel-devel), कंपाइलर (gcc/g++), DKMS और अन्य ज़रूरी टूल इंस्टॉल हो जाएँगे ($(uname -r) आपके मौजूदा कर्नेल वर्ज़न से रिप्लेस हो जाएगा)।
sudo dnf install -y kernel-headers-$(uname -r) kernel-devel-$(uname -r) \
make automake gcc gcc-c++ dkms pciutils elfutils-libelf-devel \
libglvnd-devel libglvnd-opengl libglvnd-glx bzip2 tar pkgconfig acpidनोट: ऊपर दी गई कमांड में अभी चल रहे कर्नेल वर्ज़न से मेल खाते कर्नेल हेडर और डेवलपमेंट पैकेज बताए गए हैं। ये Rocky Linux 9.3 के डिफ़ॉल्ट कर्नेल
5.14.0-362.8.1.el9_3.x86_64के अनुसार इंस्टॉल होंगे, जिससे बाद में इसी कर्नेल के लिए मॉड्यूल बिल्ड किए जा सकेंगे। ज़रूरी पैकेज पहले से इंस्टॉल कर लेने पर आगे का ड्राइवर इंस्टॉलेशन आसानी से पूरा होगा।
STEP3. NVIDIA ड्राइवर इंस्टॉल करें #
लेटेस्ट NVIDIA ड्राइवर इंस्टॉल करने के लिए DNF के module फ़ीचर का इस्तेमाल करें। आपने जो NVIDIA रिपॉज़िटरी जोड़ी है उसमें कई ड्राइवर module streams हैं, लेकिन यहाँ हम लेटेस्ट DKMS वर्ज़न वाला ड्राइवर चुनेंगे। नीचे दी गई कमांड से NVIDIA ड्राइवर इंस्टॉल करें।
sudo dnf module install -y nvidia-driver:latest-dkmsअगर चलाते समय GPG key इम्पोर्ट की पुष्टि माँगी जाए, तो “y” टाइप करके स्वीकार करें।
इससे NVIDIA कर्नेल मॉड्यूल DKMS के ज़रिए बिल्ड और इंस्टॉल होकर आपके सिस्टम में इंटीग्रेट हो जाएगा। इंस्टॉलेशन पूरा होने के बाद, modinfo nvidia कमांड से ड्राइवर मॉड्यूल की जानकारी वेरिफ़ाई कर सकते हैं।
STEP4. CUDA 12.8 इंस्टॉल करें #
NVIDIA CUDA Toolkit 12.8 इंस्टॉल करें। CUDA रिपॉज़िटरी में कई CUDA से जुड़े मेटापैकेज हैं, लेकिन हम cuda-toolkit-12-8 पैकेज इस्तेमाल करेंगे, जिसमें डेवलपमेंट के लिए ज़रूरी टूल्स का पूरा सेट शामिल है (इसमें CUDA 12.8 कंपाइलर और लाइब्रेरीज़ शामिल हैं, लेकिन ड्राइवर शामिल नहीं है)।
CUDA Toolkit 12.8 इंस्टॉल करने के लिए नीचे दी गई कमांड चलाएँ।
sudo dnf install -y cuda-toolkit-12-8ऊपर की कमांड से कंपाइलर (nvcc), CUDA लाइब्रेरीज़, हेडर और अन्य कंपोनेंट /usr/local/cuda-12.6/ के अंतर्गत इंस्टॉल हो जाएँगे।
CUDA की bin डायरेक्टरी को PATH एनवायरनमेंट वेरिएबल में जोड़ने के लिए, उदाहरण के तौर पर echo 'export PATH=/usr/local/cuda-12.6/bin:$PATH' >> ~/.bashrc से कॉन्फ़िगर करें (ज़रूरत हो तो LD_LIBRARY_PATH भी सेट करें)।
STEP5. सिस्टम कॉन्फ़िगरेशन लागू करें और ऑपरेशन वेरिफ़ाई करें #
ड्राइवर लागू करने के लिए सिस्टम को रीस्टार्ट करें, और इसे निर्दिष्ट कर्नेल से बूट होने के लिए कॉन्फ़िगर करें। सबसे पहले, इंस्टॉल किए गए कर्नेल्स में से GRUB को डिफ़ॉल्ट रूप से कर्नेल वर्ज़न 5.14.0-362.8.1.el9_3.x86_64 से बूट होने के लिए सेट करें। उपयुक्त कर्नेल को डिफ़ॉल्ट बूट एंट्री बनाने के लिए नीचे दी गई कमांड चलाएँ।
sudo grubby --set-default /boot/vmlinuz-5.14.0-362.8.1.el9_3.x86_64ऊपर की कमांड चलाने के बाद, grubby --default-index या grubby --info=ALL से वेरिफ़ाई कर सकते हैं कि डिफ़ॉल्ट सेट हो गया है। इसके बाद सिस्टम रीस्टार्ट करें। रीस्टार्ट के बाद, सबसे पहले वेरिफ़ाई करें कि कर्नेल वर्ज़न 5.14.0-362.8.1.el9_3.x86_64 है, इसके लिए uname -r कमांड इस्तेमाल करें। साथ ही, एहतियात के तौर पर कन्फर्म करें कि Nouveau ड्राइवर डिसेबल है (ज़रूरत हो तो चेक करें कि lsmod | grep nouveau कोई आउटपुट नहीं देता। अगर डिसेबल करना ज़रूरी हो, तो blacklist nouveau को /etc/modprobe.d/blacklist-nouveau.conf में जोड़ें और dracut -f कमांड से initramfs दोबारा बिल्ड करें)।
अंत में, वेरिफ़ाई करें कि NVIDIA GPU सही तरीके से पहचाना जा रहा है और ड्राइवर काम कर रहा है। lspci कमांड से कन्फर्म करें कि GPU डिटेक्ट हो रहा है (नीचे दी गई कमांड चलाने पर NVIDIA GPU की एंट्रीज़ दिखेंगी)।
lspci | grep -i NVIDIAअगर ऊपर की कमांड से “NVIDIA Corporation …” एंट्रीज़ दिखती हैं, तो GPU PCI बस पर पहचाना जा रहा है। इसके बाद, NVIDIA ड्राइवर का स्टेटस वेरिफ़ाई करने के लिए nvidia-smi कमांड चलाएँ।
nvidia-smiअगर इंस्टॉलेशन सफलतापूर्वक पूरा हुआ है, तो GPU लिस्ट, ड्राइवर वर्ज़न और उपलब्ध मेमोरी जैसी जानकारी दिखाई देगी।
उदाहरण के लिए, अगर RTX 6000 Ada के अनुरूप ड्राइवर सही तरीके से लोड हुआ है, तो GPU का नाम और उपलब्ध CUDA वर्ज़न दिखना चाहिए। इसके साथ NVIDIA RTX 6000 Ada ड्राइवर और CUDA 12.6 का इंस्टॉलेशन और कॉन्फ़िगरेशन पूरा हो जाता है। ज़रूरत हो तो दोबारा रीस्टार्ट करके वेरिफ़ाई करें कि बूट के समय कोई समस्या नहीं है।
पूरक: lspci और nvidia-smi से वेरिफ़िकेशन के बारे में #
lspciएक कमांड है जो PCI डिवाइसेज़ की लिस्ट दिखाती है। ऊपर बताए तरीके से चलाकर आप वेरिफ़ाई कर सकते हैं कि सिस्टम NVIDIA GPU को पहचान रहा है।nvidia-smiNVIDIA की सिस्टम मैनेजमेंट यूटिलिटी है, जिससे आप वेरिफ़ाई कर सकते हैं कि इंस्टॉल किया गया ड्राइवर सही तरीके से काम कर रहा है (यानी वह GPU को पहचान रहा है)।- अगर ड्राइवर इंस्टॉलेशन के बाद इस कमांड से GPU की जानकारी मिल जाती है, तो इंस्टॉलेशन सफल है।