CUDA Academy · पाठ

स्टेंसिल और स्लाइडिंग विंडो

हेलो सेल के साथ पड़ोस को टाइल में बाँटें।

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

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

Stencil क्या होता है

stencil हर output की गणना inputs के एक निश्चित neighborhood से करता है, जैसे किसी pixel का उसके आसपास की cells के साथ औसत निकालना।

Sliding window

जैसे-जैसे आप array में आगे बढ़ते हैं, input window एक स्थान से slides करती है। लगातार आने वाले outputs अपने अधिकांश inputs साझा करते हैं, इसलिए reuse बहुत अधिक होता है।

Tiling के लिए आदर्श

Neighbors overlap करते हैं, इसलिए एक बार load किया गया tile many outputs के लिए उपयोगी होता है। Stencils इसका textbook उदाहरण हैं कि tiling कहाँ प्रभावी होती है।

Halo से परिचय

Tile के किनारों की गणना के लिए आपको उसके outside के कुछ elements भी चाहिए। इन अतिरिक्त border cells को halo कहा जाता है।

Halo क्यों होता है

Tile के पहले thread को अपना left neighbor चाहिए, जो previous tile का हिस्सा है। Halo cells के बिना वह read गलत होगा।

Halo का आकार निर्धारित करना

Radius-r stencil के लिए हर side पर r extra cells load करें। 3-point blur का radius 1 होता है, इसलिए हर side पर एक halo cell पर्याप्त है।

Padded tile

Shared memory को blockDim plus 2 * radius के रूप में घोषित करें, ताकि interior और दोनों halos एक व्यवस्थित buffer में समा जाएँ।

__shared__ float tile[BLOCK + 2 * RADIUS];

Interior को load करना

हर thread पहले अपने element को tile में radius offset पर load करता है, जिससे सामने left halo के लिए जगह बची रहती है।

tile[threadIdx.x + RADIUS] = in[gid];

Halos को load करना

पहले कुछ threads double duty करते हैं और block के synchronize होने से पहले left और right halo cells भी लाते हैं।

फिर Sync और Stencil

__syncthreads के बाद हर thread अपने neighbors को पूरी तरह tile से पढ़ता है और उस step के लिए global memory को फिर कभी नहीं छूता।

Reuse multiplier

अब हर interior value एक shared-memory load से 2r + 1 outputs को सेवा देती है। यही वह redundant traffic है जिसे tiling हटाती है।

त्वरित जाँच

Tiled stencil को halo cells की आवश्यकता क्यों होती है?

पुनरावलोकन

Stencils overlapping windows पर slide करते हैं, इसलिए हर side पर r अतिरिक्त cells वाला halo tile को हर output के लिए एक-एक load के साथ सेवा देने देता है। ✅

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

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

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

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

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

क्या “स्टेंसिल और स्लाइडिंग विंडो” पाठ निःशुल्क है?

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

“स्टेंसिल और स्लाइडिंग विंडो” में मैं क्या सीखूँगा?

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

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

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

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

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

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

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

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

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