cuda-gdb में कर्नेल को चरणबद्ध चलाना
ब्रेकपॉइंट और प्रति-थ्रेड निरीक्षण
cuda-gdb में कर्नेल को चरणबद्ध चलाना, CoddyKit पर CUDA Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह CUDA Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
cuda-gdb से परिचय
जब कोई कर्नेल गलत व्यवहार करता है, तो cuda-gdb आपको उसे रोककर उसके भीतर देखने देता है, ठीक वैसे ही जैसे gdb सामान्य CPU प्रोग्रामों के लिए करता है। 🔍
डीबग जानकारी के साथ निर्माण करें
cuda-gdb को प्रतीकों की आवश्यकता होती है, इसलिए डीबग करने से पहले अपने कर्नेल को -G के साथ संकलित करें, ताकि पूरी डिवाइस डीबग जानकारी जुड़ जाए।
nvcc -g -G vecadd.cu -o vecadd-G क्यों महत्वपूर्ण है
-G ध्वज कई अनुकूलनों को बंद कर देता है, ताकि पंक्ति संख्याएँ और चर सटीक रहें और डिवाइस कोड में चरणबद्ध तरीके से आगे बढ़ना विश्वसनीय हो।
डीबगर प्रारंभ करें
अपने बाइनरी को cuda-gdb को देकर सत्र शुरू करें, फिर डीबगर के नियंत्रण में उसे चलाने के लिए run लिखें।
cuda-gdb ./vecaddकर्नेल में ब्रेकपॉइंट लगाएँ
फ़ंक्शन का नाम देकर कर्नेल के ठीक भीतर एक ब्रेकपॉइंट लगाएँ, ताकि कोई थ्रेड वहाँ पहुँचते ही निष्पादन रुक जाए।
(cuda-gdb) break vecAddKernelकई थ्रेड, एक बार में एक रुकाव
हज़ारों थ्रेड उस ब्रेकपॉइंट तक पहुँच सकते हैं, इसलिए cuda-gdb निरीक्षण के लिए रुककर एक समय में एक थ्रेड पर ध्यान केंद्रित करता है।
पंक्ति-दर-पंक्ति आगे बढ़ें
वर्तमान पंक्ति चलाने और अगली पंक्ति पर रुकने के लिए next का उपयोग करें, ताकि अपने कर्नेल के तर्क को चरण-दर-चरण देखा जा सके।
(cuda-gdb) nextकिसी चर का निरीक्षण करें
रुके हुए कर्नेल के भीतर cuda-gdb से किसी स्थानीय चर को print करने के लिए कहकर जाँचें कि थ्रेड ने वास्तव में क्या गणना की।
(cuda-gdb) print iध्यान केंद्रित थ्रेड बदलें
cuda thread के साथ किसी विशिष्ट थ्रेड पर ध्यान ले जाएँ और ठीक उस ब्लॉक तथा लेन को चुनें जिसका निरीक्षण करना है।
(cuda-gdb) cuda block 0 thread 5अंतर्निहित सूचकांक पढ़ें
आप threadIdx और blockIdx को सामान्य चरों की तरह प्रिंट कर सकते हैं और निश्चित कर सकते हैं कि यह थ्रेड ठीक किस डेटा तत्व को संभाल रहा है।
(cuda-gdb) print threadIdx.xनिष्पादन जारी रखें
निरीक्षण पूरा होने पर continue लिखें, ताकि प्रोग्राम अगले ब्रेकपॉइंट तक या समाप्त होने तक फिर चलता रहे।
(cuda-gdb) continueत्वरित जाँच
cuda-gdb के लिए डिवाइस डीबग जानकारी कौन-सा कंपाइलर ध्वज जोड़ता है?
पुनरावलोकन
आपने -G के साथ संकलन किया, कर्नेल ब्रेकपॉइंट लगाया, पंक्तियों को चरणबद्ध तरीके से चलाया, थ्रेड बदले और सूचकांक प्रिंट किए। यही cuda-gdb की मूल प्रक्रिया है। 🎉
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “cuda-gdb में कर्नेल को चरणबद्ध चलाना” पाठ निःशुल्क है?
हाँ—“cuda-gdb में कर्नेल को चरणबद्ध चलाना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और CUDA Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“cuda-gdb में कर्नेल को चरणबद्ध चलाना” में मैं क्या सीखूँगा?
ब्रेकपॉइंट और प्रति-थ्रेड निरीक्षण आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ CUDA Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या CUDA Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर CUDA Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“cuda-gdb में कर्नेल को चरणबद्ध चलाना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस CUDA Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर CUDA Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- cuda-gdb में कर्नेल को चरणबद्ध चलाना
- memcheck से मेमोरी लीक ढूँढ़ना
- racecheck से रेस ढूँढ़ना
- synccheck से सिंक्रोनाइज़ेशन त्रुटियाँ पकड़ना