NERSC logo National Energy Research Scientific Computing Center
  A DOE Office of Science User Facility
  at Lawrence Berkeley National Laboratory
PackagePlatformCategoryVersionModule Install DateDate Made Default
molpro bassi applications/chemistry 2006.1 molpro/2006.1 2008-04-22 2008-04-22
molpro franklin applications/chemistry 2008.1 molpro/2008.1 2008-03-20 2008-03-20
molpro franklin applications/chemistry 2009.1 molpro/2009.1 2009-09-27 2009-10-07
molpro jacquard applications/chemistry 2006.1 molpro/2006.1_serial 2007-10-02
molpro jacquard applications/chemistry 2006.1 molpro/2006.1 2008-04-20 2008-04-20
molpro jacquard applications/chemistry 2008.1 molpro/2008.1 2008-03-18 2008-03-31

MOLPRO at NERSC

MOLPRO is a complete system of ab initio programs for molecular electronic structure calculations, written 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. Using recently developed integral-direct 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.

The heart of the program consists of the multiconfiguration SCF, multireference CI, and coupled-cluster routines, and these are accompanied by a full set of supporting features. For a full description of the program's capabilities, see the MOLPRO quantum chemistry package web site.

Access MOLPRO at NERSC

The versions of MOLPRO installed at NERSC are 2008.1 and 2006.1. To access the default version, type

% module load molpro 
To access a specific version, eg., version 2008.1, type
% module load molpro/2008.1
To see all the available versions, type
% module avail molpro

To see where the molpro executables reside (the bin directory) and what environment variables it defines, type

% module show molpro
e.g., on jacquard,
% module show molpro           (or type module show molpro/2008.1)
-------------------------------------------------------------------
/usr/common/usg/Modules/modulefiles/molpro/2008.1:

prepend-path     PATH /usr/common/usg/molpro/2008.1/bin 
-------------------------------------------------------------------

The available executables are,

% ls -l /usr/common/usg/molpro/2006.1/bin
total 104
-rwxr-xr-x  1 zz217 usg  5207 Apr 20  2008 molpro
lrwxrwxrwx  1 zz217 usg    28 Apr 20  2008 molprop -> molprop_2006_1_i8_x86_64_mpi
-rwxr-xr-x  1 zz217 usg  1001 Apr 20  2008 molprop_2006_1_i8_x86_64_mpi
-rwxr-xr-x  1 zz217 usg  1021 Apr 20  2008 molprop_2006_1_i8_x86_64_mpi_scalapack
lrwxrwxrwx  1 zz217 usg    38 Apr 20  2008 molprop_scal -> molprop_2006_1_i8_x86_64_mpi_scalapack
lrwxrwxrwx  1 zz217 usg     6 Apr 20  2008 molpror -> molpro
lrwxrwxrwx  1 zz217 usg    24 Apr 20  2008 molpros -> molpros_2006_1_i8_x86_64
-rwxr-xr-x  1 zz217 usg   855 Apr 20  2008 molpros_2006_1_i8_x86_64
-rwxrwxr-x  1 zz217 usg 13736 Apr 16  2008 mpirun
-rwxr-xr-x  1 zz217 usg 16416 Apr 20  2008 swapdisks

Where molpros is the script for the serial version, and molprop and molpro_scal are the scripts for the parallel versions without and with scalapack enabled, respectively. A user should choose an appropriate script for his/her specific job run. Note, the scalapack enabled version (molprop_scal) might not always have better performance than the one without scalapack (molprop).

Running on Jacquard

To run a serial job,

% module load molpro 
% molpros your_molpro_inputfile_name 

To run a parallel job, one needs to write a job script, and submit it to the batch queue using qsub command. Here is an example job script for jacquard (eg., the script file name is test1.pbs).

#PBS -S /usr/bin/tcsh
#PBS -N test_mol
#PBS -l nodes=4:ppn=2
#PBS -q debug 
#PBS -l walltime=00:30:00
#PBS -j oe
#PBS -V

cd $PBS_O_WORKDIR
module load molpro
molprop -n 8 pentane_dflccsd.test
To submit to the batch queue, type,
% qsub test1.pbs 

There are many other parameters to the PBS batch system. For more details see Running Jobs on Jacquard.

Running on Franklin

There are two ways to run a parallel molpro job on franklin, interactively (through an interactive batch session) or through submitting a batch job. To run a parallel job interactively, use the qsub -I -V command to request an interactive batch session, (eg., requesting 8 processors):
% qsub  -I -V -q interactive -l mppwidth=8 
when a new batch session is returned to you, issue the following commands:
%  cd $PBS_O_WORKDIR 
%  module load molpro 
%  molprop -n 8 your_molpro_inputfile_name 

