पूर्णिमा लल्लन शर्मा फाउंडेशन · स्थापना 2021
PLS FoundationPLS FOUNDATIONज्ञान। सामर्थ्य। सेवा।

क्वांटम शर्मा · सिलिकॉन एटलस

GPU के भीतर: समानांतर काम और मेमोरी

कंप्यूट समूह, SIMT, GDDR और HBM समझें; GB202 वाले उत्पादों की तुलना करें और जानें कि VRAM बढ़ाने या साझा करने के लिए क्या चाहिए।

सिलिकॉन एटलस का अध्ययन-वृक्ष →

अनेक निष्पादन लेन सहायक हार्डवेयर साझा करती हैं

GPU समानांतर काम को शेड्यूलर, रजिस्टर फ़ाइल, निष्पादन लेन और स्थानीय डेटा संसाधनों वाले समूहों में बाँटता है। NVIDIA ऐसे बड़े समूह को स्ट्रीमिंग मल्टीप्रोसेसर (SM) कहता है। एक लेन डेटा के एक हिस्से पर क्रिया करती है; समूह निर्देश और अवस्था देता है। इसलिए बताए गए “GPU core” की संख्या पूरे CPU कोर की गिनती नहीं है।

मूल स्रोत पढ़ें: NVIDIA: GPU अमूर्त मशीन और SIMT ↗

GPU का वैचारिक चित्र: कंप्यूट समूह और बाहरी मेमोरीCPU काम भेजता है। GPU के समूहों में रजिस्टर और निष्पादन लेन हैं; कैश और मेमोरी कंट्रोलर उन्हें डिवाइस DRAM से जोड़ते हैं।CPU: काम भेजता हैGPU की उदाहरण सीमाकंप्यूट समूहशेड्यूलररजिस्टर / लेनस्थानीय मेमोरीकंप्यूट समूहशेड्यूलररजिस्टर / लेनस्थानीय मेमोरीकंप्यूट समूहशेड्यूलररजिस्टर / लेनस्थानीय मेमोरीसाझा कैश / इंटरकनेक्टमेमोरी कंट्रोलरडिवाइस DRAM: जैसे GDDR या HBM
मूल वैचारिक चित्र; कनेक्शन और स्थान सरल किए गए हैं, यह चिप का भौतिक लेआउट नहीं है। छोटी स्क्रीन पर चित्र को दाएँ-बाएँ सरकाएँ।

थ्रेड, वॉर्प और लेन अलग हैं

NVIDIA CUDA में एक वॉर्प 32 सॉफ़्टवेयर थ्रेड का समूह है। SIMT का अर्थ single instruction, multiple threads है: सक्रिय थ्रेड अपने-अपने डेटा पर निर्देश चलाते हैं। ये थ्रेड साझा निष्पादन संसाधनों पर शेड्यूल होते हैं; 32 थ्रेड का अर्थ CPU जैसे 32 अलग इंजन या एक क्लॉक में काम पूरा होना नहीं है। दूसरे GPU परिवार अपने समूहों के लिए अलग नाम उपयोग करते हैं।

एक समूह डेटा का इंतज़ार करे तो शेड्यूलर दूसरा तैयार समूह चला सकता है। अलग शाखाओं में अलग सक्रिय थ्रेड के साथ अलग रास्ते चलाने पड़ सकते हैं, जिससे साझा लेन का उपयोग घटता है। आधुनिक शेड्यूलिंग का तरीका बदलता है; मुख्य प्रश्न है कि काम पर्याप्त तैयार और उचित ढंग का समानांतर कार्य देता है या नहीं।

मूल स्रोत पढ़ें: NVIDIA: CUDA निष्पादन और मेमोरी मॉडल ↗

रजिस्टर, कैश, कंट्रोलर और VRAM

GPU को गणना जितनी ही मेमोरी के स्तरों की ज़रूरत होती है। रजिस्टर प्रति-थ्रेड कार्य-मान रखते हैं। स्थानीय साझा मेमोरी संसाधन और कैश डेटा दोबारा उपयोग में मदद करते हैं; व्यापक कैश, इंटरकनेक्ट और मेमोरी कंट्रोलर डिवाइस DRAM तक पहुँच देते हैं। CUDA में “local memory” प्रति-थ्रेड पता-क्षेत्र है; इसका अर्थ भौतिक रूप से चिप पर मौजूद रजिस्टर नहीं है।

मूल स्रोत पढ़ें: NVIDIA: डेटा स्थानांतरण और मेमोरी पहुँच ↗

डिवाइस मेमोरी की दो व्यवस्थाएँ
मेमोरीभौतिक व्यवस्थायाद रखें
GDDRबोर्ड पर प्रोसेसर से जुड़े ग्राफ़िक्स-केंद्रित DRAM पैकेज।बाहरी मेमोरी चिप, GPU की निष्पादन लेन नहीं हैं।
HBMपैकेज में प्रोसेसर के पास घने कनेक्शन वाली खड़ी DRAM डाइ की परतें।परतें जोड़ना और पैकेजिंग, मेमोरी प्रणाली के डिज़ाइन का भाग है।

