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/

Reply via email to