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
> **************************************
> 
> 
> 

Reply via email to