2016-06-28 14 views
5

मैं निम्न उदाहरण के लिए अपने कार्यक्रम को कम कर दिया में एक विभाजन गलती का कारण क्यों मैं MPI_Barrier पर टिप्पणी करता हूं, या प्रोग्राम को केवल एक नोड पर चलाता हूं, कोड ठीक चलता है। मैं निम्नलिखित compilers उपयोग कर रहा हूँ:MPI_Barrier सी ++

My-MacBook-Pro-2:xCode_TrapSim user$ mpiexec --version 
HYDRA build details: 
Version:         3.2 
Release Date:       Wed Nov 11 22:06:48 CST 2015 
CC:        clang  
CXX:        clang++  
F77:        /usr/local/bin/gfortran 
F90:        /usr/local/bin/gfortran 
Configure options:      '--disable-option-checking' '--prefix=/usr/local/Cellar/mpich/3.2_1' '--disable-dependency-tracking' '--disable-silent-rules' '--mandir=/usr/local/Cellar/mpich/3.2_1/share/man' 'CC=clang' 'CXX=clang++' 'FC=/usr/local/bin/gfortran' 'F77=/usr/local/bin/gfortran' '--cache-file=/dev/null' '--srcdir=.' 'CFLAGS= -O2' 'LDFLAGS=' 'LIBS=-lpthread ' 'CPPFLAGS= -I/private/tmp/mpich-20160606-48824-1qsaqn8/mpich-3.2/src/mpl/include -I/private/tmp/mpich-20160606-48824-1qsaqn8/mpich-3.2/src/mpl/include -I/private/tmp/mpich-20160606-48824-1qsaqn8/mpich-3.2/src/openpa/src -I/private/tmp/mpich-20160606-48824-1qsaqn8/mpich-3.2/src/openpa/src -D_REENTRANT -I/private/tmp/mpich-20160606-48824-1qsaqn8/mpich-3.2/src/mpi/romio/include' 
Process Manager:       pmi 
Launchers available:      ssh rsh fork slurm ll lsf sge manual persist 
Topology libraries available:   hwloc 
Resource management kernels available: user slurm ll lsf sge pbs cobalt 
Checkpointing libraries available:  
Demux engines available:     poll select 


My-MacBook-Pro-2:xCode_TrapSim user$ clang --version 
Apple LLVM version 7.3.0 (clang-703.0.31) 
Target: x86_64-apple-darwin15.5.0 
Thread model: posix 
InstalledDir:  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin 

यह है कि यह एक छोटी सी समस्या नहीं होनी चाहिए लगता है, लेकिन मैं यह पता लगा नहीं कर पा रहे। MPI_Barrier क्यों इस सरल कोड को गलती से गुजरने का कारण बनता है?

+0

मैं पुन: पेश नहीं कर सकता। आपका कोड यहां क्रैश किए बिना चलता है। – amaurea

+0

मुझे आश्चर्य नहीं है, यह एमपीआई का लगभग मामूली उदाहरण है, और फिर भी मेरे पास जो भी कंपाइलर कॉम्बो है या कुछ सहयोग नहीं कर रहा है। मैं उम्मीद कर रहा हूं कि किसी ने इससे पहले देखा होगा। – jboss

+0

एसओ में आपका स्वागत है। जबकि आपका प्रश्न अच्छी तरह से पूछा गया है, फिर भी इस मुद्दे को समझना अभी भी मुश्किल है। संभावित उत्तर है * आपके एमपीआई स्थापना * में कुछ गड़बड़ है, लेकिन यह बहुत उपयोगी नहीं है। क्या आप शायद एमपीआईआई स्थापित करने के बारे में कुछ विवरण जोड़ सकते हैं? आखिरकार पैकेज प्रदाता को एक बग रिपोर्ट (माना जाता है कि यह एक भंडार से है) अधिक आशाजनक हो सकता है। – Zulan

उत्तर

0

यह तय करना कठिन है कि आपकी स्थापना में क्या गलत है। हालांकि, अगर आप एमपीआई जायके के किसी भी उपयोग कर सकते हैं, हो सकता है आप इस एक कोशिश कर सकते हैं:

http://www.owsiak.org/?p=3492

सभी मैं कह सकता हूँ, यह खुला एमपीआई

~/opt/usr/local/bin/mpicxx -g -O0 -Wall barrierTestExec.cpp -o barrierTestExec 
~/opt/usr/local/bin/mpiexec -n 2 ./barrierTestExec 

साथ काम करता है और में भी इसका अपवाद नहीं मेरी मामला। यह वास्तव में पर्यावरण विशिष्ट लगता है।