parallelize फ़ंक्शन
लूप के पुनरावृत्ति-चरण अलग-अलग थ्रेड पर चलाइए।
parallelize फ़ंक्शन, CoddyKit पर Mojo Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Mojo Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एक कोर पर्याप्त नहीं है
एक साधारण लूप केवल एक कोर पर चलता है, जबकि बाकी कोर खाली रहते हैं। भारी काम के लिए इससे आपके CPU का अधिकांश भाग व्यर्थ जाता है।
for i in range(n):
out[i] = heavy(i)काम बाँटें
समानांतरता का अर्थ है लूप के अलग-अलग पुनरावृत्तियों को अलग-अलग कोर को सौंपना, ताकि वे सभी एक ही समय पर काम करें। 🧵
parallelize से परिचित हों
Mojo का parallelize सहायक आपके लिए लूप के शरीर को कई थ्रेड में चलाता है, इसलिए आपको थ्रेड की व्यवस्था स्वयं नहीं करनी पड़ती।
from algorithm import parallelizeकाम का क्लोज़र
आप एक छोटा फ़ंक्शन लिखते हैं, जो एक इंडेक्स के लिए काम करता है। Mojo उसे हर पुनरावृत्ति के लिए एक बार, कई बार बुलाता है।
fn work(i: Int):
out[i] = heavy(i)क्लोज़र को पैरामीटर के रूप में दें
क्लोज़र सामान्य कॉल आर्ग्युमेंट के रूप में नहीं, बल्कि वर्गाकार कोष्ठकों में कंपाइल-समय के पैरामीटर के रूप में जाता है। Mojo उसके अनुसार विशेषीकृत रूप तैयार करता है।
parallelize[work](n)गणना रनटाइम पर होती है
कोष्ठकों में दी गई संख्या बताती है कि कितने कार्य-आइटम चलाने हैं। यह गणना एक साधारण रनटाइम मान होती है।
parallelize[work](num_items)मशीन से कोर की संख्या पूछें
आपके पास काम बाँटने के लिए कितने वास्तविक कोर हैं, यह जानने हेतु sys मॉड्यूल से num_physical_cores का उपयोग करें।
from sys import num_physical_coresकार्यकर्ता की संख्या सीमित करें
एक वैकल्पिक दूसरा आर्ग्युमेंट एक साथ चलने वाले workers की संख्या तय करता है। इसे अपने कोर की संख्या के बराबर रखना अक्सर सबसे अच्छा रहता है।
parallelize[work](n, num_physical_cores())हर कॉल स्वतंत्र होती है
parallelize यह मानता है कि कार्य-आइटम एक-दूसरे के क्रम पर निर्भर नहीं हैं। हर कॉल को अपने आप में पूर्ण होना चाहिए।
भारी लूप के लिए सबसे अच्छा
जब हर आइटम वास्तविक काम करता है, तब समानांतरता सबसे अधिक लाभ देती है। बहुत छोटे लूप में थ्रेड का अतिरिक्त खर्च बचत से अधिक हो सकता है।
गति-वृद्धि को मापें
समानांतर करने से पहले और बाद में लूप का समय मापें। एक वास्तविक प्रदर्शन-परीक्षण बताएगा कि अतिरिक्त थ्रेड से सचमुच लाभ हुआ या नहीं।
त्वरित जाँच
आप Mojo में एक लूप के शरीर को कई CPU कोर पर चलाना चाहते हैं।
पुनरावलोकन
आप parallelize आयात करते हैं, प्रति-आइटम क्लोज़र को वर्गाकार कोष्ठक वाले पैरामीटर के रूप में और गणना को कोष्ठकों में देते हैं, फिर वास्तविक गति-वृद्धि के लिए कार्यकर्ताओं की संख्या अपने कोर के अनुसार तय करते हैं। 🚀
एआई शिक्षक के साथ Mojo सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “parallelize फ़ंक्शन” पाठ निःशुल्क है?
हाँ — Mojo Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “parallelize फ़ंक्शन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Mojo Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“parallelize फ़ंक्शन” में मैं क्या सीखूँगा?
लूप के पुनरावृत्ति-चरण अलग-अलग थ्रेड पर चलाइए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Mojo Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Mojo Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Mojo Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“parallelize फ़ंक्शन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Mojo Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Mojo Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- parallelize फ़ंक्शन
- कार्य को खंडों में बाँटना
- समानांतर और वेक्टर को संयोजित करना
- डेटा रेस से बचना