CUDA Academy · पाठ

atomicAdd और इसके साथी

हार्डवेयर रीड- मॉडिफ़ाई-राइट ऑपरेशन।

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

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

एक अविभाज्य चरण

एटॉमिक ऑपरेशन किसी मान को पढ़ता, बदलता और लिखता है—एक ही ऐसे चरण में, जिसे कोई दूसरा थ्रेड बीच में रोक नहीं सकता। इससे रेस समाप्त हो जाती है। ⚛️

atomicAdd से परिचय

atomicAdd एक पॉइंटर और एक मान लेता है, उसे सुरक्षित रूप से जोड़ता है और पुराना मान लौटाता है। कई थ्रेड बिना अपडेट खोए एक ही एड्रेस तक पहुँच सकते हैं।

atomicAdd(total, 1);

रेस वाले काउंटर को ठीक करना

साधारण वृद्धि की जगह atomicAdd लगाने पर गणना हर बार सही होगी, चाहे कितने भी थ्रेड चल रहे हों।

__global__ void count(int* total) {
    atomicAdd(total, 1);
}

लौटाया गया मान उपयोगी है

atomicAdd आपके जोड़ने से पहले मौजूद मान लौटाता है। उस पुराने मान का उपयोग आप इंडेक्स या टिकट संख्या के रूप में कर सकते हैं।

int slot = atomicAdd(counter, 1);

एक पूरा परिवार

atomicAdd के कई साथी हैं: atomicSub, atomicMax, atomicMin, atomicExch, atomicAnd, atomicOr और atomicXor सभी इसी तरह एटॉमिक रूप से काम करते हैं।

एक मान बदलना

atomicExch एक ही चरण में नया मान संग्रहीत करता है और पुराना मान लौटाता है। यह फ़्लैग सुरक्षित रूप से लेने या पिछली स्थिति प्राप्त करने में उपयोगी है।

int prev = atomicExch(flag, 1);

एटॉमिक अधिकतम और न्यूनतम

atomicMax लक्ष्य को तभी अपडेट करता है जब आपका मान बड़ा हो। यह बिना रेस के सभी थ्रेडों में से वैश्विक अधिकतम खोजने के लिए उपयुक्त है।

atomicMax(best, myValue);

समर्थित प्रकार

एटॉमिक ऑपरेशन int, unsigned और नए हार्डवेयर पर float तथा double को भी संभालते हैं। हमेशा जाँचें कि आपका प्रकार और आर्किटेक्चर आपके इच्छित कॉल का समर्थन करते हैं।

एटॉमिक ऑपरेशन की कीमत होती है

एटॉमिक ऑपरेशन एक ही एड्रेस को लक्ष्य बनाने वाले थ्रेडों को क्रमिक बना देते हैं। एक स्थान पर भारी प्रतिस्पर्धा रुकावट बन जाती है, इसलिए इनका उपयोग केवल आवश्यकता होने पर करें।

भार फैलाएँ

थ्रेडों से अलग-अलग एड्रेस अपडेट करवाकर, फिर परिणाम जोड़कर प्रतिस्पर्धा घटाएँ। कम टकराव से एटॉमिक ऑपरेशन तेज़ बने रहते हैं।

एटॉमिक ऑपरेशन बनाम रिडक्शन

बड़े ऐरे का योग करने के लिए ट्री रिडक्शन अक्सर बहुत अधिक एटॉमिक ऑपरेशन से बेहतर होता है। जब अपडेट कम या अनियमित हों, तब एटॉमिक ऑपरेशन चुनें।

त्वरित जाँच

atomicAdd के व्यवहार पर अपनी समझ जाँचें।

पुनरावलोकन: atomicAdd और उसके साथी

आपने एटॉमिक परिवार से परिचय लिया, रेस वाले काउंटर को ठीक किया और सीखा कि एटॉमिक ऑपरेशन पुराना मान लौटाते हैं, लेकिन प्रतिस्पर्धा के दौरान समय लेते हैं। ✅

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

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

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

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

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

क्या “atomicAdd और इसके साथी” पाठ निःशुल्क है?

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

“atomicAdd और इसके साथी” में मैं क्या सीखूँगा?

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

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

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

“atomicAdd और इसके साथी” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. GPU पर रेस कंडीशन
  2. atomicAdd और इसके साथी
  3. हिस्टोग्राम बनाएँ
  4. atomicCAS से कस्टम एटॉमिक
← CUDA Academy पर वापस जाएँ