मूल स्रोत पढ़ें: Micron: ग्राफ़िक्स DRAM ↗ · Micron: HBM की संरचना ↗

अलग GPU में प्रायः अपनी डिवाइस मेमोरी होती है; एकीकृत GPU सिस्टम DRAM साझा कर सकता है। पते उपयोग करने की सुविधा से डेटा की दूरी, क्षमता और बैंडविड्थ के भौतिक अंतर समाप्त नहीं होते।

मूल स्रोत पढ़ें: NVIDIA: डेटा स्थानांतरण और मेमोरी पहुँच ↗

ग्राफ़िक्स और अन्य समानांतर काम क्यों उपयुक्त हैं

चित्र बनाने में अनेक वर्टेक्स, सैंपल और पिक्सल पर मिलते-जुलते कार्य होते हैं। GPU प्रोग्राम योग्य निष्पादन को विशेष ग्राफ़िक्स हार्डवेयर के साथ जोड़ता है। ऐसी डेटा-समानांतर बनावट इमेज प्रोसेसिंग, अनुकरण और मैट्रिक्स कार्यों में भी मिलती है। उपयोगिता एल्गोरिदम, डेटा स्थानांतरण, संख्या के प्रारूप और सॉफ़्टवेयर पर निर्भर है—केवल गणना लेन की संख्या पर नहीं।

मूल स्रोत पढ़ें: NVIDIA: GPU अमूर्त मशीन और SIMT ↗

CPU में भी अनेक कोर और वेक्टर निर्देश होते हैं; GPU भी नियंत्रण-प्रवाह चलाता है। उपयोगी अंतर डिज़ाइन के जोर में है: CPU प्रायः अलग-अलग निर्देश-क्रमों में कम इंतज़ार के साथ आगे बढ़ने पर जोर देते हैं, जबकि GPU बहुत-से कार्यों पर उच्च कुल थ्रूपुट देते हैं। छोटे या पिछले परिणाम पर अधिक निर्भर कार्य में शेड्यूलिंग और डेटा भेजने का खर्च GPU का लाभ मिटा सकता है।

मूल स्रोत पढ़ें: NVIDIA: डेटा स्थानांतरण और मेमोरी पहुँच ↗

GB202: एक डाइ डिज़ाइन, अलग उत्पाद

दस्तावेज़ों वाला GB202 उदाहरण विशेष रूप से GeForce RTX 5090 और RTX PRO 6000 Blackwell Workstation Edition की तुलना है। इसका अर्थ यह नहीं कि सभी महँगे, डेटा-सेंटर या Blackwell GPU इसी डाइ डिज़ाइन पर बने हैं।

मूल स्रोत पढ़ें: NVIDIA: GeForce Blackwell श्वेतपत्र, तालिका 1 ↗ · NVIDIA: RTX PRO Blackwell श्वेतपत्र, परिशिष्ट A ↗

प्रकाशित संदर्भ विन्यास, कीमतें नहीं
उत्पादCUDA कोरमेमोरीमेमोरी इंटरफ़ेस
GeForce RTX 509021,76032 GB GDDR7512-बिट
RTX PRO 6000 Blackwell Workstation24,06496 GB GDDR7; विज्ञापित ECC512-बिट

मूल स्रोत पढ़ें: NVIDIA: RTX 5090 के प्रकाशित विनिर्देश ↗ · NVIDIA: RTX PRO 6000 Workstation डेटाशीट ↗

96 GB वाला उत्पाद दिखाता है कि GB202 परिवार की मूल क्षमता-सीमा 32 GB नहीं है। इससे बाज़ार के 5090 बोर्ड या फ़र्मवेयर का 96 GB अपग्रेड सिद्ध नहीं होता। पूरे उत्पाद की तुलना करें: एक डाइ डिज़ाइन होने पर भी चालू इकाइयाँ, मेमोरी, बोर्ड और समर्थित सुविधाएँ अलग हो सकती हैं।

मूल स्रोत पढ़ें: NVIDIA: GeForce Blackwell श्वेतपत्र, तालिका 1 ↗

VRAM सामान्य RAM स्लॉट जैसी क्यों नहीं है

मेमोरी कंट्रोलर कुछ निश्चित चैनल और समर्थित डिवाइस बनावट देता है। बोर्ड को तेज़ सिग्नल सही समय और विद्युत सीमा के साथ पहुँचाने, बिजली देने, गर्मी निकालने और तय मेमोरी व्यवस्था चलाने की ज़रूरत होती है। फ़र्मवेयर को समर्थित विन्यास ट्रेन और शुरू करना होता है। अधिक घनत्व वाले DRAM से बाहरी डेटा बस चौड़ी किए बिना क्षमता बढ़ सकती है, लेकिन केवल काम करने वाले और जाँचे डिज़ाइन में।

