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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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
    

  6. 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.

  7. configure prompts for the destination directory for installation of ancillary files which are required for program execution.

  8. configure prompts for the destination directory for documentation. This should normally be a directory that is mounted on a worldwide web server.

  9. 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 ( $\gt 2\text{Gb}$) 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