समय-मापन और सिंक के लिए इवेंट
कार्य का समय मापने और क्रम तय करने के लिए cudaEvent।
समय-मापन और सिंक के लिए इवेंट, CoddyKit पर CUDA Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह CUDA Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
इवेंट क्या है
CUDA का इवेंट एक चिह्न होता है जिसे आप स्ट्रीम में रखते हैं। GPU उस बिंदु तक पहुँचने का समय दर्ज करता है, जिससे आप काम का समय माप और उसका क्रम तय कर सकते हैं। ⏱️
इवेंट हैंडल
इवेंट में स्ट्रीम की तरह cudaEvent_t हैंडल का उपयोग होता है। काम पूरा होने पर इसे बनाएँ, दर्ज करें, जाँचें और नष्ट करें।
cudaEvent_t start, stop;इवेंट बनाना
आवश्यक हर इवेंट के लिए cudaEventCreate कॉल करें। समय मापने के लिए आम तौर पर दो इवेंट चाहिए: एक काम से पहले और दूसरा उसके बाद।
cudaEventCreate(&start);
cudaEventCreate(&stop);इवेंट दर्ज करना
cudaEventRecord इवेंट को स्ट्रीम में रखता है। GPU उसे उसी क्षण दर्ज करता है जब उससे पहले कतार में रखा सारा काम पूरा हो जाता है।
cudaEventRecord(start, stream);कर्नेल का समय मापना
आरंभ दर्ज करें, अपना कर्नेल लॉन्च करें और फिर उसी स्ट्रीम में समाप्ति दर्ज करें। दोनों के बीच का अंतर GPU का वास्तविक निष्पादन समय है।
cudaEventRecord(start, s);
kernel<<<g, b, 0, s>>>(d);
cudaEventRecord(stop, s);इवेंट की प्रतीक्षा
इवेंट अतुल्यकालिक होते हैं, इसलिए होस्ट को प्रतीक्षा करनी पड़ती है। cudaEventSynchronize तब तक रोकता है जब तक दिया गया इवेंट GPU पर वास्तव में दर्ज न हो जाए।
cudaEventSynchronize(stop);बीता हुआ समय मापना
cudaEventElapsedTime दो दर्ज किए गए इवेंट के बीच का समय मिलीसेकंड में लौटाता है। यह होस्ट पर CPU की घड़ी से कहीं अधिक सटीक है।
float ms;
cudaEventElapsedTime(&ms, start, stop);CPU की घड़ी क्यों नहीं
होस्ट टाइमर लॉन्च का अतिरिक्त समय भी गिनते हैं और वास्तविक GPU समय को सही ढंग से नहीं माप पाते। इवेंट स्ट्रीम के अंदर होते हैं, इसलिए वे ठीक वही दर्ज करते हैं जो डिवाइस ने किया।
स्ट्रीम के बीच क्रम तय करना
इवेंट स्ट्रीम को भी समकालित कर सकते हैं। cudaStreamWaitEvent एक स्ट्रीम को तब तक रोकता है जब तक दूसरी स्ट्रीम में दर्ज इवेंट घटित न हो जाए।
cudaStreamWaitEvent(streamB, eventA, 0);निर्भरताएँ बनाना
स्ट्रीम-प्रतीक्षा-इवेंट के माध्यम से आप एक निर्भरता व्यक्त करते हैं: streamB अपना काम तभी शुरू करती है जब streamA अपने इवेंट तक पहुँच जाए, और होस्ट रुकता भी नहीं।
इवेंट की सफ़ाई
जिन इवेंट की आवश्यकता नहीं है, उन्हें cudaEventDestroy से मुक्त करें। स्ट्रीम की तरह ये भी कम संसाधन लेते हैं, लेकिन लंबे समय तक चलने वाले ऐप में इन्हें लीक नहीं होने देना चाहिए।
cudaEventDestroy(start);
cudaEventDestroy(stop);त्वरित जाँच
कौन-सा फ़ंक्शन दो इवेंट के बीच का समय देता है?
पुनरावलोकन
इवेंट आपको GPU के काम का सटीक समय मापने और एक स्ट्रीम के बाद दूसरी का क्रम तय करने देते हैं। ये साथ-साथ चलने वाले काम को मापने और समन्वित करने का आपका उपकरण हैं। 🎯
एआई शिक्षक के साथ C++ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “समय-मापन और सिंक के लिए इवेंट” पाठ निःशुल्क है?
हाँ—“समय-मापन और सिंक के लिए इवेंट” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और CUDA Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। CUDA Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“समय-मापन और सिंक के लिए इवेंट” में मैं क्या सीखूँगा?
कार्य का समय मापने और क्रम तय करने के लिए cudaEvent। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ CUDA Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या CUDA Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर CUDA Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“समय-मापन और सिंक के लिए इवेंट” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस CUDA Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर CUDA Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- डिफ़ॉल्ट स्ट्रीम का जाल
- स्ट्रीम बनाएँ और उपयोग करें
- समय-मापन और सिंक के लिए इवेंट
- कॉपी और गणना को ओवरलैप करें