जीपीयू कंप्यूटिंग - यह क्या है?
GPU या ग्राफ़िक्स प्रोसेसिंग यूनिट सभी इलेक्ट्रॉनिक सर्किट में मौजूद होते हैं जो एक प्रकार का डिस्प्ले या दूसरा, विशेष रूप से कंप्यूटर का उत्पादन करते हैं।
प्रारंभिक ग्राफिक्स प्रोसेसर अपेक्षाकृत सरल थे। लेकिन गेमिंग, 3D एनिमेशन और वीडियो रेंडरिंग कार्यों के आगमन के साथ, जिन्होंने CPU को उनकी सीमा से परे धकेल दिया, अधिक शक्तिशाली GPU को बचाव में आना पड़ा।
ये नए GPU कार्ड समय के साथ शक्ति और जटिलता में बढ़ते गए, विभिन्न कंपनियों और शोधकर्ताओं ने अपने समानांतर निष्पादन लाभ का लाभ उठाने के तरीकों की तलाश की। यह पोस्ट आपको दिखाता है कि यह अब तक कैसा चल रहा है।
एक जीपीयू क्या है?
एक जीपीयू या ग्राफिक्स प्रोसेसिंग यूनिट एक विशेष सर्किट है जिसे प्रदर्शन के लिए छवियों के निर्माण में सहायता के लिए डेटा के हेरफेर के लिए डिज़ाइन किया गया है। दूसरे शब्दों में, GPU एक ऐसी प्रणाली है जो आपके द्वारा किसी भी प्रदर्शन सतह पर दिखाई देने वाली छवियों को बनाता है, जैसे कि कंप्यूटर मॉनीटर, स्मार्टफोन स्क्रीन, गेम कंसोल, और इसी तरह।
जीपीयू शुरू में सीधे उपकरण थे जो एक विशिष्ट डिवाइस के लिए एक आदर्श आउटपुट बनाने के लिए ग्राफिक तत्वों को एक साथ रखते थे। हालांकि, समय के साथ, और कंप्यूटर गेमिंग के आगमन के साथ, GPU जटिलता और शक्ति में बढ़ने लगे, जिससे जीपीजीपीयू या सामान्य प्रयोजन कम्प्यूटिंग जीपीयू पर.
GPU कंप्यूटिंग क्या है?
जीपीयू कंप्यूटिंग या जीपीजीपीयू ग्राफिक्स से परे गणना के लिए जीपीयू का उपयोग है। इसका मतलब कंप्यूटर के वीडियो कार्ड में एम्बेडेड जीपीयू का उपयोग करना है और मूल रूप से वैज्ञानिक सिमुलेशन जैसे अन्य प्रकार के डेटा की गणना के लिए कंप्यूटर ग्राफिक्स को संसाधित करने के लिए है। cryptocurrency खनन, बीजगणित गणना, मौसम पूर्वानुमान, तंत्रिका नेटवर्क, इत्यादि।
GPU कंप्यूटिंग के इस विकास का कारण ग्राफिक्स प्रोसेसिंग इकाइयों के प्रभावशाली विकास से आता है, जो आधुनिक GPU सिस्टम के वितरित समानांतर आर्किटेक्चर से आता है।
जैसे-जैसे कंप्यूटर का सीपीयू अधिक शक्तिशाली होता गया और अधिक जटिल कार्यक्रमों और खेलों को संभाल सकता था, वीडियो कार्ड निर्माताओं ने भी आधुनिक कंप्यूटिंग और 3 डी ग्राफिक्स के विकास को बनाए रखने की कोशिश की। एनवीडिया ने अनावरण किया GeForce 256 1999 में दुनिया के पहले GPU वीडियो कार्ड के रूप में और चीजें वहीं से विकसित हुईं।
सीपीयू पर जीपीयू कार्ड का प्रमुख लाभ उनकी समानांतर प्रसंस्करण वास्तुकला है, जो उन्हें बड़े डेटा कार्यों को वितरित, समानांतर तरीके से संसाधित करने में सक्षम बनाता है जो बाधाओं और सीपीयू फ्रीज को रोकता है।
GPU कंप्यूटिंग के लिए आवेदन क्या हैं?
GPU कंप्यूटिंग के अनुप्रयोग कई हैं, यहाँ कुछ शीर्ष उपयोगों पर एक नज़र है:
- मशीन लर्निंग और तंत्रिका नेटवर्क
- अस्पष्ट तर्क
- जैव सूचना विज्ञान
- आणविक मॉडलिंग
- वीडियो प्रतिपादन
- ज्यामितीय कंप्यूटिंग
- जलवायु अनुसंधान और मौसम पूर्वानुमान
- खगोल भौतिकी
- कूटलेखन
- कंप्यूटर दृष्टि
- पासवर्ड क्रैकिंग
- क्वांटम अनुसंधान
जीपीयू बनाम सीपीयू प्रोसेसिंग
GPU और CPU दोनों ही डिजिटल डेटा को प्रोसेस करते हैं, लेकिन वे इसे अलग-अलग तरीकों से करते हैं। सीपीयू या सेंट्रल प्रोसेसिंग यूनिट को उच्च गति पर सीरियल प्रोसेसिंग के लिए डिज़ाइन किया गया है, जबकि जीपीयू को बहुत कम गति पर समानांतर प्रोसेसिंग के लिए डिज़ाइन किया गया है। बेशक, एक सीपीयू प्रति कोर 2 धागे प्राप्त करने के लिए हाइपर-थ्रेडिंग का उपयोग कर सकता है, या यहां तक कि दर्जनों कोर भी हो सकते हैं, लेकिन वे मूल रूप से सीरियल प्रोसेसर हैं।
जबकि CPU में कुछ कोर हो सकते हैं, आधुनिक GPU में हजारों कोर होते हैं, उदाहरण के लिए, एनवीडिया GeForce RTX 3090 जिसमें 10K+ कोर हैं। हालांकि सीपीयू पर लाभ प्राप्त करने के लिए, डेटा को समानांतर प्रसंस्करण में सक्षम होना चाहिए, जैसे कि एक बार में हजारों छवियों वाली स्ट्रीम को संसाधित करना।
जीपीयू बनाम एएसआईसी
ASIC का मतलब एप्लीकेशन स्पेसिफिक इंटीग्रेटेड सर्किट है और इसका मतलब है कि यह केवल एक ही कार्य कर सकता है - वह कार्य जिसे करने के लिए इसे डिज़ाइन किया गया था। ASIC एक अनूठी मशीन है जिसे खरोंच से विकसित किया गया है और इसे बनाने के लिए विशेषज्ञ हार्डवेयर ज्ञान की आवश्यकता होती है। ASIC का उपयोग आमतौर पर क्रिप्टोक्यूरेंसी खनन में किया जाता है, क्योंकि वे GPU की तुलना में अच्छे समानांतर प्रसंस्करण लाभ और बेहतर दक्षता प्रदान करते हैं।
हालाँकि, दोनों के बीच बड़ा अंतर यह है कि GPU अधिक बहुमुखी हैं। उदाहरण के लिए, आप GPU का उपयोग करके आसानी से एक क्रिप्टोक्यूरेंसी माइनिंग रिग का निर्माण कर सकते हैं। पुर्जे आसानी से उपलब्ध हैं और यदि आप खनन के साथ हैं, तो आप हमेशा गेमर्स या अन्य खनिकों को GPU कार्ड बेच सकते हैं। एएसआईसी के साथ, आप केवल अन्य खनिकों को एक प्रयुक्त मशीन बेच सकते हैं, क्योंकि आप इसके साथ कुछ और नहीं कर सकते हैं।
क्रिप्टोक्यूरेंसी खनन से परे, एएसआईसी मशीन पर अपना हाथ रखना और भी मुश्किल हो जाता है, क्योंकि वे बड़े पैमाने पर उत्पाद नहीं हैं। यह GPU सिस्टम के साथ दृढ़ता से विरोधाभासी है जिसे आप हर जगह प्राप्त कर सकते हैं और आसानी से कॉन्फ़िगर कर सकते हैं।
GPU बनाम क्लस्टर कंप्यूटिंग
जबकि एक एकल GPU कार्ड में हजारों कोर होते हैं, जो आपके द्वारा इसे संलग्न किए गए किसी भी कंप्यूटर में जबरदस्त शक्ति जोड़ते हैं, आप सैद्धांतिक रूप से कंप्यूटर के मेनबोर्ड में उतने GPU कार्ड जोड़ सकते हैं जितना वह संभाल सकता है, और इसकी प्रसंस्करण क्षमता को और बढ़ा सकता है।
दूसरी ओर, एक कंप्यूटर क्लस्टर, कई कंप्यूटरों को संदर्भित करता है जो एक बड़े कंप्यूटर के रूप में कार्य करने के लिए एक साथ नेटवर्क किए जाते हैं - एक सुपर कंप्यूटर। नेटवर्क पर प्रत्येक कंप्यूटर को नोड कहा जाता है और इसमें मल्टी-कोर सीपीयू, साथ ही बोर्ड पर एक या अधिक जीपीयू कार्ड हो सकते हैं।
प्रत्येक क्लस्टर में एक मास्टर नोड होना चाहिए, जो कि फ्रंट कंप्यूटर है जो अपने कार्यकर्ता नोड्स के प्रबंधन और शेड्यूलिंग के लिए जिम्मेदार है। इसमें सॉफ्टवेयर भी शामिल होगा जो परिणामों की गणना और वापसी के लिए अपने कार्यकर्ता नोड्स के लिए डेटा और प्रोग्राम आवंटित करता है।
GPU त्वरण बनाम हाइपर-थ्रेडिंग
सीपीयू को एक साथ कई कार्यों को संभालने के लिए डिज़ाइन किया गया है, और यही कारण है कि यह बहुत तेज गति से चलता है, उन कई प्रक्रियाओं के बीच प्रसंस्करण समय निर्धारित करता है। हालाँकि, जब यह एक गणना-गहन फ़ंक्शन का सामना करता है, तो यह अन्य प्रक्रियाओं पर लौटने से पहले लूप में कुछ समय बिता सकता है। यह आमतौर पर कंप्यूटर के सामान्य धीमेपन और बदतर मामलों में, सिस्टम के पूर्ण फ्रीज का परिणाम होता है।
कंप्यूटर डिज़ाइनर हाइपर-थ्रेडिंग या GPU त्वरण का उपयोग करके इस भयानक परिदृश्य से बच सकते हैं। हाइपर-थ्रेडिंग एक सिंगल सीपीयू कोर को दो प्रोसेसिंग थ्रेड्स के रूप में कार्य करने की अनुमति देता है। इसलिए, जब एक धागा गणना-गहन लूप में फंस जाता है, तो दूसरा धागा अभी भी सिस्टम को एक साथ पकड़ सकता है।
आधुनिक कंप्यूटरों में अब 2 से 4, 8, 16, 32, और इसी तरह के कई कोर हैं। साथ ही, उनमें हाइपर-थ्रेडिंग की सुविधा है, इसलिए 2-कोर CPU 4 थ्रेड प्रदान करता है, 4-कोर 8 थ्रेड प्रदान करता है, और इसी तरह।
मल्टी-कोर सीपीयू के साथ हाइपर-थ्रेडिंग अधिकांश कंप्यूटिंग समस्याओं को हल करेगा, बाधाओं को रोकेगा, और सरल गेम, संगीत उत्पादन और छोटे ग्राफिक्स, वीडियो और मशीन लर्निंग प्रोजेक्ट के साथ शीर्ष प्रदर्शन प्रदान करेगा। लेकिन जब आपको उससे ज्यादा पावर की जरूरत होती है, तो अक्सर GPU ही सही समाधान होता है।
GPU या हार्डवेयर एक्सेलेरेशन एक सॉफ्टवेयर एप्लिकेशन की क्षमता है जो CPU को प्रभावित किए बिना बड़ी संख्या में डेटा को क्रंच करने के लिए GPUs समानांतर प्रोसेसिंग पावर का लाभ उठाता है। कई पेशेवर एप्लिकेशन अच्छी तरह से कार्य करने के लिए GPU त्वरण पर निर्भर करते हैं। इनमें वीडियो और एनिमेशन डिजाइन/रेंडरिंग प्रोग्राम, एनकोडर, क्रिप्टोग्राफी, बड़े न्यूरल नेटवर्क आदि शामिल हैं।
जीपीजीपीयू प्रोग्रामिंग मूल बातें
GPU की सामान्य प्रयोजन प्रोग्रामिंग शुरू में का उपयोग करके की गई थी DirectX और OpenGL पुस्तकालय। हालाँकि, ये ग्राफिक्स विकास के लिए कड़ाई से डिज़ाइन किए गए थे, इसलिए आपको काम करने के लिए अपने डेटा को ग्राफिक जैसे मॉडल में फिर से तैयार करना पड़ा।
सौभाग्य से, पिछले कुछ वर्षों में जीपीजीपीयू में बड़ी प्रगति हुई है, जिससे पुस्तकालयों, प्रोग्रामिंग भाषाओं और ढांचे का विकास हुआ है। इन ढांचे में सबसे लोकप्रिय एनवीडिया से सीयूडीए है।
CUDA किसी भी डेवलपर के लिए क्लासिक GPU प्रोग्रामिंग की बारीकियों को जानने की आवश्यकता के बिना GPU प्रोग्रामिंग में गोता लगाना आसान बनाता है। यह ऐसी सुविधाएँ प्रदान करता है जो ग्राफिक्स से परे विकास को बढ़ाती हैं, कई इकाइयाँ यहाँ तक कि मशीन-लर्निंग-विशिष्ट कार्यों की विशेषता भी देती हैं।
उपलब्ध पुस्तकालय नए GPU-त्वरित प्रोग्राम को खरोंच से बनाना या पूर्व-लिखित प्रोग्राम को समानांतर प्रसंस्करण के लिए अनुकूलित करना आसान बनाते हैं। आप सही पुस्तकालय चुनते हैं, समानांतर लूप के लिए अपना कोड अनुकूलित करते हैं, पुन: संकलित करते हैं, और यही वह है।
CUDA कोर बनाम स्ट्रीम प्रोसेसर
अक्सर, आप शर्तों के पार आएंगे कुडा कोर और स्ट्रीम प्रोसेसर. दोनों शब्द केवल GPU कोर को संदर्भित करते हैं या अंकगणित तर्क इकाइयाँ एक GPU का. CUDA Core Nvidia की एक मालिकाना तकनीक है, जबकि स्ट्रीम प्रोसेसर AMD से हैं।
एक और शब्द जो आपके सामने आ सकता है वह है स्ट्रीमिंग मल्टी-प्रोसेसर या एसएम। यह एक और एनवीडिया तकनीक है जो मूल रूप से प्रति एसएम 8 सीयूडीए कोर समूहित करती है। यह प्रति कमांड 32 घड़ी चक्रों का उपयोग करते हुए, एक बार में 4-थ्रेड वार्प्स को निष्पादित करता है। नए डिज़ाइन में अब प्रति स्ट्रीमिंग मल्टी-प्रोसेसर 100 कोर से अधिक की सुविधा है।
शीर्ष GPU भाषाएँ और पुस्तकालय
वहाँ बहुत सारे पुस्तकालय और भाषाएँ हैं जो Nvidia CUDA और AMD दोनों प्लेटफार्मों पर काम करती हैं। निम्नलिखित कुछ ही हैं:
- एनवीडिया क्यूबला - CUDA के लिए मूल रैखिक बीजगणित उपप्रोग्राम
- सीयूडीएनएन - डीप न्यूरल नेटवर्क लाइब्रेरी
- OpenCL - समानांतर प्रोग्रामिंग के लिए खुला मानक
- खुला हुआ - एएमडी जीपीयू के लिए
- HIP - सी++ लाइब्रेरी
- एनवीडिया क्यूरैंड - यादृच्छिक संख्या पीढ़ी
- सीयूएफएफटी - फास्ट फूरियर ट्रांसफॉर्म के लिए
- एनवीडिया एनपीपी - 2डी इमेज और सिग्नल प्रोसेसिंग
- जीपीयू वीएसआईपीएल - वेक्टर छवि और सिग्नल प्रोसेसिंग
- OpenCV - कंप्यूटर विज़न के लिए GPU लाइब्रेरी
- ओपनएसीसी - समानांतर विकास के लिए भाषा
- पाइकुडा - CUDA प्लेटफॉर्म के लिए पायथन
- टेंसरआरटी - CUDA के लिए गहरी शिक्षा
- CUDA सी++ - CUDA के लिए C++ भाषा
- कुडा सी - सीयूडीए के लिए सी भाषा
- CUDA फोरट्रान - फोरट्रान डेवलपर्स के लिए CUDA
शीर्ष GPU क्लस्टर परियोजनाएं
जून 2022 तक, दुनिया के 8 सबसे तेज सुपर कंप्यूटरों में से 10 GPU-त्वरित हैं। वे सभी लिनक्स ओएस भी साझा करते हैं, और इस प्रकार हैं:
श्रेणी | नाम | पेटाफ्लॉप्स | सीपीयू कोर | GPU कोर | पावर (किलोवाट) | साल |
1. | सीमांत | 1,102 | 591,872 | 8,138,240 | 21,100 | 2022 |
2. | लुमी | 151.90 | 75,264 | 1,034,880 | 2,900 | 2022 |
3. | शिखर सम्मेलन | 148.6 | 202,752 | 2,211,840 | 10,096 | 2018 |
4. | आरा | 94.64 | 190,080 | 1,382,400 | 7,438 | 2018 |
5. | पर्लमटर | 64.59 | एन / ए | एन / ए | 2,589 | 2021 |
6. | सेलेन | 63.46 | 71,680 | 483,840 | 2,646 | 2020 |
7. | Tianhe-2 | 61.445 | 427,008 | 4,554,752 | 18,482 | 2013 |
8. | विज्ञापन अस्त्र | 46.1 | 21,632 | 297,440 | 921 | 2022 |
निष्कर्ष
GPU कंप्यूटिंग में इस गोता के अंत तक पहुँचने और इसके साथ आने वाली सभी चीज़ों तक, आपको अब तक इसकी शक्ति और दायरे का अंदाजा हो जाना चाहिए था।
अधिक जानकारी के लिए, आप के डेवलपर प्लेटफॉर्म की जांच कर सकते हैं एनवीडिया यहाँ या वह एएमडी यहाँ.