Dear all, 

I’ve recently compiled a parallel version of siesta 4.0b-485 using openmpi 
1.10.3, and I’m seeing horrible parallel performances. I was previously 
building siesta with  openmpi 1.6.x (on another box though) and clearly didn’t 
get the same behaviour. For instance, when running Tests/si001, here is the 
timing I get when using mpirun -np 1 (serial): 

Start of run             0.000
-------------- end of scf step             1.384
-------------- end of scf step             1.589
-------------- end of scf step             1.782
-------------- end of scf step             1.987
-------------- end of scf step             2.191
etc

And when using mpirun -np 2 (parallel): 

Start of run             0.000
-------------- end of scf step            17.349
-------------- end of scf step            32.758
-------------- end of scf step            48.386
-------------- end of scf step            64.036
-------------- end of scf step            80.265
etc

I’ve used manually compiled from sources openblas 0.2.18, lapack 3.4.2, openmpi 
1.10.3, and scalapack 2.0.2. I’m also using manually compiled gcc 4.8.3. I did 
run some scalapack tests, the ones included under scalapack-2.0.2/BLACS/TESTING 
and scalapack-2.0.2/TESTING, and things were apparently going well (even if 
it’s hard to have a feeling on the timing). 

Here are chunks of my arch.make which could be relevant: 

FC=/home/afl/local/opt/openmpi/1.10.3/bin/mpif90
FFLAGS=-O2
FPPFLAGS= -DMPI -DFC_HAVE_FLUSH -DFC_HAVE_ABORT

BLAS_LIBS=/home/afl/local/opt/openblas/lib/libopenblas.so
LAPACK_LIBS=/home/afl/local/opt/lapack/lib/liblapack.so

BLACS_LIBS=
SCALAPACK_LIBS=-L/home/afl/local/opt/scalapack/lib -lscalapack

LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(LAPACK_LIBS) $(BLAS_LIBS)

MPI_INTERFACE=libmpi_f90.a
MPI_INCLUDE=/home/afl/local/opt/openmpi/1.10.3/include/
DEFS_MPI = -DMPI

Any ideas? Experience on building scalapack with a recent version of openmpi? 
Am I obviously doing something wrong? 

thanks, 
arthur


Responder a