Skip to Content.
Sympa Menu

forum - Re: [abinit-forum] parallel tune

forum@abinit.org

Subject: The ABINIT Users Mailing List ( CLOSED )

List archive

Re: [abinit-forum] parallel tune


Chronological Thread 
  • From: Alain Jacques <ajs.jacques@gmail.com>
  • To: forum@abinit.org
  • Subject: Re: [abinit-forum] parallel tune
  • Date: Sat, 27 Dec 2008 14:08:59 +0100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding:from; b=fE88sKIanm06V1F3+arj/rfkLZxLegxhWDPQ0JBP/PP3YUrh84YNrOKir1Zr+Si2Gp nJUfW2CQSUx41pYIww5TmarcVib+mGYLanSSEyqpgK15vMeoBHIM4a0GnVrHEepvofUK FaMp1S5feT8QESIiI1+c6sNQ8d31cjVmkFTpw=

Hello Hellen, hello Matthieu,


matthieu verstraete wrote:
> For 5.6.4 the configuration of etsfio does not always work: add
>
> --disable-etsf-io --disable-netcdf
>
...

OK this will prevent the netcdf error from happening ... I'll check
later why netcdf compilation hangs. Of course it won't solve your
parallelization problem.

By default openmpi builds a 64bit version of its libraries on a 64bit
operating system but abinit is build in 32bit without special flags -
this is my best assumption for your difficulties. So let's see if the
following recipe gives you better results.

As Matthieu mentioned, you'll have to "make distclean" to restore a
clean distribution. Nevertheless I suggest to compile abinit in its own
build directory i.e. never from the root of the distribution. I assume
that you have a working openmpi-1.2.8 in /usr/local (i.e. with the files
/usr/local/bin/mpif90 and /usr/local/lib/libmpi_f90.so.0.0.0) with paths
correctly sets - if yesterday's mpi hello test compiled by simply
invoking mpif90 and mpirun ... then it is okay - otherwise export PATH
and LD_LIBRARY_PATH and amend the FLAGS below. So starting from scratch ...

tar xzf abinit-5.6.4.tar.gz
cd abinit-5.6.4
mkdir tmp-build1
cd tmp-build1
../configure --prefix=/opt/abinit --enable-64bit-flags --enable-mpi
--enable-bigdft --disable-etsf-io --disable-netcdf --disable-etsf-xc
--enable-wannier90 --enable-fox --enable-xmlf90
--with-mpi-prefix=/usr/local --with-mpi-cppflags="-DNDEBUG"
--with-mpi-fcflags="-O3 -march=native"
--with-mpi-fc-ldflags="-L/usr/local/lib" --with-cpp-optflags="-DNDEBUG"
CC=gcc CPP=cpp CXX=g++ FC=gfortran CFLAGS=-O2 CXXFLAGS=-O2 FCFLAGS="-O3
-march=native" LDFLAGS="-L/usr/local/lib"
make
... and later a make install

at the end you should have a ./src/main/abinip

a ldd on mine says:
libmpi_f90.so.0 =>
/opt/openmpi-1.2.8_gcc-4.3.2_m64/lib/libmpi_f90.so.0 (0x00002b1a3a416000)
libmpi_f77.so.0 =>
/opt/openmpi-1.2.8_gcc-4.3.2_m64/lib/libmpi_f77.so.0 (0x00002b1a3a619000)
libmpi.so.0 => /opt/openmpi-1.2.8_gcc-4.3.2_m64/lib/libmpi.so.0
(0x00002b1a3a84b000)
libopen-rte.so.0 =>
/opt/openmpi-1.2.8_gcc-4.3.2_m64/lib/libopen-rte.so.0 (0x00002b1a3ab67000)
libopen-pal.so.0 =>
/opt/openmpi-1.2.8_gcc-4.3.2_m64/lib/libopen-pal.so.0 (0x00002b1a3ae2f000)
librt.so.1 => /lib64/librt.so.1 (0x0000003734200000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003733600000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x000000373b400000)
libutil.so.1 => /lib64/libutil.so.1 (0x000000373fc00000)
libgfortran.so.3 => /opt/gcc-4.3.2/lib64/libgfortran.so.3
(0x00002b1a3b0aa000)
libm.so.6 => /lib64/libm.so.6 (0x0000003733200000)
libgcc_s.so.1 => /opt/gcc-4.3.2/lib64/libgcc_s.so.1 (0x00002b1a3b384000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003733a00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003732e00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003732a00000)
no panic, my gcc and openmpi are homemade, their directories are
different from yours.

If you reproduce the abinit parallel benchmark I described yesterday, it
takes a few minutes to run.
A head of the log_mpi says
abinit : nproc,me= 2 1
abinit : nproc,me= 2 0
ABINIT

Give name for formatted input file:
t_kpt+spin.in
Give name for formatted output file:
t_kpt+spin.out
Give root name for generic input files:
t.i
... there are 2 processors invoked and a tail of the same file says
0.00694 0.00694
outvar1 : prtvol=0, do not print more k-points.
znucl 26.00000

================================================================================

Proc. 0 individual time (sec): cpu= 403.6 wall= 403.6

Calculation completed.
.Delivered 0 WARNINGs and 2 COMMENTs to log file.

Tell me if it works,

Cheers,

Alain




Archive powered by MHonArc 2.6.15.

Top of Page