2012-05-15 12 views
20

मैं एमपीआई का उपयोग कर रहा हूं और मैं संचार लागत को मापना चाहता हूं, ताकि मैं उन्हें 'प्रसंस्करण' लागतों की तुलना कर सकूं, उदाहरण के लिए, मुझे सूची को स्कैटर करने के लिए कितना समय चाहिए एन प्रक्रियाओं और फिर इसकी तुलना करें कि मुझे इसे सॉर्ट करने के लिए कितना समय चाहिए।एमपीआई संचार लागत को मापने के लिए उपकरण

क्या कोई इस संचार लागत को मापने के लिए किसी भी उपकरण को जानता है? (उदाहरण के लिए स्कैटर)

क्या एमपीआई संचार लागतों पर माप करने के लिए कुछ भी है, उदाहरण के लिए, पीएपीआई कोड प्रदर्शन का विश्लेषण करने के लिए?

अग्रिम धन्यवाद!

उत्तर

24

हां, ऐसे कई टूल हैं। एमपीआई एक उपकरण इंटरफ़ेस है कि अन्य पुस्तकालयों अपने एमपीआई फ़ंक्शन कॉल पर खुद interject करने की अनुमति देता है परिभाषित करता है, और मायने रखता है, समय, आदि कर

एक बहुत छोटी एमपीआई रूपरेखा उपकरण mpiP है - यह में एमपीआई गतिविधि का एक बहुत ही कम सारांश देता है आपके कोड।

IPM लाइब्रेरी निर्माण करने के लिए काफी आसान है और आपको बहुत से एमपीआई गणना और समय देता है, और परिणामस्वरूप एक अच्छी HTML फ़ाइल देता है। आप पीएपीआई का जिक्र करते हैं; यदि उपलब्ध हो तो आईपीएम भी पीएपीआई काउंटर को एकीकृत करेगा। हम इसे नियमित रूप से हमारे केंद्र में उपयोग करते हैं, और मुझे लगता है कि यह आपको पसंद आएगा। यदि आपने एमपीआई के लिए गतिशील पुस्तकालयों के साथ अपना प्रोग्राम बनाया है, तो आपको इसका उपयोग करने के लिए पुनः संकलन करने की भी आवश्यकता नहीं है (एमपीपीआई की एक ही संपत्ति है)।

Jumpshot, जो एमपीआईसी 2 के साथ आता है लेकिन किसी भी एमपीआई के साथ बनाया जा सकता है, वास्तव में एक समय रेखा पर दिखाता है कि प्रत्येक एमपीआई ऑपरेशन कितना समय लगा।

OpenSpeedshop विशेष रूप से "महंगी" रेखाओं को हाइलाइट करते हुए आपके कोड के बहुत विस्तृत प्रदर्शन माप प्रदान करता है; इसमें एक एमपीआई-ट्रेसिंग मोड भी है जो कोड की रेखा से एमपीआई टाइम्स की पहचान करेगा। स्थापित करने के लिए यह मुश्किल हो सकता है।

स्पेक्ट्रम के वाणिज्यिक भाग पर टीयू ड्रेस्डेन और इंटेल ट्रेस विश्लेषक और कलेक्टर (आईटीएसी) से Vampir हैं। वाम्पिर ओपन सोर्स वैंपिरट्रेस लाइब्रेरी का उपयोग करके स्रोत-स्तर, एमपीआई और ओपनएमपी निशान एकत्र करता है जो विस्तृत घटना और काउंटर ट्रेसिंग प्रदान करने के लिए पीएपीआई के साथ एकीकृत करता है। वाम्पिरट्रेस का निशान ओपन ट्रेस प्रारूप में है जिसे वाम्पीर के अलावा कई अन्य उपकरणों द्वारा पढ़ा जा सकता है।

