[molpro-user] How to build parallel Molpro 2012.1.0 with GA-5-1-1

Martin Diefenbach diefenbach at chemie.uni-frankfurt.de
Sat Nov 17 20:14:42 GMT 2012


in principle, a build with GA5/MPI-2 using ifort/MKL and Infiniband works 
for us with the following:

BLAS_LIBS="-L${MKLROOT}/lib/intel64 -lmkl_rt -lpthread -lm"
LIBMPI="$(mpif90 -show |sed -e 's/^ *[[:graph:]]* //')"
# ga-5-1
./configure \
     CC=icc F77=ifort CXX=icpc \
     --with-blas8="${BLAS_LIBS}" \
     --with-mpi="${LIBMPI}" \
     --with-openib \
cp config.log ${PREFIX}/ga

# molpro-2012.1
./configure \
   -batch \
   -prefix "${PREFIX}" \
   -blaspath "${MKLROOT}/lib/intel64" \
   -openmpi \
   -mpp \
   -mppbase "${PREFIX}/ga" \
   -ifort \

If ga-5 is built with "native" compilers (not with the mpif90/mpicc 
variants) the variables are set explicitly in ga-5's config.log, which in 
turn is then read into molpro's configure, also including CMPPINCLUDE for 
mpi.h. The -openmpi flag helps if OpenMPI is used (I guess for mvapich2 
and others this is different).

We do, however, see serious problems under certain circumstances, 
especially for Hybrid OpenMP/MPI builds (./configure -openmp ...), and for 
mvapich2 with slurm (srun is process manager, not hydra), the reason for 
which at least in our hands is not easy to track down.


On Sat, 17 Nov 2012, Reuti wrote:

> I was able to build a serial and a parallel plain MPI-2 version of 
> Molpro 2012.1.0 without any issue (using Open MPI). As we found GA being 
> faster than the plain MPI-2 version in the past I tried to create this 
> in addition. After several unsuccessful attempts I checked the 
> "configure" script of Molpro. The first hidden information I discovered 
> was:
> - GA5 needs to be installed in its source directory itself, neither 
> /usr/lib nor $HOME/local or whatever. The reason is, that Molpro's 
> "configure" is checking "config.log", which isn't of course installed 
> anywhere. Hence the ./configure of GA5 needs an option --prefix=$PWD
> Having done that I wondered about the check for "TCGMSG5" in Molpro's 
> configure. GA5 can be built as TCGMSG, TCGMSGMPI or MPI - but none of 
> this outputs TCGMSG5.
> a) I changed TCGMSG5 to TCGMSGMPI => the configure of Molpro succeeded 
> with the TCGMSG-MPI build of GA, but during `make` it couldn't find 
> "mpi.h". It shouldn't look for it I think, as it should use GA calls 
> like pbeginf() to setup the environment.
> b) Recompiled GA5 as plain MPI-2 version. In this case the the 
> `configure` of Molpro detected this but output after confirming the 
> MPILIB linking flags:
> parallel=
> unable to determine parallel type
> Questions:
> 1) How to build a parallel version of Molpro using GA5?
> 2) Which communication types of GA5 are supported right now. In the past 
> it was only TCGMSG and TCGMSG-MPI as the calls were using the ones of 
> GA5 like pbeginf() IIRC. Did this change and a plain MPI-2 version of 
> GA5 is also supported right now?
Dr. Martin Diefenbach
Institut für Anorganische und Analytische Chemie
der Johann Wolfgang Goethe-Universität Frankfurt
Max-von-Laue-Straße 7, D-60438 Frankfurt am Main
Campus Riedberg, N160/207, Tel: +49-69-798-29445
E-Mail: diefenbach at chemie.uni-frankfurt.de

More information about the Molpro-user mailing list