2010-10-28 16 views
6

मैं ओपन एमपीआई का उपयोग कर एक समानांतर प्रोग्राम लिख रहा हूं। मैं हिम तेंदुए 10.6.4 चला रहा हूं, और मैंने homebrew पैकेज प्रबंधक के माध्यम से ओपन एमपीआई स्थापित किया।मेरी सभी ओपन एमपीआई प्रक्रियाओं में रैंक 0 क्यों है?

जब मैं अपने कार्यक्रम mpirun -np 8 ./test का उपयोग कर चलाने के लिए, हर प्रक्रिया की रिपोर्ट यह रैंक 0 है, और का मानना ​​है कि प्रक्रियाओं की कुल संख्या 1 होने के लिए, और process rank: 0, total processes: 1 के 8 लाइनों कंसोल के लिए थूक से बाहर मिलता है।

मुझे पता है कि यह एक कोड मुद्दा नहीं है, क्योंकि सटीक उसी कोड संकलित और मेरे कॉलेज की कंप्यूटर प्रयोगशाला में कुछ उबंटू मशीनों पर अपेक्षित के रूप में चलाएगा। मैंने होमब्री के बग ट्रैकर की जांच की है, और किसी ने भी ओपन एमपीआई पैकेज के साथ कोई समस्या नहीं की है। मुझे हानि हो रही है।

+0

क्या ऐसा होता है यदि आप स्वयं स्रोत से बनाते हैं, या ओएस एक्स (हिम तेंदुए) का उपयोग ओपन-एमपीआई प्रदान करते हैं? –

+0

होमब्री के ओपन-एमपीआई को अनइंस्टॉल करने से ओएस एक्स-प्रदत्त ओपन-एमपीआई काम करने का कारण बन गया। हम्म। – aperiodic

+4

यह लगभग हमेशा एक एमपीआई वितरण के साथ संकलन का परिणाम है और (गलती से या अन्यथा) इसे दूसरे के mpirun के साथ चल रहा है। सुनिश्चित करें कि आपके सभी पथ और गतिशील लाइब्रेरी खोज पथ में केवल एक ही वितरण है। –

उत्तर

4

जांचें कि आप किस मेप्रून का आह्वान कर रहे हैं। निष्पादित किया जा रहा mpirun बाइनरी के 8 स्वतंत्र उदाहरण लॉन्च कर रहा है। तो प्रत्येक उदाहरण एक ब्रह्मांड आकार 1 और रैंक 0.

इसके अलावा, जब तक कि आप ओएस एक्स बॉक्स के क्लस्टर पर अंतिम कोड चलाने की योजना बना रहे हैं, मैं अत्यधिक वीएम में एक लिनक्स संस्करण स्थापित करने की सलाह देता हूं , & परीक्षण करने के लिए वर्चुअलबॉक्स की तरह, इन कोडों को विकसित करें।

1

मुझे लिनक्स पर सी में ओपनएमपीआई के साथ एक ही समस्या है। MPIch2 का उपयोग करके, समस्या ठीक हो गई थी (लेकिन अंत में MPI_Finalize() को चलाने के लिए याद रखें या यह अजीब हो जाता है।)

4

पिछले एमपीआई कार्यान्वयन को पूरी तरह से अनइंस्टॉल करें।

मेरे मामले में मैंने पहले एमपीआईसी 2 स्थापित किया, फिर इसे अनइंस्टॉल किया, और ओपनएमपीआई में बदल दिया। फिर एक ही मामला सामने आया, सभी प्रक्रिया 'रैंक 0 थी। मैंने इस समस्या को ठीक करने के लिए क्या किया है: एमपीआईसी 2 को पूरी तरह से अपने सिस्टम से अनइंस्टॉल करें (मैं उबंटू/डेबियन लिनक्स का उपयोग करता हूं)।

# apt-get remove mpich2 
# apt-get autoremove 
1

आज मैं आपके जैसी ही समस्या से मुलाकात की। और अंत में मुझे समाधान मिला।

एमपीआई उपयुक्त पीएमआई की जरूरत है उनके रैंक और कुछ और के बारे में बताने के लिए प्रक्रियाओं https://wiki.mpich.org/mpich/index.php/Frequently_Asked_Questions#Q:_All_my_processes_get_rank_0

सीधे शब्दों में बोल देखें, जवाब कहते हैं,। इसलिए, हमें एमपीआई प्रोग्राम चलाने के लिए संबंधित mpirun/mpiexec का उपयोग करने की आवश्यकता है।

मुझे लगता है कि आपकी समस्या mpi प्रोग्राम कंपाइलर और mpirun टूल के बीच मेल नहीं खाती है। इसलिए सभी को अनइंस्टॉल करने का प्रयास करें, और एमपीआईसी/ओपनएमपीआई इंस्टॉल करें (सुनिश्चित करें कि उनमें से एक इंस्टॉल करें)।

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