आईटीएसी Intel Cluster Studio XE का हिस्सा है। यह ज्यादातर इंटेल एमपीआई के साथ काम करने और वैंपिर के साथ एक ही पूर्वज कोड साझा करने के लिए डिज़ाइन किया गया है, जो समान कार्यक्षमता को कम या कम प्रदान करता है। इसकी अच्छी सुविधाओं में से एक स्वचालित स्वचालित रन-टाइम एमपीआई शुद्धता परीक्षक शामिल है।

Allinea MAP अल्लाइनिया से एक एमपीआई प्रोफाइलर है जो एक एकीकृत स्रोत ब्राउज़र के साथ प्रदर्शन विश्लेषण प्रदान करता है जो स्रोत कोड की व्यक्तिगत पंक्तियों के साथ संचार/गणना लागत प्रदर्शित करता है। यह स्मृति, सीपीयू निर्देश और संचार सहित प्रदर्शन जानकारी के उच्च स्तरीय ग्राफ भी दिखाता है।

लेकिन अन्य उच्च स्तरीय उपकरण हैं जो न केवल रिपोर्ट देते हैं, बल्कि वास्तव में सलाह देते हैं। टीएसीसी का perfexpert एक कमांड लाइन आधारित उपकरण है जो कई माप लेता है और कुछ प्रदर्शन ट्यूनिंग सलाह प्रदान करता है। Scalasca जुलिच से बाहर, आपके कोड को बहुत से स्रोत-स्तर के उपकरण के साथ पुन: संकलित करता है और लोड असंतुलन, विशेष रूप से महंगा एमपीआई सामूहिक इत्यादि को इंगित कर सकता है। यह विस्तृत ट्रेस विश्लेषण के लिए वाम्पिर के साथ एकीकृत भी कर सकता है।

+1

मैं टीयू ड्रेस्डेन और इंटेल ट्रेस विश्लेषक और कलेक्टर से [वाम्पिर] (http://www.vampir.eu/) जोड़ूंगा।दोनों एक ही पूर्वजों से उतरते हैं और एमपीआई और ओपनएमपी निशान के प्रदर्शन विश्लेषण के लिए उत्कृष्ट और परिष्कृत उपकरण हैं लेकिन दुर्भाग्यवश व्यावसायिक रूप से लाइसेंस प्राप्त हैं। स्कालास्का खुला स्रोत है लेकिन वास्तव में निम्न स्तर के विस्तृत विश्लेषण के लिए उपयुक्त नहीं है और इसके लिए यह वाम्पीर के साथ एकीकृत करता है (एकीकरण के लिए वैध वैम्पीर लाइसेंस की आवश्यकता होती है)। [एक्सएमपीआई] (http://www.lam-mpi.org/software/xmpi/) को एलएएम के साथ वितरित किया जाता था लेकिन एलएएम ओपन एमपीआई के साथ विलय होने के बाद सक्रिय रूप से विकसित नहीं होता है। –

+0

हाँ, वे महान हैं; मैंने मुख्य रूप से उन्हें नहीं जोड़ा क्योंकि वे वाणिज्यिक हैं। क्या आपको लगता है कि इसे एक समुदाय विकी में बदलने के लिए उपयोगी होगा और बस हर कोई अपने सुझाव जोड़ देगा? –

+0

वाह! आप दोनों के लिए बहुत बहुत धन्यवाद! बस एक और सवाल, क्योंकि मैं क्लस्टर में माप करना पसंद करूंगा जिसका उपयोग मैं कर रहा हूं और मेरे पास व्यवस्थापकीय अनुमतियां नहीं हैं, क्या यह मेरी निर्देशिका में से किसी एक प्रोग्राम को स्थापित करना संभव है? एमपीआईपी के अलावा जो पहले से स्थापित है। आईपीएम प्रशासन विशेषाधिकारों के बिना स्थापित करने योग्य प्रतीत होता है, क्या मैं सही हूँ? धन्यवाद! –

संबंधित मुद्दे