Hi all,

I have compiled the Siesta following the LeRoux mini-howto and the software 
run perfect when isn't running with "mpiexec".

When i use the commands: "mpd --ncpus=4& ; mpiexec -n 2 siesta <INFILE.FDF> 
OUTFILE.OUT" the process are executed but i receive errors messages like 
this:

#mpiexec -n 2 siesta <cnt_6-6.fdf>saida.out
[cli_0]: aborting job:
Fatal error in MPI_Reduce: Invalid MPI_Op, error stack: 
MPI_Reduce(850).............: MPI_Reduce(sbuf=0x7fff9516c9b8, 
rbuf=0x7fff9516c9c8, count=1, MPI_2DOUBLE_PRECISION, MPI_MAXLOC, root=0, 
MPI_COMM_WORLD) failed
MPIR_MAXLOC_check_dtype(217): MPI_Op MPI_MAXLOC operation not defined for this 
datatype
[cli_1]: aborting job:
Fatal error in MPI_Reduce: Invalid MPI_Op, error stack:
MPI_Reduce(850).............: MPI_Reduce(sbuf=0x7ffffe5b5df8, 
rbuf=0x7ffffe5b5e08, count=1, MPI_2DOUBLE_PRECISION, MPI_MAXLOC, root=0, 
MPI_COMM_WORLD) failed
MPIR_MAXLOC_check_dtype(217): MPI_Op MPI_MAXLOC operation not defined for this 
datatype

I'm confuse with that errors messages, because i search on Google and i can 
found a answer on how to get ride od this errors.

To complete the information, i have compiled MPICH2 with ifort/icc and this 
configure comand: /configure --prefix=/opt/cluster/mpich2 FC=ifort F90=ifort 
F77=ifort CC=icc CXX=icc FFLAGS="-O3 -axT -openmp" 
CFLAGS="-O3 -axT -openmp" --enable-mpe  --with-device=ch3:ssm

The blas and lapack libs using:

FORTRAN  = mpif90
OPTS     = -O3 -axT
DRVOPTS  = $(OPTS)
NOOPT    = -O0
LOADER   = mpif90

The BLACS lib:

   F77            = mpif77
   F77NO_OPTFLAGS = -O0
   F77FLAGS       = -O3 -axT
   F77LOADER      = $(F77)
   F77LOADFLAGS   =
   CC             = mpicc
   CCFLAGS        = -O3 -axT
   CCLOADER       = $(CC)
   CCLOADFLAGS    =

The Scalapack Lib:

USEMPI        = -DUsingMpiBlacs
SMPLIB        = /opt/cluster/mpich2/lib/libmpich.a
BLACSFINIT    = $(BLACSdir)/blacsF77init_MPI-LINUX-0.a
BLACSCINIT    = $(BLACSdir)/blacsCinit_MPI-LINUX-0.a
BLACSLIB      = $(BLACSdir)/blacs_MPI-LINUX-0.a
TESTINGdir    = $(home)/TESTING
F77           = mpif77
CC            = mpicc
NOOPT         = -O0
F77FLAGS      = -O3 -axT
DRVOPTS       = $(F77FLAGS)
CCFLAGS       = -O3 -axT
SRCFLAG       =
F77LOADER     = $(F77)
CCLOADER      = $(CC)
F77LOADFLAGS  =
CCLOADFLAGS   =
CDEFS         = -DAdd_ -DNO_IEEE $(USEMPI)
SCALAPACKLIB  = $(home)/libscalapack.a
BLASLIB       = /opt/cluster/libs/blas_LINUX.a
LAPACKLIB     = /opt/cluster/libs/lapack_LINUX.a

And finally Siesta-2.0.1:

.SUFFIXES :
.SUFFIXES : .f .F .o .a .f90 .F90
SIESTA_ARCH=x86_64-pc-linux-gnu-Intel
FPP=
FPP_OUTPUT=
FC=/opt/cluster/mpich2/bin/mpif90
F90=/opt/cluster/mpich2/bin/mpif90
F75=/opt/cluster/mpich2/bin/mpif90
CC=/opt/cluster/mpich2/bin/mpicc
CXX=/opt/cluster/mpich2/bin/mpicxx
RANLIB=ranlib
#RANLIB=echo
SYS=nag
SP_KIND=4
DP_KIND=8
KINDS=$(SP_KIND) $(DP_KIND)
FFLAGS=-g -w -O3 -axT -openmp -parallel
CCFLAGS=-g -w -O3 -axT -openmp -parallel
FPPFLAGS= -DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORT -DGRID_DP
LDFLAGS= -Vaxlib -static -ipo
ARFLAGS_EXTRA=
FCFLAGS_fixed_f=
FCFLAGS_free_f90=
FPPFLAGS_fixed_F=
FPPFLAGS_free_F90=
FFLAGS_DEBUG= -g
HOME_LIB=/opt/cluster/libs
BLAS_LIBS=$(HOME_LIB)/libblas.a
LAPACK_LIBS=$(HOME_LIB)/liblapack.a
BLACS_LIBS=$(HOME_LIB)/libblacsCinit.a $(HOME_LIB)/libblacsF77init.a 
$(HOME_LIB)/libblacs.a
SCALAPACK_LIBS=$(HOME_LIB)/libscalapack.a
NETCDF_LIBS=
LIBS= $(GUIDE) $(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS) 
$(NETCDF_LIBS) -lpthread -lmpich -openmp -parallel
#SIESTA needs an F90 interface to MPI
#This will give you SIESTA's own implementation
#If your compiler vendor offers an alternative, you may change
#to it here.
MPI_HOME=/opt/cluster/mpich2/
MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=$(MPI_HOME)/include
MPI_LIB=$(MPI_HOME)/lib
DEFS_MPI=-DMPI
#Dependency rules are created by autoconf according to whether
#discrete preprocessing is necessary or not.
.F.o :
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) $(FPPFLAGS_fixed_F) -lmpich 
$<
.F90.o :
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FPPFLAGS) 
$(FPPFLAGS_free_F90) -lmpich $<
.f.o :
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_fixed_f) -lmpich $<
.f90.o :
        $(FC) -c $(FFLAGS) $(INCFLAGS) $(FCFLAGS_free_f90) -lmpich $<


Any help? 

Thank you very much,

Rod

Reply via email to