[Pw_forum] parallel installation comments
Scott Brozell
srb at osc.edu
Wed May 3 20:07:16 CEST 2017
Hi,
Installation of quantum espresso on large commodity clusters, e.g,
https://www.osc.edu/resources/technical_support/supercomputers/oakley/technical_specifications
using intel compilers and mvapich mpi has been straightforward in
the past; for example, configure; make all; worked in 5.2.1.
However, in 5.4.0, 6.0, and 6.1 the simple procedure above produced
serial executables.
Attached is a patch file for x_ac_qe_mpi.m4 in 6.1 which corrects
two problems. In the four points below, these changes are described,
a comment on MKL is made, and a typo is reported.
1. x_ac_qe_mpi.m4 parallel is used before initialization.
In the released install/configure, which is based on x_ac_qe_mpi.m4,
an error occurs because parallel is used before it is initialized:
./install/configure: line 11602: test: : integer expression expected
This change to x_ac_qe_mpi.m4 fixes that:
#parallel=0
->
parallel=0
2. x_ac_qe_mpi.m4 mpi_libs can be non empty.
On our computer systems when an MPI is loaded, mvapich or otherwise,
the environment variable MPI_LIBS is defined. This causes mpi_libs
in install/configure to be defined to a non empty string. But
other espresso requirements for building parallel executables
may not be met; in particular, -D__MPI may not be.
This addition at line 28 to x_ac_qe_mpi.m4 fixes that:
else
if test "$use_parallel" -ne 0
then
have_mpi=1
parallel=1
try_dflags="$try_dflags -D__MPI"
fi
3. -mkl for intel compilers is a better way.
configure's automatic detection of MKL failed on our systems maybe
because we have available multiple compilers, MPIs, and MKLs.
Intel compiler versions 11 or later provide the -mkl option.
This is a much better way since it avoids decrypting MKLs large
number of files to produce the appropriate -L and -l options.
Here is how we invoked configure:
./configure BLAS_LIBS='-mkl=cluster' SCALAPACK_LIBS='-mkl=cluster'
4. User Guide typo on p5; user_guide.tex patch file is attached.
Be short: no need to send 128 copies of the same error message just because you this is
->
Be short: no need to send 128 copies of the same error message just because this is
thanks,
scott
Scott Brozell, Ph.D.
Scientific Applications Group
Ohio Supercomputer Center
Columbus, OH 43212
-------------- next part --------------
*** ./qe-6.1sav/install/m4/x_ac_qe_mpi.m4 2017-03-03 01:47:02.000000000 -0500
--- ./qe-6.1/install/m4/x_ac_qe_mpi.m4 2017-05-03 13:17:55.726949378 -0400
***************
*** 3,9 ****
AC_DEFUN([X_AC_QE_MPI], [
have_mpi=0
! #parallel=0
# some architectures require to link mpi libraries explicitly
F77=$mpif90 # use parallel compiler
--- 3,9 ----
AC_DEFUN([X_AC_QE_MPI], [
have_mpi=0
! parallel=0
# some architectures require to link mpi libraries explicitly
F77=$mpif90 # use parallel compiler
***************
*** 25,30 ****
--- 25,37 ----
have_mpi=1 parallel=1 mpi_libs="$LIBS" try_dflags="$try_dflags -D__MPI")
fi
fi
+ else
+ if test "$use_parallel" -ne 0
+ then
+ have_mpi=1
+ parallel=1
+ try_dflags="$try_dflags -D__MPI"
+ fi
fi
# Configuring output message
-------------- next part --------------
*** user_guide.tex.original 2017-03-03 01:46:52.000000000 -0500
--- user_guide.tex 2017-05-03 13:59:21.860869065 -0400
***************
*** 251,257 ****
it will confuse the ordering of messages into threads that most mailers
can do. In particular, do not use "reply" to a Digest!!!
\item Be short: no need to send 128 copies of the same error message just
! because you this is what came out of your 128-processor run. No need to
send the entire compilation log for a single error appearing at the end.
\item Do not post large attachments: point a linker to a place where the
attachment(s) can be downloaded from, such as e.g. DropBox, Google Docs,
--- 251,257 ----
it will confuse the ordering of messages into threads that most mailers
can do. In particular, do not use "reply" to a Digest!!!
\item Be short: no need to send 128 copies of the same error message just
! because this is what came out of your 128-processor run. No need to
send the entire compilation log for a single error appearing at the end.
\item Do not post large attachments: point a linker to a place where the
attachment(s) can be downloaded from, such as e.g. DropBox, Google Docs,
More information about the users
mailing list