About MOLPRO

Molpro is a complete system of ab initio programs for molecular electronic structure calculations, designed and maintained by H.-J. Werner and P. J. Knowles, and containing contributions from a number of other authors. As distinct from other commonly used quantum chemistry packages, the emphasis is on highly accurate computations, with extensive treatment of the electron correlation problem through the multiconfiguration-reference CI, coupled cluster and associated methods. The recently developed explicitly correlated coupled-cluster methods yield CCSD(T) results with near basis set limit accuracy already with double-ζ or triple-ζ basis sets, thus reducing the computational effort for calculations of this quality by two orders of magnitude. Using local electron correlation methods, which significantly reduce the increase of the computational cost with molecular size, accurate ab initio calculations can be performed for much larger molecules than with most other programs.

Official website: http://www.molpro.net/

This document explains how to build MOLPRO 2010.1 on Intel Nehalem with Infiniband Network, using the next software:

  • Intel Compiler Suite 11.1.072
  • OpenMPI-1.4.2*
*OpenMPI was build with ICS-11.1.072, OFED-1.4 and with Torque/PBS flags

You must take into account that this compilation is optimised for our environment. If you have other network or architecture, you should search the best compilers, libraries and parallel environment for your machines.

Environment Set Up

For long time compilations, we recommended to use a screen session. This software allows to reattach a background session.

# screen -S molpro2010-ics-mkl-ompi
# tar -zxvf molpro2010.1.tar.gz

Then, we have to load the modules needed for building the program. In our case, we load the OpenMPI environment which also loads the Intel Compiler Suite.

#. /opt/modules/init/bash
#module load openmpi-64/ics-11.1072/1.4.2
#module load ics11.1.072_64

Configure

Run the configure script adding the next options:

#cd molpro2010.1/
#./configure -ifort -x86_64 –openmpi –mpp –mpbbase /opt/OPENMPI/openmpi-1.4.2_ICS11.1.072_64/include -nohdf5

The configure command ask you different questions. First, you have to enter BLAS and LAPACK linking flags (BLASLIB and LAPACKLIB). You can leave the answers blank because we will edit the configuration file later.

Regarding the questions about the maximum number of atoms, the valence orbitals, the basis function, the states per symmetry, the state symmetries, the records and the primitives, we select the default values. Then, you have to specify the desired directory for installing the binaries, the libraries and html information.

Then, edit the CONFIG file generated.

You have to change some lines to include MKL, BLAS and LAPACK libraries without problems. Thus, we use the Intel instructions (see the examples and instructions at the Intel Official Website where there is a web form for MKL link line advisor).

MKLINCLUDE=/opt/ics-11.1.072/mkl/include
MKLPATH=/opt/ics-11.1.072/mkl/lib/em64t
BLASLIB=-L${MKLPATH} -I${MKLINCLUDE} -I${MKLINCLUDE}/em64t/lp64 -lmkl_blas95_lp64 -Wl,--start-group ${MKLPATH}/libmkl_intel_lp64.a ${MKLPATH}/libmkl_sequential.a ${MKLPATH}/libmkl_core.a -Wl,--end-group -lpthread
LAPACKLIB=-L${MKLPATH} -I${MKLINCLUDE} -I${MKLINCLUDE}/em64t/lp64 -lmkl_lapack95_lp64 -Wl,--start-group ${MKLPATH}/libmkl_intel_lp64.a ${MKLPATH}/libmkl_sequential.a ${MKLPATH}/libmkl_core.a -Wl,--end-group -lpthread

Building

Use the make command:

#make

If you are working in a parallel machine, you can try -j option to speed up the compilation.

Tuning

Molpro can be tuned for a particular system automatically. Use the command:

#make tuning

This command introduces some tuning parameters to the file bin/molpro.

Testing

Before installing the program, it is really important to test if Molpro has been compiled without any problems. We recommend to use the complete "make test" command and not the "make quicktest". Moreover, you can do the testing in parallel:

#make MOLPRO_OPTIONS=-n8 test

The results are summarized in testjobs/test.log file. You have to check if all the tests have finished without errors. There are 255 jobs andm none of them should finish with an error warning if the compilation is correct.

Installing for production

Finally, you just have to use the command:

#make install

The binaries, libraries and html information will be placed in the directories that you have specified during the configuration process.

Setting up the modulefile

#%Module#####################################################################
##
## modules modulefile
##
## modulefiles/modules. Generated from modules.in by configure.
##
proc ModulesHelp { } {
global version modroot

puts stderr "\tMolpro2010.1 Molpro 2010.1 environment"
puts stderr "\tMolpro is an electronic calculation program"
puts stderr "\trecommended for CI and CCDS methods"
}

module-whatis "Molpro 2010.1 environment"

# for Tcl script use only
set version 3.2.3
set modroot /opt/modules-3.2.3/Modules/3.2.3

prepend-path PATH /opt/MOLPRO/molpro2010_em64t/bin
append-path LD_LIBRARY_PATH /opt/molpro2010_em64t/lib