/ / OpenMPI विशिष्ट नोड्स के लिए निष्पादन योग्य निर्दिष्ट करें - एमपीआई, वितरित-कंप्यूटिंग, ओपनम्पि

OpenMPI विशिष्ट नोड्स के लिए निष्पादन योग्य निर्दिष्ट करें - mpi, वितरित-कंप्यूटिंग, openmpi

मेरे पास एक विषम कंप्यूटिंग क्लस्टर है जो मैंOpenMPI का उपयोग करके समानांतर कंप्यूटिंग कार्यों को चलाना चाहते हैं। चूंकि क्लस्टर के सभी नोड्स एक ही निष्पादन योग्य (विषम होने के कारण) नहीं चला सकते हैं, मैं कुछ नोड्स के लिए कार्यक्रम के अपने स्वयं के संस्करण को संकलित करना चाहूंगा और ओपन एमपीआई को उन नोड्स पर निष्पादन योग्य बनाना होगा। मेरा पहला सवाल यह है कि क्या OpenMPI विषम आर्किटेक्चर में इस तरह की कंप्यूटिंग को सक्षम करता है।

यदि ऐसा है, तो मेरा दूसरा सवाल यह है कि किस नोड पर चलाने के लिए कौन से निष्पादनयोग्य निर्दिष्ट करें। उदाहरण के लिए हम कहते हैं node0, node1, तथा node2 निष्पादन योग्य चला सकते हैं prog1 तथा node3, node4, तथा node5 निष्पादन योग्य चला सकते हैं prog2, कहा पे prog1 तथा prog2 एक ही कार्यक्रम है, लेकिन विभिन्न आर्किटेक्चर के लिए संकलित किया गया है mpicc या mpic++ आवरण संकलक।

यदि मैं सभी नोड्स के समानांतर इस प्रोग्राम को चलाना चाहता था, तो मैं निम्नलिखित कार्य करूंगा:

mpirun -n 3 --hosts node0,node1,node2 prog1 : -n 3 --hosts node3,node4,node5 prog2

यदि नहीं, तो मैं इस प्रभाव को प्राप्त करने के लिए क्या करूंगा? इस पोस्ट इंगित करता है कि विषम क्लस्टर कंप्यूटिंग OpenMPI द्वारा समर्थित है, लेकिन मुझे OpenMPI का निर्माण करना चाहिए --enable-heterogeneous झंडा। मुझे यकीन नहीं है कि यह कैसे करना है क्योंकि मेरे क्लस्टर में आर्कलिनक्स चल रहा है और मैंने ओपनएमपीआई स्थापित किया है pacman.

उत्तर:

उत्तर № 1 के लिए 1

नोट एक टाइपो है (--host एक अंत की आवश्यकता नहीं है s), इसलिए आपकी आज्ञा होनी चाहिए

mpirun -n 3 --host node0,node1,node2 prog1 : -n 3 --host node3,node4,node5 prog2

--enable-heterogeneous जरूरत है तो ओपन MPI को विषम पर चलाया जा सकता हैसिस्टम (उदाहरण के लिए इंटेल x86_64 (छोटा एंडियन) और एक स्पार्क 9 (बड़ा एंडियन) नोड्स) के बीच। यदि OpenMPI (ArchLinux के साथ आना) इस ध्वज के साथ कॉन्फ़िगर नहीं किया गया था, तो आपको इस पैकेज का पुनर्निर्माण करना चाहिए। एक अन्य विकल्प ओपन एमपीआई का पुनर्निर्माण करना है और इसे एक वैकल्पिक निर्देशिका में स्थापित करना है।

अंतिम लेकिन कम से कम, विषम समर्थन हल्के ढंग से परीक्षण किया गया है, और मैं आपको नवीनतम ओपन एमपी 3 3.0 श्रृंखला का उपयोग करने के लिए दृढ़ता से प्रोत्साहित करता हूं।