वार्प, लेन और मास्क
32-थ्रेड इकाई और सक्रिय मास्क।
वार्प, लेन और मास्क, CoddyKit पर CUDA Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह CUDA Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
थ्रेड वार्प में चलते हैं
GPU थ्रेड को एक-एक करके शेड्यूल नहीं करता। वह उन्हें 32 थ्रेड वाले वार्प में समूहित करता है, जो साथ-साथ चलते हुए एक ही निर्देश को लॉकस्टेप में निष्पादित करते हैं।
32 क्यों महत्वपूर्ण है
NVIDIA हार्डवेयर पर एक वार्प में हमेशा 32 थ्रेड होते हैं। यही निष्पादन की वास्तविक इकाई है, इसलिए अच्छे कर्नेल अकेले थ्रेड के बजाय 32 के समूहों में सोचते हैं।
हर थ्रेड एक लेन है
वार्प के भीतर हर थ्रेड की 0 से 31 तक एक स्थिति होती है, जिसे उसकी लेन कहते हैं। लेन आईडी से वार्प प्रिमिटिव जानते हैं कि कौन किससे बात कर रहा है।
int lane = threadIdx.x % 32;लेन आईडी ढूँढना
आप इसे गणना करने के बजाय एक विशेष रजिस्टर से सीधे पढ़ सकते हैं। laneid रजिस्टर वर्तमान थ्रेड के लिए हमेशा 0 से 31 तक का मान रखता है।
लॉकस्टेप में एक पेच है
हर वार्प के लिए एक ही प्रोग्राम काउंटर साझा होता है। जब कोई if लेनों को अलग-अलग रास्तों पर भेजता है, तो वार्प विचलित हो जाता है और हर रास्ते को बारी-बारी से चलाता है, जिससे गति घटती है।
सक्रिय मास्क
हर लेन हमेशा नहीं चल रही होती। 32-बिट का मास्क बताता है कि इस समय कौन-सी लेन सक्रिय हैं; भाग लेने वाली हर लेन के लिए एक बिट 1 होता है।
मास्क क्यों होते हैं
विचलन के बाद केवल कुछ लेन सक्रिय रहती हैं। वार्प प्रिमिटिव को ठीक-ठीक पता होना चाहिए कि कौन उपस्थित है, इसलिए सही ढंग से काम करने के लिए उन्हें सक्रिय मास्क दीजिए।
पूर्ण मास्क
जब आपको निश्चित हो कि सभी 32 लेन सक्रिय हैं, तो मास्क 0xffffffff होता है और हर बिट सेट रहती है। यह पूर्ण मास्क सबसे सामान्य मान है जिसे आप पास करेंगे।
unsigned mask = 0xffffffff;सुरक्षित ढंग से मास्क बनाना
किसी शाखा के भीतर मास्क का अनुमान मत लगाइए। इस बिंदु तक अभी पहुँची हुई लेनों को ठीक-ठीक दर्ज करने के लिए activemask कॉल कीजिए।
unsigned mask = __activemask();लेन बिना स्मृति के बात करती हैं
सबसे बड़ा लाभ यह है कि एक वार्प की लेन रजिस्टरों के माध्यम से सीधे डेटा का आदान-प्रदान कर सकती हैं। वार्प-स्थानीय आदान-प्रदान के लिए न साझा स्मृति चाहिए, न बाधाएँ।
सिंक का अर्थ वार्प है
इन इंट्रिंसिक में लगा sync प्रत्यय वार्प-स्तरीय समन्वय है, ब्लॉक बाधा नहीं। यह केवल आपके दिए मास्क में नामित लेनों का समन्वय करता है।
त्वरित जाँच
याद कीजिए कि वार्प क्या होता है और NVIDIA GPU में उसका आकार कितना होता है।
पुनरावलोकन
वार्प 32 लेनों का समूह है जो लॉकस्टेप में चलता है, और मास्क बताता है कि कौन सक्रिय है। यही आधार लेनों को तेज़ी से डेटा साझा करने देता है। अगला विषय: रिडक्शन के लिए शफल। ✨
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “वार्प, लेन और मास्क” पाठ निःशुल्क है?
हाँ—“वार्प, लेन और मास्क” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और CUDA Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“वार्प, लेन और मास्क” में मैं क्या सीखूँगा?
32-थ्रेड इकाई और सक्रिय मास्क। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ CUDA Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या CUDA Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर CUDA Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“वार्प, लेन और मास्क” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस CUDA Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर CUDA Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- वार्प, लेन और मास्क
- रिडक्शन के लिए __shfl_down_sync
- बैलेट और वोट फ़ंक्शन
- सहकारी समूह