NVIDIA, ओपन सोर्स Linux GPU kernel modules पर पूरी तरह शिफ्ट
(developer.nvidia.com)- NVIDIA ने मई 2022 में R515 driver के साथ Linux GPU kernel modules को GPL और MIT dual license के तहत open source के रूप में जारी किया था
- उस समय यह data center computing GPU के लिए था, और GeForce, Workstation GPU alpha स्थिति में थे
- इसके बाद की releases में अधिक मजबूत और पूर्ण-फीचर वाले GeForce और Workstation Linux support दिए जाएंगे, और NVIDIA open kernel modules अंततः closed-source driver की जगह लेंगे, ऐसा घोषणा की गई थी
- अब 2 साल बाद, open source GPU kernel modules के साथ समान या उससे बेहतर application performance हासिल की गई है, और निम्नलिखित महत्वपूर्ण नई सुविधाएँ जोड़ी गई हैं:
- heterogeneous memory management (HMM) support
- confidential computing
- Grace platform की coherent memory architecture
- और भी बहुत कुछ
- अब open source GPU kernel modules पर पूरी तरह शिफ्ट होने का सही समय है, और आने वाली R560 driver release में यह बदलाव लागू किया जाएगा
समर्थित GPU
- सभी GPU open source GPU kernel modules के साथ compatible नहीं हैं
- NVIDIA Grace Hopper या NVIDIA Blackwell जैसे नवीनतम platforms में open source GPU kernel modules का उपयोग अनिवार्य है, और इन platforms पर proprietary driver supported नहीं हैं
- Turing, Ampere, Ada Lovelace, Hopper architecture वाले नए GPU के लिए open source GPU kernel modules पर शिफ्ट करने की सिफारिश की जाती है
- Maxwell, Pascal, Volta architecture वाले पुराने GPU open source GPU kernel modules के साथ compatible नहीं हैं, इसलिए NVIDIA proprietary driver का उपयोग जारी रखें
- एक ही system में पुराने और नए GPU मिले-जुले होने वाले deployments के लिए proprietary driver का उपयोग जारी रखें
- NVIDIA एक नया detection helper script भी दे रहा है, जो बताता है कि कौन-सा driver चुनना चाहिए। अधिक जानकारी के लिए इस पोस्ट के आगे दिए गए "installation helper script का उपयोग" section को देखें
installer में बदलाव
- सामान्य रूप से, सभी installation methods द्वारा install किए जाने वाले driver का default version proprietary driver से open source driver में बदला जा रहा है। कुछ खास scenarios में विशेष ध्यान देने की आवश्यकता है:
- CUDA metapackage वाला package manager
- executable file
- installation helper script
- package manager details
- Windows Subsystem for Linux
- CUDA Toolkit
CUDA metapackage वाले package manager का उपयोग
- जब package manager (
.runfile नहीं) का उपयोग करके CUDA Toolkit install किया जाता है, तो installation metapackage मौजूद होता है और आम तौर पर उपयोग किया जाता है। सबसे ऊपर केcudapackage को install करने पर CUDA Toolkit और उससे जुड़े driver release का संयोजन install हो जाता है।
executable file का उपयोग
- यदि CUDA या NVIDIA driver को
.runfile का उपयोग करके install किया जाता है, तो installer hardware को query करता है और system के लिए सबसे उपयुक्त driver को अपने-आप install कर देता है। UI toggle का उपयोग करके proprietary driver और open source driver में से चुनाव भी किया जा सकता है।
installation helper script का उपयोग
- जैसा ऊपर बताया गया है, यदि आपको यह निश्चित नहीं है कि आपके system के GPU के लिए कौन-सा driver चुनना चाहिए, तो NVIDIA ने एक helper script बनाई है जो selection process में मार्गदर्शन करती है।
- इसे उपयोग करने के लिए, पहले
nvidia-driver-assistantpackage को package manager से install करें, फिर script चलाएँ
package manager की जानकारी
- एक consistent experience के लिए NVIDIA CUDA Toolkit और driver install करते समय package manager का उपयोग करने की सिफारिश करता है। हालांकि, अलग-अलग distributions में उपयोग होने वाली विशिष्ट package management systems या package structures distribution के अनुसार भिन्न हो सकती हैं।
- इस section में अलग-अलग platforms के लिए आवश्यक विशेष विवरण, सावधानियाँ, या migration steps समझाए गए हैं।
Windows Subsystem for Linux
- Windows Subsystem for Linux (WSL) host Windows operating system के NVIDIA kernel driver का उपयोग करता है। इस platform पर कोई अलग driver install नहीं करना चाहिए। यदि आप WSL का उपयोग कर रहे हैं, तो किसी बदलाव या कार्रवाई की आवश्यकता नहीं है।
CUDA Toolkit
- CUDA Toolkit की installation package manager के माध्यम से नहीं बदलती। बस निम्न command चलाएँ:
$ sudo apt-get/dnf/zypper install cuda-toolkit
और जानकारी
- NVIDIA driver या CUDA Toolkit install करने के तरीके के बारे में अधिक जानकारी के लिए CUDA installation guide के "driver installation" section को देखें
GN⁺ की राय
-
NVIDIA का GPU kernel modules को open source के रूप में उपलब्ध कराना GPU computing ecosystem के लिए बहुत सकारात्मक बदलाव है। इससे users और developers NVIDIA GPU drivers से जुड़े issues को अधिक आसानी से debug और resolve कर सकेंगे।
-
open source में शिफ्ट होने से HPC, AI, machine learning जैसे क्षेत्रों में NVIDIA GPU का उपयोग करने वाले users को अधिक flexibility और transparency मिलेगी। खासकर enterprise environments में NVIDIA GPU solutions अपनाते समय security और stability को लेकर चिंताओं को कम करने में यह मददगार होगा।
-
हालांकि, open source transition के दौरान मौजूदा proprietary driver-आधारित applications के साथ compatibility issues उत्पन्न हो सकते हैं। NVIDIA को इसके लिए स्पष्ट guidelines और migration path देना चाहिए।
-
AMD के ROCm जैसे प्रतिस्पर्धी open source GPU computing platforms के साथ तुलना भी एक रोचक विषय हो सकती है। NVIDIA के open source transition से GPU computing क्षेत्र में प्रतिस्पर्धा और तेज होने की उम्मीद है।
-
आगे चलकर उम्मीद है कि NVIDIA community contributions को सक्रिय रूप से अपनाएगा और open source GPU kernel modules की performance और stability में लगातार सुधार करता रहेगा। इससे GPU computing के व्यापक प्रसार और innovation को गति मिलेगी।
4 टिप्पणियां
Linus Torvalds: NVIDIA! धत्! अलविदा!
एक दमदार एक लाइन.. F*ck..!
हो भी सकता है हा हा
Hacker News की राय
याद है कुछ साल पहले Nvidia पर एक गंभीर हैक हुआ था
Nvidia के kernel module दो components में बंटे हुए हैं
OS-agnosticcomponentkernel interface layercomponent.runinstallation package में शामिल किया जाता है, तो OS-agnostic component binary के रूप में दिया जाता हैNvidia पर Sway और Wayland का उपयोग करना बहुत मुश्किल था, इसलिए AMD पर स्विच कर लिया
जिज्ञासा है कि इस समय Linux पर Nvidia driver की स्थिति कैसी है
Nvidia पूरी तरह open source GPU kernel module पर स्विच कर रहा है
उम्मीद है कि यह बदलाव Linux पर Nvidia driver install/upgrade को आसान बनाएगा
एक tarball फेंककर "लो, संभालो!" कह देने का कोई मतलब नहीं है
एक संशयवादी व्यक्ति के रूप में जो बारीकियों को ध्यान से पढ़ता है, मुझे लगता है कि यह एक अच्छा कदम है
याद है जब Linus ने कैमरे की ओर देखकर Nvidia को middle finger दिखाया था
सिर्फ kernel module ही सही, कुछ तो दिया गया है, यह भी मायने रखता है