Next: A..3.4 Compilation and linking
Up: A..3 Installation from source
Previous: A..3.2 Prerequisites
A..3.3 Configuration
Once the distribution has been unpacked,
identify the root directory that was created (normally
molpro2002.1
). In the following
description, all directories are given relative to this root.
Having changed to the root directory, you should check that the directory
containing the Fortran compiler you want to use is in your PATH.
Then run the command
./configure
which creates the file CONFIG. This file
contains machine-dependent parameters, such as compiler options.
Normally CONFIG will not need changing,
but you should at the least examine it, and change
any configuration parameters which you deem necessary. For further
information, see any comments in the CONFIG file.
The configure procedure may be given command line options,
and, normally, additionally prompts for a number of parameters:
- On certain machines it is possible to compile the program to use either
32 or 64 bit integers, and in this case configure may be given
a command-line option -i4 or -i8 respectively to override
the default behaviour.
Generally, the 64-bit choice allows larger calculations (files
larger than 2Gb, more than 16 active orbitals), but can be slower if the
underlying hardware does not support 64-bit integers (e.g., some IBM
RS6000 hardware). Note that if -i4 is used large files (>2Gb)
are supported on most systems, but even then the sizes of MOLPRO records
are restricted to 16 Gb since the internal addressing in MOLPRO uses
32-bit integers. If -i8 is used, the record and file sizes are
effectively unlimited.
- In the case of building for parallel execution, the option -mpp
must be given on the command line.
configure will then prompt for the
directory containing the GA and associated libraries.
This directory may alternatively be given through the
-L command-line option.
If the GA libraries are built on top of MPI, then it is necessary to
set the environment variable USE_MPI to 1 for configuration.
- If any system libraries are in unusual places, it may be necessary to
specify them explicitly as the arguments to a -L command-line option.
- configure prompts for the licence key, obtainable as described
above.
The key may also be given using the -k option on the command
line, or given through the environment variable $MOLPRO_KEY.
- configure asks whether you wish to use system BLAS
subroutine libraries.
MOLPRO has its own optimized Fortran version of these libraries, and
this can safely be used.
On most machines, however,
it will be advantageous to use a system-tuned version
instead.
In the case of BLAS, you should enter a number between 1, 2 and 3; if,
for example, you specify 2, the system libraries will be used for level 2 and
level 1 BLAS, but MOLPRO's internal routines will be used for level 3 (i.e.,
matrix-matrix multiplication). Normally, however, one would choose
either 0 or 3.
If a system BLAS is chosen, you will be prompted to enter appropriate linker options
(e.g. -L/usr/lib -lblas) to access the libraries.
A special situation arises if 64-bit integers are in use (-i8), since
on many platforms the system BLAS libraries only supports 32-bit
integer arguments. In such cases (e.g., IBM, SGI, SUN) either 0 or 4
can be given for the BLAS level. BLAS=0 should always work and means that the
MOLPRO Fortran BLAS routines are used. On some platforms (IBM, SGI, SUN)
BLAS=4 will give better performance; in this case some 32-bit BLAS routines
are used from the system library (these are then called from wrapper
routines, which convert 64 to 32-bit integer arguments).
For good performance it is important to use appropriate
BLAS libraries; in particular, a fast implementation of the
matrix multiplication
dgemm is very important for MOLPRO. Therefore you should use
a system tuned BLAS library whenever available.
For Linux
PCs we recommend the following BLAS libraries:
- Intel PIII:
- lsblaspii1.2f_03.00.a in the
ASCI library, which can be obtained from
http://www.cs.utk.edu/~ghenry/distrib/
To use this library, link it to a file name that the linker can
understand, for example, libblas.a
ln -s lsblaspii1.2f_03.00.a libblas.a
and when configure prompts you for the library, type
-L blasdir -lblas
where blasdir is the absolute path
of the directory holding the BLAS library.
- AMD Athlon:
- Atlas library, obtainable from
http://www.netlib.org/atlas/.
The easiest and safest is to use a pre-built library, and we found that
atlas3.2.1_Linux_ATHLON256.tgz works
very well on current hardware.
The appropriate linker options to provide are
-L blasdir -lcblas -lf77blas -latlas
An even faster BLAS library libathlonblas.a is
available on the MOLPRO web page, see below.
- Intel PIV:
- Atlas library atlas3.3.0_Linux_P4SSE2.tgz,
otherwise as for Athlon above.
For the cases where copyright rules permit, these libraries, as well as
BLAS libraries for other systems such as HP (PA-RISC 32- and 64-bit,
and IA64), can be
obtained from
http://www.tc.bham.ac.uk/molpro/blaslibs.
Specification of these libraries can be simplified by placing any
relevant downloaded libraries in the directory blaslibs;
configure searches this directory (and then, with lower priority, some
potential system directories) for libraries relevant to the hardware,
including that specified by a
-p3, -athlon or -proc command line option (see
below). Any directory structure in the web copy of these libraries
should be preserved in the local copy. The simplest way to ensure all
this is to fetch complete set of libraries using
wget --cut-dirs=1 -nH -np -r http://www.tc.bham.ac.uk/molpro/blaslibs
- configure prompts for the destination directory for final installation of the
MOLPRO executable.
This directory should be one normally in the PATH of all users
who will access MOLPRO, and
its specification will depend on whether the installation is private or
public.
- configure prompts for the destination directory for installation of ancillary files which are
required for program execution.
- configure prompts for the destination directory for
documentation. This should normally be a directory that is mounted on
a worldwide web server.
- configure prompts for the destination directory for the CGI
scripts that control the delivery of documentation. This might be the
same directory as (h), but some web servers require a particular
special directory to be used.
The latter two parameters are relevant only if the documentation is also
going to be installed from this directory (see below).
The following command-line options are recognized by configure.
- -batch
- disables the prompting described above.
- -k key
- specifies the licence key.
- -i8 | -i4
- forces the use of 8- or 4-byte integers respectively.
- -L lib
- specifies any additional directories containing system libraries to be
scanned at link time.
- -blas 0|1|2|3|4
- specifies system BLAS level, as described above.
- -mpp | -nompp
- controls whether compilation is to be for MPP parallelism (see above).
- -ifc | -pgf
- controls whether the Intel (ifc) or Portland (pgf) compiler is be used
on Linux IA32 systems. Note that appropriate environment variables
must be set, see section A.3.2.
- -f ftcflag
- adds a token to the specifiers for the Fortran preprocessor ftc.
- -largefiles | -nolargefiles
- controls whether large file (
) support is wanted.
This option is not relevant or used on all architectures. For Linux
PC, it should be specified only if the kernel and system libraries
also support large files.
- -p3 | -athlon | -proc type
- specifically identifies a particular hardware in order to force
appropriate compiler optimization options and run-time libraries
where possible.
Next: A..3.4 Compilation and linking
Up: A..3 Installation from source
Previous: A..3.2 Prerequisites
P.J. Knowles and H.-J. Werner
molpro@tc.bham.ac.uk
Jan 15, 2002