Problem with MPI and CP2k
M. Brehm
brehmin... at googlemail.com
Wed Feb 19 14:35:07 UTC 2014
Hello,
currently, I am trying to get a parallel CP2k to run on the cluster of my
new institution. I have some experience in compiling MPI-parallelized CP2k.
On some other clusters before (and on my local machine) it always worked
fine. But now I am facing a problem, and am out of ideas how to solve it.
Your suggestions are appreciated.
The compilation itself works fine (GCC 4.7.1, OpenMPI, OpenBLAS, Scalapack,
Libint, LibXC, FFTW3). Executing a single process via "mpirun cp2k.popt"
also works fine. All regtests are passed.
But if I specify "mpirun -np 2 cp2k.popt" (or more than 2), it seems that
mpirun spawns independent CP2k processes, which do not see or know each
other. All output is written multiple times to stdout, and CP2k says:
"GLOBAL| Total number of message passing processes 1", which is wrong,
because there are several processes. Then, of course, it crashes, because
of this inconsistency. (The crash is "err=-300 sum of local cols not equal
global colscp_fm_struct.F")
I tried many things to fix this. Our cluster has the module system, so I
loaded all different MPI distributions which were available (OpenMPI in
several versions, MPICH2 in several versions, Intel MPI). The MPI versions
match the compiler I am using (all compiled with GCC 4.7.1). The result is
always exactly the same like described above. I also tried to compile an
own version of OpenMPI, but still the result is the same.
I wrote a small MPI test program, which just prints the number of total MPI
processes on the screen. This works fine! Other MPI-parallelized programs
are working as well. The Scalapack library has some test executables -
those also run fine in parallel, and show a nice scaling behavior. This
error only occurs in conjunction with CP2k.
Do you have any hints on the cause for this error? Any help is appreciated.
Best regards,
Martin
P.S.: The makefile I used:
CC = mpicc
CPP =
FC = mpif90
LD = mpif90
AR = ar -r
CPPFLAGS =
DFLAGS = -D__GFORTRAN -D__FFTSG -D__LIBINT -D__FFTW3 -D__LIBXC2
-D__PARALLEL -D__BLACS -D__SCALAPACK
FCFLAGS = -O3 -march=native -ffast-math -funroll-loops -g -ffree-form
-I/home/brehmm/CP2k/fftw_3.3.3/include $(DFLAGS)
LDFLAGS = $(FCFLAGS) -static-libgfortran
LIBS = libderiv.a libint.a -lstdc++ libfftw3.a libscalapack.a
libopenblas.a libxc.a
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20140219/2f6cc971/attachment.htm>
More information about the CP2K-user
mailing list