Hello!
I successfully builded Elmer with MPICH2, but I am getting a error when try to start ElmerSolver_mpi:
cd tests/heateq-par
mpirun -np 2 ../../bin/ElmerSolver_mpi
Fatal error in MPI_Comm_size: Invalid communicator, error stack:
MPI_Comm_size(111): MPI_Comm_size(comm=0x1, size=0xea3560) failed
MPI_Comm_size(69).: Invalid communicator
Fatal error in MPI_Comm_size: Invalid communicator, error stack:
MPI_Comm_size(111): MPI_Comm_size(comm=0x1, size=0xea3560) failed
MPI_Comm_size(69).: Invalid communicator
ELMER SOLVER (v 5.4.1) STARTED AT: 2010/03/04 18:15:31
ELMER SOLVER (v 5.4.1) STARTED AT: 2010/03/04 18:15:31
rank 0 in job 34 sgu20.se.ngrid.ru_49662 caused collective abort of all ranks
exit status of rank 0: return code 1
Non mpi version of Elmer works fine, and others program which use MPICH2 works good too.
I tried to compile both trunk and last release from svn and getting the same error.
Thank you for your help.
Problem starting ELMER with MPICH2 on 64 architecture
Problem starting ELMER with MPICH2 on 64 architecture
- Attachments
-
- config.log
- (78.62 KiB) Downloaded 428 times
Re: Problem starting ELMER with MPICH2 on 64 architecture
Solution is simple you need to use last gcc. Using of gcc 4.4.3 solved problem.
Re: Problem starting ELMER with MPICH2 on 64 architecture
Did you compile MPICH2 with shared libraries enabled ?
Re: Problem starting ELMER with MPICH2 on 64 architecture
ELMER SOLVER (v 5.4.1) STARTED AT: 2010/03/04 18:15:31
ELMER SOLVER (v 5.4.1) STARTED AT: 2010/03/04 18:15:31
Fatal error in MPI_Comm_size: Invalid communicator, error stack:
MPI_Comm_size(111): MPI_Comm_size(comm=0x1, size=0xea3560) failed
MPI_Comm_size(69).: Invalid communicator
Fatal error in MPI_Comm_size: Invalid communicator, error stack:
MPI_Comm_size(111): MPI_Comm_size(comm=0x1, size=0xea3560) failed
MPI_Comm_size(69).: Invalid communicator
I faced this problem even with 32 architecture. This problem due to the use of non-mpich2 "mpi.h" header in compiling ELMER. Maybe there is more than one MPI implementations installed in the machine. This issue can be solved by using the absolute path of the mpi: lib, bin and include directories. This scrip might be useful:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/waad/soft/MPICH2/mpich2-install/lib
ELMER SOLVER (v 5.4.1) STARTED AT: 2010/03/04 18:15:31
Fatal error in MPI_Comm_size: Invalid communicator, error stack:
MPI_Comm_size(111): MPI_Comm_size(comm=0x1, size=0xea3560) failed
MPI_Comm_size(69).: Invalid communicator
Fatal error in MPI_Comm_size: Invalid communicator, error stack:
MPI_Comm_size(111): MPI_Comm_size(comm=0x1, size=0xea3560) failed
MPI_Comm_size(69).: Invalid communicator
I faced this problem even with 32 architecture. This problem due to the use of non-mpich2 "mpi.h" header in compiling ELMER. Maybe there is more than one MPI implementations installed in the machine. This issue can be solved by using the absolute path of the mpi: lib, bin and include directories. This scrip might be useful:
- #=============================================================================
# Convenience script for getting and compiling Elmer
# (run the script by using the "source" command, e.g., "source script")
#=============================================================================
#wget 'http://elmerfem.svn.sourceforge.net/vie ... z?view=tar'
#tar xzf 'trunk.tar.gz?view=tar'
MODULE="matc umfpack mathlibs elmergrid meshgen2d eio hutiter fem post elmerparam front"
#---------------
# For testing
FEM="fem"
#-----------------------------------------------------------------------------
# Choose the installation directory:
#-----------------------------------------------------------------------------
export ELMER_HOME=/home/waad/soft/ELMER.MPI/ElmerInstall
export MPIDIR=/home/waad/soft/MPICH2/mpich2-install
export HYPRE=/home/waad/soft/HYPRE/hypre-2.0.0
export CPPFLAGS="-I$HYPRE/include"
#-----------------------------------------------------------------------------
# Choose the compilers:
#-----------------------------------------------------------------------------
export CC=mpicc
export CXX=mpicxx
export FC=mpif90
export F77=mpif90
#=============================================================================
# Compile:
#---------
for m in $MODULE; do
cd $m
chmod uog=rwx ./configure
./configure --prefix=$ELMER_HOME --with-mpi=yes --with-mpi-lib-dir=/home/waad/soft/MPICH2/mpich2-install/lib --with-mpi-inc-dir=/home/waad/soft/MPICH2/mpich2-install/include --with-mpi-bin-dir=/home/waad/soft/MPICH2/mpich2-install/bin --with-hypre="-L$HYPRE/lib -lHYPRE" --with-64bits=no
make clean
make -j 2
make install
cd ..
done
#=============================================================================
# Finally "cd fem" and "make check" to test the installation
#=============================================================================
cd $FEM
make check
cd ..
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/waad/soft/MPICH2/mpich2-install/lib