To run through a batch job, here is an example job script for franklin.

#PBS -S /usr/bin/tcsh
#PBS -N test_molpro
#PBS -q debug
#PBS -l mppwidth=8,walltime=30:00
#PBS -j oe
#PBS -m e
#PBS -V

cd $PBS_O_WORKDIR

module load molpro
molprop -n 8 h2o_opt_dflmp2.test

Then use qub command to submit the job,
% qsub test1.pbs 
If a job uses a large memory, you may consider to run it on the reduced number of the cores per node, eg., 2 cores per node, so to double the memory available to each task. Here is an example job script,
#PBS -S /usr/bin/tcsh
#PBS -N test_molpro
#PBS -q debug
#PBS -l mppwidth=8,mppnppn=2,walltime=30:00
#PBS -j oe
#PBS -m e
#PBS -V

cd $PBS_O_WORKDIR

module load molpro
molprop -n 8 -N 2 pentane_dflccsd.test 

Where the -N option is used to pass the number of cores per node, and it should match with the mppnppn directive above.

Note:

  • For a job which runs across multiple nodes, when 4 cores per node is used, the job may hang randomly. If you run into this problem, please use a reduced number of cores per node, eg., 2, or use only 1 node. We are in the process of getting the vendor's help with this issue.
  • If a job run into a memory error, please consider to launch the molpro binary directly through aprun, instead of a script. eg.,
    module load molpro
    aprun -n 8 molprop_2008_1_Linux_XT_i8.exe pentane_dflccsd.test --no-xml-output
    
  • On 4/17/2009, Cray provided a fix to the job hang problem when molpro runs across multiple nodes, using more than 2 cores per node. The fix was:
    (1)  Unset "XT_SYMMETRIC_HEAP_SIZE=1G" from the "molpro" script 
    (2)  Set the following environment variables:
    	setenv SHMEM_SWAP_BACKOFF 150
    	setenv CRAY_PORTALS_USE_BLOCKING_POLL yes 
    

For the general instructions of running jobs on franklin, see Running Jobs on Franklin.

Running on Bassi

Here is an example job script for Bassi.

#@job_name=test_molprop_scal 
#@output=$(job_name).o$(jobid) 
#@error=$(job_name).e$(jobid)  
#@notification=always                        
#@job_type=parallel 
#@network.LAPI=sn_all,not_shared,us                
#@tasks_per_node=8
#@node=1 
#@class=interactive  
#@wall_clock_limit=30:00 
#@environment     = COPY_ALL
#@queue 

module load molpro 
molprop pentane_dflccsd.test
To submit to the batch queue, use llsubmit command,
% llsubmit test_molpro.ll 

There are many other parameters to the Bassi batch system. For more details see The Bassi Batch System.

Restart Capabilities

By default, the job is run so that all MOLPRO files are generated in $TMPDIR. This is fine if the calculation finishes in one job, but does not provide for restarts. This section describes techniques which can be used to restart calculations.

MOLPRO has three main files which contain information which can be used for a restart: file 1 is the main file, holding basis set, geometry, and the one and two electron integrals; file 2 is the dump file and used to store the wavefunction information, i.e. orbitals, CI coefficients, and density matrices; file 3 is an auxiliary file which can be used in addition to file 2 for restart purposes. File 1 is usually too large to be saved in permanent storage

By putting the following lines in the input file, the wavefunction file (file number 2) can be saved as file "h2.wfu",and the auxiliary file (file number 3) saved as "h2.aux". By default, the files are saved to the subdirectory "wfu" of your home directory if the job runs out of time.

***,H2
file,2,h2.wfu,new
file,3,h2.aux,new
basis=vdz;
geometry={angstrom;h1;h2,h1,.74}
optscf;

The directory where the files are saved may be changed using the "-W" command line option.

These files enable some restarts to be performed, as they provide snapshots of the calculation as each module finishes. Unfortunately, restarting an incomplete SCF or CI calculation is not possible. To use the files in a restart, remove the "new" qualifier from the "file" command:

***,H2
file,2,h2.wfu
file,3,h2.aux
basis=vdz;
geometry={angstrom;h1;h2,h1,.74}
optscf;

Documentation and Help

MOLPRO User's manual.


LBNL Home
Page last modified: Fri, 20 Nov 2009 21:57:15 GMT
Page URL: http://www.nersc.gov/nusers/resources/software/apps/chemistry/molpro/
Web contact: webmaster@nersc.gov
Computing questions: consult@nersc.gov

Privacy and Security Notice
DOE Office of Science