मूल स्रोत पढ़ें: Micron: GDDR7 और कंट्रोलर की अनुकूलता ↗

आर्थिक व्याख्या: उत्पाद-विभाजन में क्षमता, चालू हार्डवेयर, जाँच और सहायता को अलग ग्राहकों के लिए पैकेज किया जा सकता है। दस्तावेज़ उत्पादों के अंतर दिखाते हैं; वे यह तय नहीं करते कि कोई सीमा कितनी yield, इंजीनियरिंग खर्च, सहायता नीति या लाभ के प्रोत्साहन से आई है। इंजीनियरिंग सीमाएँ और व्यावसायिक चुनाव दोनों मायने रख सकते हैं।

GPU जोड़ने से VRAM अपने-आप एक नहीं होती

हर डिवाइस की स्थानीय मेमोरी और कंट्रोलर होते हैं। समर्थित peer-to-peer पहुँच में उपयुक्त PCIe या NVLink रास्ते से एक GPU दूसरे के डेटा तक पहुँच या स्थानांतरण कर सकता है। इसकी उपलब्धता डिवाइस, कनेक्शन की बनावट, विन्यास और सॉफ़्टवेयर पर निर्भर है। केवल लिंक लगा देने से स्थानीय VRAM का पारदर्शी, भौतिक रूप से एक पूल बनना तय नहीं होता।

मूल स्रोत पढ़ें: NVIDIA: अनेक GPU और पीयर पहुँच ↗

उदाहरण के लिए, काल्पनिक 16 GiB वाले दो GPU बिना बदले प्रोग्राम को अपने-आप स्थानीय 32 GiB का एक आवंटन नहीं देते। ऐप डेटा या मॉडल बाँटकर डिवाइसों के बीच संवाद कर सकता है; तब प्रतियाँ, बीच के बफ़र और इंटरकनेक्ट मायने रखते हैं। साझा वर्चुअल पते या managed-memory API प्रोग्राम लिखना आसान करते हैं, लेकिन दूर के लिंक को स्थानीय GDDR के समान भौतिक चैनल नहीं बना देते।

मूल स्रोत पढ़ें: NVIDIA: अनेक GPU और पीयर पहुँच ↗

कनेक्शन क्षमता का वादा नहीं है
स्तरक्या जाँचना चाहिए
भौतिकसमर्थित लिंक, रास्ता, बैंडविड्थ और मेमोरी कंट्रोलर।
प्रणालीड्राइवर, ऑपरेटिंग सिस्टम और पीयर पहुँच का समर्थन।
ऐपडेटा कहाँ है, कैसे बाँटा गया है और क्या भेजना पड़ेगा।

हल किया उदाहरण: गणना को डेटा पहुँचाना पड़ता है

मानें कि C[i] = A[i] + B[i] में 1,000,000 स्वतंत्र मान हैं और हर मान चार बाइट लेता है। सरल एक-पास मॉडल दो इनपुट पढ़ता और एक आउटपुट लिखता है: प्रति मान 12 बाइट, अर्थात कुल 12,000,000 बाइट (12 MB) डिवाइस-मेमोरी ट्रैफ़िक। यह न्यूनतम मात्रा का शिक्षण मॉडल है; इसमें कैश, लेन-देन के अतिरिक्त खर्च और होस्ट से डेटा आने-जाने को नहीं गिना गया है।

भाग, उत्पाद और ऐप को अलग समझें

  • “समान सिलिकॉन डिज़ाइन का अर्थ समान कार्ड।” बोर्ड, चालू इकाइयाँ, मेमोरी और समर्थित सुविधाएँ अलग हो सकती हैं।
  • “अधिक मेमोरी का अर्थ उसी अनुपात में अधिक गणना।” मेमोरी क्षमता और गणना थ्रूपुट अलग संसाधन हैं।
  • “API भौतिक बैंडविड्थ सीमा मिटा सकता है।” सॉफ़्टवेयर डेटा की जगह और स्थानांतरण सँभाल सकता है, लेकिन बाइट वास्तविक रास्तों से जाते हैं।

निष्कर्ष से पहले विचार जाँचें

समझ को प्रोजेक्ट से जोड़ें

पहले ऐसा एक भाग चुनें जिसे आप समझा और जाँच सकें। डिज़ाइन बढ़ाने से पहले इनपुट, अपेक्षित आउटपुट और सीमाएँ नोटबुक में लिखें।

एक लॉजिक भाग बनाएँ

चयनकर्ता या हाफ ऐडर बनाकर इनपुट का हर संयोजन जाँचें।

लॉजिक लैब खोलें →

बनाने का रास्ता जानें

जानें कि जाँचा डिज़ाइन लेआउट, निर्माण प्रक्रिया और असली हार्डवेयर तक कैसे पहुँचता है।

बनाना समझें →

ट्रांज़िस्टर, बाइनरी जोड़ या CPU निर्देश का मॉडल आजमाएँ →