मेरे पास एक विषम कंप्यूटिंग क्लस्टर है जो मैं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 श्रृंखला का उपयोग करने के लिए दृढ़ता से प्रोत्साहित करता हूं।