Are you saying that if you build and run test program 1, you see MPI_COMM_WORLD ranks of 0-(N-1), and if you build and run test program 2, you see N MPI_COMM_WORLD ranks 0?
I would run ldd on your resulting executables and verify that they are linking against the libmpi.so that they should. On Feb 26, 2014, at 3:44 AM, Wolfgang Kallies <w.kall...@mytum.de> wrote: > I had this kind of problem before, so I already checked that. The wrapper > compiler > and mpirun match. > > A very simple testprogram that I used gave me this result: > > Total sum: 0.0000000000000000 id 1 > Total sum: 1014.1131933453868 id 0 > Total sum: 0.0000000000000000 id 2 > Total sum: 0.0000000000000000 id 3 > > the makefile is appended: > > > targ=output > sources=variables.o mpitest.o > cc=mpif90 > flag= > all: dummy > > dummy: $(targ) > > $(targ): $(sources) > $(cc) $(flag) -o $(target) $@ $^ > rm *.o > > %.o: %.f90 > $(cc) -c -o $@ $^ $(flag) > > It uses the same mpirun as well as the same wrapper > compiler as the previous example. > > (Admittedly I had the problem of mismatching mpirun > and wrapper compiler before, so this testprogram > used to give me a similar result, > but after fiddling around for a forenoon, > I solved this already.) > > devel-requ...@open-mpi.org wrote: > > >> Send devel mailing list submissions to >> de...@open-mpi.org >> >> To subscribe or unsubscribe via the World Wide Web, visit >> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> or, via email, send a message with subject or body 'help' to >> devel-requ...@open-mpi.org >> >> You can reach the person managing the list at >> devel-ow...@open-mpi.org >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of devel digest..." >> >> >> Today's Topics: >> >> 1. wrapper compiler (Wolfgang Kallies) >> 2. Re: wrapper compiler (Jeff Squyres (jsquyres)) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Tue, 25 Feb 2014 10:17:12 -0000 >> From: "Wolfgang Kallies" <w.kall...@mytum.de> >> To: de...@open-mpi.org >> Subject: [OMPI devel] wrapper compiler >> Message-ID: <20140225101712.58049.3...@magellan1.ze.tum.de> >> Content-Type: text/plain; charset="us-ascii" >> >> Hello, >> >> I am currently implementing MPI in a program I use at work. >> >> The program uses Ipopt and for testing purposes I reduced it to this: >> >> program test >> use mpi >> ... >> call MPI_INIT(ierrmpi) >> call MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierrmpi) >> call MPI_COMM_SIZE(MPI_COMM_WORLD, numprocs, ierrmpi) >> >> write(*,*)'old IDs:',myid,'of process',numprocs >> if(myid.eq.0)then >> write(*,*)'new IDs:',myid,'of process',numproc >> ... >> endif >> 555 call MPI_FINALIZE(ierrmpi) >> end >> >> Using the MPI-Wrapper Compiler I got a result like this: >> >> old IDs: 0 of process 1 >> new IDs: 0 of process 1 >> old IDs: 0 of process 1 >> new IDs: 0 of process 1 >> old IDs: 0 of process 1 >> new IDs: 0 of process 1 >> old IDs: 0 of process 1 >> new IDs: 0 of process 1 >> >> Without the wrapper compiler, setting the flags manually, I get what should >> be there: >> old IDs: 3 of process 4 >> old IDs: 0 of process 4 >> new IDs: 0 of process 4 >> old IDs: 2 of process 4 >> old IDs: 1 of process 4 >> >> I am using Openmpi 1.5.4 with gfortran 4.4.7. >> >> My new old makefile, that gave me the odd results looked like this: >> >> EXECUTABLE = octopus >> NEW_FILES = variables.o test.o readxypulse.o writexypulse.o singlespin_te.o >> \ >> rotation.o readoptparam.o OCT2.o dcar2pol.o\ >> OCT2frprmninit.o OCT2frprmn.o OCT2te.o conv2uni.o\ >> OCT2grad.o OCT2linmin.o f1dim.o OCT2mnbrak.o brent.o\ >> crossproduct.o dpol2car.o readparam.o conv3uni.o\ >> ranking.o backrotation.o genpulse.o normalize.o\ >> convert2bruker.o help.o readtable.o addphase.o\ >> integrate.o car2pol.o pol2car.o\ >> Ipopt.o >> FC = mpif90 >> FFLAGS = -O3 -fomit-frame-pointer -ffixed-line-length-none >> F77LINKFLAGS = -Wl,--rpath >> -Wl,/kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/lib >> IPOPTLIBDIR = ${exec_prefix}/lib/ >> exec_prefix = ${prefix} >> prefix = /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build >> LIBS = -L$(IPOPTLIBDIR) -lipopt -ldl -lcoinmumps -lpthread -lcoinhsl >> -lcoinlapack -lcoinmetis -lcoinblas -lstdc++ -lm >> >> all: dummy >> >> dummy:$(EXECUTABLE) >> >> toinc=-I`echo >> /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/include/coin` >> >> $(EXECUTABLE):$(NEW_FILES) >> $(FC) $(F77LINKFLAGS) $(FFLAGS) $(toinc) -o $@ $^ $(LIBS) >> rm *.o *.mod >> >> %.o:%.f >> $(FC) $(FFLAGS) $(toinc) -c -o $@ $^ >> >> clean: >> rm *.o *.mod octopus >> >> The new one is provided here: >> >> >> EXECUTABLE = octopus >> NEW_FILES = variables.o test.o readxypulse.o writexypulse.o singlespin_te.o >> \ >> rotation.o readoptparam.o OCT2.o dcar2pol.o\ >> OCT2frprmninit.o OCT2frprmn.o OCT2te.o conv2uni.o\ >> OCT2grad.o OCT2linmin.o f1dim.o OCT2mnbrak.o brent.o\ >> crossproduct.o dpol2car.o readparam.o conv3uni.o\ >> ranking.o backrotation.o genpulse.o normalize.o\ >> convert2bruker.o help.o readtable.o addphase.o\ >> integrate.o car2pol.o pol2car.o\ >> Ipopt.o >> FC = gfortran >> FFLAGS = -O3 -ffixed-line-length-none -I/usr/include/openmpi-x86_64 -pthread >> -m64 -I/usr/lib64/openmpi/lib -L/usr/lib64/openmpi/lib -lmpi_f90 -lmpi_f77 >> -lmpi -ldl >> F77LINKFLAGS = -Wl,--rpath >> -Wl,/kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/lib >> IPOPTLIBDIR = ${exec_prefix}/lib/ >> exec_prefix = ${prefix} >> prefix = /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build >> LIBS = -L$(IPOPTLIBDIR) -lipopt -ldl -lcoinmumps -lpthread -lcoinhsl >> -lcoinlapack -lcoinmetis -lcoinblas -lstdc++ -lm >> >> all: dummy >> >> dummy:$(EXECUTABLE) >> >> toinc=-I`echo >> /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/include/coin` >> >> $(EXECUTABLE):$(NEW_FILES) >> $(FC) $(F77LINKFLAGS) $(FFLAGS) $(toinc) -o $@ $^ $(LIBS) >> rm *.o *.mod >> >> %.o:%.f >> $(FC) $(FFLAGS) $(toinc) -c -o $@ $^ >> >> clean: >> rm *.o *.mod octopus >> >> >> Is there a reason why I can't use the wrapper compiler? >> >> >> >> >> >> ------------------------------ >> >> Message: 2 >> Date: Tue, 25 Feb 2014 13:25:11 +0000 >> From: "Jeff Squyres (jsquyres)" <jsquy...@cisco.com> >> To: Open MPI Developers <de...@open-mpi.org> >> Subject: Re: [OMPI devel] wrapper compiler >> Message-ID: <8880daf3-9fbf-495d-9539-07cc3ebf8...@cisco.com> >> Content-Type: text/plain; charset="us-ascii" >> >> This is a classic symptom of getting the wrong wrapper compiler -- e.g., >> using an MPICH wrapper compiler but an Open MPI mpirun (or vice versa). >> Make sure that your wrapper compiler matches the mpirun that you're using -- >> e.g., check your PATH and LD_LIBRARY_PATH values. >> >> >> On Feb 25, 2014, at 5:17 AM, Wolfgang Kallies <w.kall...@mytum.de> wrote: >> >> >>> Hello, >>> >>> I am currently implementing MPI in a program I use at work. >>> >>> The program uses Ipopt and for testing purposes I reduced it to this: >>> >>> program test >>> use mpi >>> ... >>> call MPI_INIT(ierrmpi) >>> call MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierrmpi) >>> call MPI_COMM_SIZE(MPI_COMM_WORLD, numprocs, ierrmpi) >>> >>> write(*,*)'old IDs:',myid,'of process',numprocs >>> if(myid.eq.0)then >>> write(*,*)'new IDs:',myid,'of process',numproc >>> ... >>> endif >>> 555 call MPI_FINALIZE(ierrmpi) >>> end >>> >>> Using the MPI-Wrapper Compiler I got a result like this: >>> >>> old IDs: 0 of process 1 >>> new IDs: 0 of process 1 >>> old IDs: 0 of process 1 >>> new IDs: 0 of process 1 >>> old IDs: 0 of process 1 >>> new IDs: 0 of process 1 >>> old IDs: 0 of process 1 >>> new IDs: 0 of process 1 >>> >>> Without the wrapper compiler, setting the flags manually, I get what should >>> be there: >>> old IDs: 3 of process 4 >>> old IDs: 0 of process 4 >>> new IDs: 0 of process 4 >>> old IDs: 2 of process 4 >>> old IDs: 1 of process 4 >>> >>> I am using Openmpi 1.5.4 with gfortran 4.4.7. >>> >>> My new old makefile, that gave me the odd results looked like this: >>> >>> EXECUTABLE = octopus >>> NEW_FILES = variables.o test.o readxypulse.o writexypulse.o >>> singlespin_te.o \ >>> rotation.o readoptparam.o OCT2.o dcar2pol.o\ >>> OCT2frprmninit.o OCT2frprmn.o OCT2te.o conv2uni.o\ >>> OCT2grad.o OCT2linmin.o f1dim.o OCT2mnbrak.o brent.o\ >>> crossproduct.o dpol2car.o readparam.o conv3uni.o\ >>> ranking.o backrotation.o genpulse.o normalize.o\ >>> convert2bruker.o help.o readtable.o addphase.o\ >>> integrate.o car2pol.o pol2car.o\ >>> Ipopt.o >>> FC = mpif90 >>> FFLAGS = -O3 -fomit-frame-pointer -ffixed-line-length-none >>> F77LINKFLAGS = -Wl,--rpath >>> -Wl,/kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/lib >>> IPOPTLIBDIR = ${exec_prefix}/lib/ >>> exec_prefix = ${prefix} >>> prefix = /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build >>> LIBS = -L$(IPOPTLIBDIR) -lipopt -ldl -lcoinmumps -lpthread -lcoinhsl >>> -lcoinlapack -lcoinmetis -lcoinblas -lstdc++ -lm >>> >>> all: dummy >>> >>> dummy:$(EXECUTABLE) >>> >>> toinc=-I`echo >>> /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/include/coin` >>> >>> $(EXECUTABLE):$(NEW_FILES) >>> $(FC) $(F77LINKFLAGS) $(FFLAGS) $(toinc) -o $@ $^ $(LIBS) >>> rm *.o *.mod >>> >>> %.o:%.f >>> $(FC) $(FFLAGS) $(toinc) -c -o $@ $^ >>> >>> clean: >>> rm *.o *.mod octopus >>> >>> The new one is provided here: >>> >>> >>> EXECUTABLE = octopus >>> NEW_FILES = variables.o test.o readxypulse.o writexypulse.o >>> singlespin_te.o \ >>> rotation.o readoptparam.o OCT2.o dcar2pol.o\ >>> OCT2frprmninit.o OCT2frprmn.o OCT2te.o conv2uni.o\ >>> OCT2grad.o OCT2linmin.o f1dim.o OCT2mnbrak.o brent.o\ >>> crossproduct.o dpol2car.o readparam.o conv3uni.o\ >>> ranking.o backrotation.o genpulse.o normalize.o\ >>> convert2bruker.o help.o readtable.o addphase.o\ >>> integrate.o car2pol.o pol2car.o\ >>> Ipopt.o >>> FC = gfortran >>> FFLAGS = -O3 -ffixed-line-length-none -I/usr/include/openmpi-x86_64 >>> -pthread -m64 -I/usr/lib64/openmpi/lib -L/usr/lib64/openmpi/lib -lmpi_f90 >>> -lmpi_f77 -lmpi -ldl >>> F77LINKFLAGS = -Wl,--rpath >>> -Wl,/kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/lib >>> IPOPTLIBDIR = ${exec_prefix}/lib/ >>> exec_prefix = ${prefix} >>> prefix = /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build >>> LIBS = -L$(IPOPTLIBDIR) -lipopt -ldl -lcoinmumps -lpthread -lcoinhsl >>> -lcoinlapack -lcoinmetis -lcoinblas -lstdc++ -lm >>> >>> all: dummy >>> >>> dummy:$(EXECUTABLE) >>> >>> toinc=-I`echo >>> /kain/aksg3/wkallies/project-coop/Ipopt-3.10.3/build/include/coin` >>> >>> $(EXECUTABLE):$(NEW_FILES) >>> $(FC) $(F77LINKFLAGS) $(FFLAGS) $(toinc) -o $@ $^ $(LIBS) >>> rm *.o *.mod >>> >>> %.o:%.f >>> $(FC) $(FFLAGS) $(toinc) -c -o $@ $^ >>> >>> clean: >>> rm *.o *.mod octopus >>> >>> >>> Is there a reason why I can't use the wrapper compiler? >>> >>> >>> >>> _______________________________________________ >>> devel mailing list >>> de...@open-mpi.org >>> http://www.open-mpi.org/mailman/listinfo.cgi/devel >>> >>> >> >> >> -- >> Jeff Squyres >> jsquy...@cisco.com >> For corporate legal information go to: >> http://www.cisco.com/web/about/doing_business/legal/cri/ >> >> >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> devel mailing list >> de...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/devel >> >> ------------------------------ >> >> End of devel Digest, Vol 2631, Issue 1 >> ************************************** >> >> >> > _______________________________________________ > devel mailing list > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/