CUDA Academy · पाठ

लोड-सिंक-कम्प्यूट पैटर्न

टाइल पर गणना करने से पहले उसे चरणबद्ध रूप से लोड करें।

पाठ 2, कुल 4 में से13 चरण

लोड-सिंक-कम्प्यूट पैटर्न, CoddyKit पर CUDA Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह CUDA Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

तीन सरल चरण

हर kernel में tiling की एक ही लय होती है: tile को shared memory में load करें, sync करें, फिर तेज़ copy से compute करें।

चरण एक: Load

load चरण में हर thread global memory से एक element पढ़कर उसे shared-memory tile में रखता है, जिसे उसका पूरा block देख सकता है।

tile[threadIdx.x] = in[globalIndex];

सहयोगी प्रयास

Loading एक team job है। हर thread अपना हिस्सा लाता है, इसलिए पूरा block मिलकर एक full tile को एक ही coalesced pass में तैयार करता है।

चरण दो: Sync

किसी neighbor का मान पढ़ने से पहले सभी threads को loading पूरी करनी होगी। __syncthreads वह barrier है जो सुनिश्चित करता है कि tile तैयार है।

__syncthreads();

Sync अनिवार्य क्यों है

Barrier छोड़ देने पर कोई thread tile के ऐसे slot को पढ़ सकता है जिसे उसके neighbor ने अभी लिखा ही न हो। यह race है और गलत results देता है। 💥

चरण तीन: Compute

अब हर मान chip पर मौजूद है। compute चरण में threads tile entries को स्वतंत्र रूप से पढ़ते हैं, क्योंकि shared memory global memory से कई गुना तेज़ है।

तेज़ पुनः उपयोग का लाभ

Tile shared memory में रहता है, इसलिए एक बार load किया गया मान कई threads द्वारा लगभग no extra cost पर फिर से उपयोग किया जाता है। पूरा लाभ यही है।

कभी-कभी फिर Sync करें

यदि compute चरण अगले step के लिए उसी tile में वापस लिखता है, तो उन slots का पुनः उपयोग करने से पहले एक second __syncthreads जोड़ें।

सभी threads या कोई नहीं

Block के हर thread को __syncthreads तक पहुँचना आवश्यक है। यदि कुछ threads किसी branch के भीतर इसे छोड़ देते हैं, तो kernel deadlock हो सकता है या गलत ढंग से काम कर सकता है।

पुनः उपयोग योग्य ढाँचा

Load, sync, compute एक template है, जिसका उपयोग आप इस category में convolutions, matrix multiply और reductions के लिए बार-बार करेंगे।

Tile size पर ध्यान दें

Shared tile को block में समा जाना चाहिए। Tile width आमतौर पर blockDim के बराबर होती है, इसलिए हर thread के पास load और reuse करने के लिए ठीक एक slot होता है।

त्वरित जाँच

Load और compute के बीच __syncthreads की आवश्यकता क्यों है?

पुनरावलोकन

Tiling का क्रम load, sync, compute है: tile को मिलकर तैयार करें, उसके पूरा होने के लिए barrier लगाएँ, फिर chip पर उसका तेज़ी से पुनः उपयोग करें। ✅

शुरुआत निःशुल्क

एआई शिक्षक के साथ C++ सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “लोड-सिंक-कम्प्यूट पैटर्न” पाठ निःशुल्क है?

हाँ—“लोड-सिंक-कम्प्यूट पैटर्न” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और CUDA Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“लोड-सिंक-कम्प्यूट पैटर्न” में मैं क्या सीखूँगा?

टाइल पर गणना करने से पहले उसे चरणबद्ध रूप से लोड करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ CUDA Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या CUDA Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर CUDA Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“लोड-सिंक-कम्प्यूट पैटर्न” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस CUDA Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर CUDA Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. डेटा पुनः उपयोग की समस्या
  2. लोड-सिंक-कम्प्यूट पैटर्न
  3. स्टेंसिल और स्लाइडिंग विंडो
  4. किनारे की टाइल संभालें
← CUDA Academy पर वापस जाएँ