कम्प्यूट कर्नेल की रचना
वह आंतरिक तीव्र लूप जो वास्तविक काम करता है।
कम्प्यूट कर्नेल की रचना, CoddyKit पर Mojo Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Mojo Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कर्नेल क्या होता है
कंप्यूट kernel वह छोटा, केंद्रित रूटीन है जो वास्तविक संख्यात्मक काम करता है, जैसे दो ऐरे को तत्व-दर-तत्व जोड़ना।
हॉट आंतरिक लूप
किसी kernel का अधिकांश समय एक चुस्त आंतरिक लूप में लगता है। उस लूप को तेज़ करने से पूरा प्रोग्राम तेज़ हो जाता है।
for i in range(n):
out[i] = a[i] + b[i]इनपुट और आउटपुट
एक साफ़ kernel अपने डेटा बफ़र को पैरामीटर के रूप में लेता है, इसलिए वही रूटीन आपके दिए हुए किसी भी ऐरे पर चल सकती है।
fn add(a: UnsafePointer[Float32], b: UnsafePointer[Float32], out: UnsafePointer[Float32], n: Int):
passसख्ती के लिए fn का उपयोग करें
Kernel को def के बजाय fn से लिखें। सख्त, टाइप की हुई शैली Mojo को बिना अनपेक्षित परिणामों के चुस्त मशीन कोड कंपाइल करने देती है।
fn kernel(n: Int):
passबॉडी छोटी रखें
सबसे तेज़ kernel एक ही काम करते हैं। छोटी और अनुमानित आंतरिक बॉडी को कंपाइलर आक्रामक रूप से अनुकूलित कर सकता है।
अंदर कोई अनपेक्षित काम न रखें
हॉट लूप में आवंटन या इनपुट/आउटपुट जैसे भारी काम से बचें। अधिकतम थ्रूपुट के लिए हर पुनरावृत्ति सस्ती और एकरूप होनी चाहिए।
काम की गिनती करें
कुल ऑपरेशन के रूप में सोचें। n तत्वों पर चलने वाला kernel लगभग n इकाई का काम करता है, इसलिए लागत n पर निर्भर करती है।
मेमोरी सीमा है
कई kernel कंप्यूट से सीमित नहीं, बल्कि मेमोरी से सीमित होते हैं। वे डेटा की प्रतीक्षा करते हैं, इसलिए बाइट्स को कैसे स्थानांतरित करते हैं, यह अक्सर सबसे महत्वपूर्ण होता है।
वेक्टराइज़ करने की योजना बनाएँ
लूप को इस तरह डिज़ाइन करें कि बाद में हर चरण में SIMD के साथ कई तत्वों को संभाला जा सके। नियमित ऐक्सेस पैटर्न से वेक्टराइज़ करना आसान होता है।
एक छोटा Saxpy kernel
एक पारंपरिक kernel saxpy है: out = scale times a plus b। यह छोटा और नियमित है तथा अनुकूलन के लिए एक बेहतरीन आधार-मान है।
for i in range(n):
out[i] = scale * a[i] + b[i]ट्यून करने से पहले मापें
सरल और सही संस्करण से शुरू करके उसका समय मापें। इसके बाद होने वाले हर अनुकूलन के लिए यही संख्या आपका आधार-मान होगी।
त्वरित जाँच
आप किसी kernel को अनुकूलित करने वाले हैं। उसके लगभग पूरे समय का उपयोग कहाँ होता है?
पुनरावलोकन
kernel एक छोटा fn है जिसका चुस्त आंतरिक लूप काम करता है; उसे एकरूप रखें, मेमोरी का ध्यान रखें और पहले आधार-मान मापें। 🔧
एआई शिक्षक के साथ Mojo सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “कम्प्यूट कर्नेल की रचना” पाठ निःशुल्क है?
हाँ — Mojo Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “कम्प्यूट कर्नेल की रचना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“कम्प्यूट कर्नेल की रचना” में मैं क्या सीखूँगा?
वह आंतरिक तीव्र लूप जो वास्तविक काम करता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Mojo Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Mojo Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Mojo Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“कम्प्यूट कर्नेल की रचना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Mojo Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Mojo Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- कम्प्यूट कर्नेल की रचना
- SIMD को लूप के साथ संयोजित करना
- मेमोरी ट्रैफ़िक घटाना
- कैश स्थानीयता के लिए टाइलिंग