मैं 5 आयामी जनसंख्या संतुलन मॉडल को संख्यात्मक रूप से हल करने के लिए कोड को समानांतर कर रहा हूं। वर्तमान में मेरे पास FORTRAN में एक बहुत अच्छा MPICH2 समानांतर कोड है लेकिन जब हम पैरामीटर मान बढ़ाते हैं तो वितरित मेमोरी मोड में चलाने के लिए सरणियाँ बहुत बड़ी हो जाती हैं।
मेरे पास 15 नोड्स वाले एक क्लस्टर तक पहुंच है, जहां प्रत्येक नोड में दो 8 कोर सीपीयू और 128 जीबी रैम हैं। मैं साझा मेमोरी मोड में MPI-3.0 के साथ एक प्रोग्राम चलाना लिखना चाहता हूं ताकि प्रत्येक प्रक्रिया प्रत्येक सरणी की अपनी प्रति उत्पन्न न करे।
इससे पहले कि मैं क्लस्टर पर कुछ भी चला सकूं मुझे उबंटू चलाने वाले डेस्कटॉप पर इसका परीक्षण करना होगा। यह मूल रूप से क्लस्टर का एक ब्लेड है, जिसमें दो 8 कोर सीपीयू और 128 जीबी रैम हैं। मैं उस पर अपना कोड लिखूंगा और उसका परीक्षण करूंगा, इसलिए कृपया उबंटू कंप्यूटर पर प्रोग्राम चलाने की दिशा में अपनी प्रतिक्रिया दें।
मैंने पढ़ा है कि अपने डिफॉल्ट डिस्ट्रिब्यूटेड मेमोरी मोड के बजाय ओपनएमपी जैसी साझा मेमोरी मोड में एमपीआई-3.0 को चलाने का एक तरीका है।
प्रशन:
मुझे अपना कोड कैसे बदलना होगा? क्या मुझे अन्य MPI फ़ंक्शन जैसे कॉल में जोड़ने की आवश्यकता है
MPI_WIN_ALLOCATE
?साझा मेमोरी मोड में MPI-3.0 को चलाने के लिए मैं अपना कोड कैसे संकलित करूं? यदि यह कई नोड्स से अधिक है तो क्या यह अलग होगा?
यदि आप कर सकते हैं तो कृपया नमूना संकलन स्क्रिप्ट दें। मेरे पास केवल जीएनयू कंपाइलर भी हैं। मैं जिस क्लस्टर का उपयोग करता हूं वह इंटेल कंपाइलरों का समर्थन नहीं करता है।
mpiexec -n 8 /path/to/application
अपने कंप्यूटर को नकली बनाने के लिए अपने कोड को चलाने में सक्षम होना चाहिए, यह सोचकर कि इसमें 8 अलग-अलग नोड्स हैं।