This guide is intended to help PGI customers install, build, and run a complete system of ab initio programs for molecular electronic structure calculations (MOLPRO) from source files using PGI 5.2 compilers on a 64-bit Linux system.
|
|
Version Information
|
|
|
This guide was created for MOLPRO serial version 2002.6 when building from the source files using PGI Release 5.2-1 pgf90 on a 64-bit AMD64 system running Linux. This guide does not cover the non-relocatable pre-built binaries version of MOLPRO.
|
|
Application Notes
|
|
|
Information about MOLPRO can be found at the MOLPRO home page.
From the MOLPRO Home page:
"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. 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."
|
|
Obtaining the Source Code and License
|
|
|
MOLPRO source code, binaries and documentation are copyrighted materials and may only be distributed under licence. A valid licence key from MOLPRO is required before you may use the MOLPRO program. To obtain the MOLPRO distribution materials, please visit the MOLPRO home page or contact molpro@molpro.net.
|
|
Prerequisites
|
|
|
-
A Fortran 90 and GNU C compiler.
-
Approximately 200Mb free disk space for use during compilation.
-
At least one large scratch file system for the program I/O.
-
GNU make
|
|
Configuration and Set-up Information
|
|
|
-
Ensure that pgf90 is in your shell's PATH.
-
Unzip and untar the MOLPRO package in your build directory.
-
cd into the new molpro2002.6 directory
-
Run the following command to configure:
./configure -pgf90 This will create the CONFIG file. Note you may need to enter information during this configuration such as whether large files are supported, the location of BLAS library, where the MOLPRO executable and its library will be installed, and your MOLPRO license key. Example of the configuration:
mymachine% ./configure -pgf90
Building program for processor type=amd64
Program may not run on athlon/p3/p4 systems
You can choose another processor type using the athlon|p3|p4 options
Machine architecture is unix unix-i8 unix-linux unix-linux-x86_64
Do you want to use large files? (y/n, default y)
y
Using large files
pgf90 Rel 5.2-1
searching for blas libraries...
BLASLIB=
Object library exists
Enter max number of atoms [ 200]: 200
Enter max number of valence orbitals [ 300]: 300
Enter max number of basis functions [2000]: 2000
If you wish to use a system BLAS library, please give the maximum
level (0, 1, 2, 3) of BLAS to be supplied by the system
(default 0):
0
Installed binaries directory [/usr/local/bin]
Installed auxiliary directory [/usr/local/lib/molpro-Linux-x86_64-i8-2002.6]
parse-x86_64-unknown-linux-gnu-i8.o.gz is your object.
CONFIG file created; please inspect and edit if necessary before proceeding
-
Check the CONFIG file to make sure the information is as expected. You may edit the CONFIG file directly to fix any errors. Note that -i8 should be present in the 64-bit compiler options. We recommend using "-fastsse -Mnoflushz" for best performance. -Mnoflushz must be added when compile with -fastsse. See Known Issues below. We've included an example CONFIG file for use with 64-bit pgf90.
|
|
Building MOLPRO
|
|
|
Once the configuration is set and CONFIG file is created.
In MOLPRO base directory, type:
make -j can be used to speed up compilation time for multiple CPUs system.
|
|
Running MOLPRO
|
|
|
Tuning MOLPRO
MOLPRO can be tuned for a particular system by running the following command from the base MOLPRO directory. The tuning determines which version of a routine, blas or MOLPRO, gives the best performance and appends the tuning results to "bin/molpro.rc". make tuning Running the test cases
In directory testjobs, type
|
Run a small subset of tests:
|
make quicktest
|
|
Run most tests except some long ones:
|
make test
|
|
Run all tests:
|
make bigtest
|
These commands can also be issued in the MOLPRO base directory.
Running the benchmark
In directory bench, type:
./configure You only need to do this once.
To run all benchmarks, type:
runbench 1 1 *.com *.bigcom >& runbench.log & To run an individual benchmark, i,e., small3.com ,type:
runbench 1 1 small3.com Each job appends the timings to bench.tab. Timings are also listed in a table at the end of each output.
|
|
Verifying Correctness
|
|
|
MOLPRO is a "self-check" program since a program will only run to completion if no errors occur. For test cases, if the test runs without errors, an *.out file will be created in directory testjobs . If an error does occur, an *.errout file will be created. For benchmarks, if a program runs without errors, timings should be listed in each output as well as appended at the end of bench.tab file.
|
|
Known Issues and Limitations
|
|
|
The following are a list of MOLPRO known issues when using the PGI compilers with options "-fastsse -Mnoflushz".
-
When compile with -fastsse, -Mnoflushz must be added. -Mflushz causes infinite loop in utilities/cnvrt.exe.
-
aucs4k2, cppopt, cpp, incl_pl, incl_sf, tlbr2_opt, tlbr_ecp_forc, and tlbr_mp2_dft_so tests fail because of an optimization error in src/argos/arpseu.f (subroutine:rad2). Inset a line "cpgi$r opt=1" before subroutine rad2 to avoid the errors.
-
au2o_optecp, au2o_optdftecp1, au2o_optdftecp2,and cr2_ecp_forces tests fail due to optimization error in src/forces/angkraft.f(subroutine:qpasykraft) and src/argos/arpseu.f(subroutine:rad2). Insert a line "cpgi$r opt=1" before those two subroutines to avoid the errors.
-
All eom tests fail due to compiler optimization error in src/seward/qzit.f (subroutine:qzit, line:116). Insert a line "cpgi$r opt=1" before subroutine qzit to avoid the errors.
-
h2o_optrs2 and cn_optrs2av tests fail due to optimization error (-Mvect=sse) in src/mrci/cigam23h.f(subroutine:cigam0i). Insert a line "cpgi$r opt=O2 to avoid the errors.
|
|
|