मैं अपने सी ++ कोड के लिए एमपीआई का उपयोग करने की योजना बना रहा हूं। मैंने अपने कंप्यूटर पर एमपीआईसी 2 स्थापित किया है। लेकिन मैं एमपीआई के बारे में ज्यादा नहीं जानता और पढ़ने के लिए कुछ सामग्री ढूंढने की उम्मीद करता हूं। मुझे आशा है कि आप विशेषज्ञ मेरे लिए कुछ अच्छे मातृभाषा की सिफारिश कर सकते हैं। किसी भी सलाह की सराहना की जाएगी।सी ++ के लिए एमपीआई सीखने के लिए सबसे अच्छा ट्यूटोरियल क्या है?
उत्तर
मुझे लगता है कि आप पहले से ही जानते हैं कि सी ++ को अच्छी तरह से प्रोग्राम कैसे करें और समानांतर प्रोग्रामिंग (या कम से कम जानें कि आप अपने कोड को समानांतर कैसे करना चाहते हैं) की बुनियादी समझ है।
मैं पहले Using MPI पुस्तक देखता हूं। एमपीआई 2 का उपयोग करना पुस्तक पर अनुवर्ती है जो एमपीआई -2 में नए बिट्स का उपयोग करने पर चर्चा करता है। दोनों पुस्तकें उन लोगों द्वारा लिखी गईं जिन्होंने एमपीआई लाइब्रेरी लिखी और मानकीकरण प्रयास की अध्यक्षता की। एमपीआई का उपयोग करने के बारे में एक अच्छी बात यह है कि यह ऑनलाइन उपलब्ध है ताकि आप इसे पैसे खर्च कर सकें :-)
मुझसे +1। एक छोटी सी समस्या, जो समस्या हो सकती है या नहीं भी हो सकती है: फोरट्रान, सी, और सी ++ नमूना कोड के बीच स्विच करता है। – stephan
मैं मानता हूं कि यह थोड़ा परेशान हो सकता है, लेकिन जब मैं पुस्तक का उपयोग कर रहा था तो मुझे यह समझने में महत्वपूर्ण नुकसान नहीं हुआ। –
Parallel Programming with MPI पीटर एस पैचेको द्वारा एक अच्छी पहचान पुस्तक है। नोट, पुस्तक सी का उपयोग करती है, लेकिन सी ++ एमपीआई बाइंडिंग का उपयोग करने के लिए यह एक आसान संक्रमण होना चाहिए।
+1 देखें यह पुस्तक एमपीआई प्रोग्रामिंग के लिए एक महान परिचय है। –
मुझे लगता है कि पुस्तक एमपीआई के साथ कार्यक्रम सीखने का एक अच्छा तरीका है। अगर आपको मेरा जवाब मिल जाए, तो आप पाएंगे कि मैं किसी भी नए एमपीआई विकास के लिए सी ++ का उपयोग करने का पक्ष नहीं लेता हूं। चूंकि आप एक समान सावधानी का उल्लेख करने में विफल रहते हैं, कोई अपवर्त नहीं है। आपको अभी भी एक सहायक टिप्पणी मिली है। ;) –
पैचेको की पुस्तक कई साल पहले लिखी गई थी। क्या यह अभी भी उपयोगी है? –
कुछ प्राप्त मैनुअल शुरू कर दिया LAM/MPI site पर पाया जा सकता
LLNL a pretty good one है।
एमपीआईसी 2 सी ++/सी में कई उदाहरणों के साथ आता है। शायद सबसे मशहूर सीपीआई है, जो समानांतर में पीआई की गणना करता है। अन्य लोगों द्वारा सुझाए गए मैनुअल/पुस्तकों के साथ कार्यक्रम के माध्यम से पढ़ें। इस तरह आप तुरंत वास्तविक कार्य कोड देखेंगे और चीजों के साथ खेलने के लिए अपने स्वयं के संशोधन कर सकते हैं।
मैं किसी भी नए विकास के लिए एमपीआई सी ++ बाइंडिंग का उपयोग करने के खिलाफ सलाह दूंगा। कार्यक्रम स्वयं सी ++ में हो सकता है, लेकिन एमपीआई लाइब्रेरी में सी इंटरफ़ेस का उपयोग करने के लिए अतिरिक्त प्रयासों का निवेश करें।
एमपीआई फोरम सी ++ बाइंडिंग को बहिष्कृत कर रहा है। इसलिए, एमपीआई के भविष्य के कार्यान्वयन शायद सी ++ के लिए समर्थन छोड़ देंगे। आम तौर पर, जब सी ++ की बात आती है तो अधिकांश कार्यान्वयन सुविधाओं पर कंजूसी होती है। मूल बातें काम करेंगे, लेकिन गतिशील प्रक्रियाओं (यानी स्पॉन) जैसी चीजें, पीएमपीआई इंटरफेस, और इसी तरह कम अच्छी तरह से समर्थित हैं।
सी और फोरट्रान बाइंडिंग सभी प्रमुख कार्यान्वयनों द्वारा उचित रूप से समर्थित हैं, और भविष्य के भविष्य में समर्थित रहेंगे।
जैसा कि @ सैमियसलेस ने बताया, एमपीआई फोरम सी ++ बाइंडिंग को कम कर रहा है। इसके कारणों में से एक यह है कि boost MPI interface एक बेहतर काम करता है।
एमपीआई: संदेश पासिंग इंटरफेस, समांतर गणना के लिए एक कंप्यूटर संचार प्रोटोकॉल। Http://en.wikipedia.org/wiki/Message_Passing_Interface –