nextuppreviouscontentsindex
MOLCAS manual:

Next: 2.2 Alternative versions of Molcas Up: 2. Installation Previous: 2. Installation

Subsections


2.1 Prerequisites

2.1.1 Prerequisite hardware

In general, MOLCAS can be built on any hardware that runs under a UNIX operating system. Some of these variants of hardware and software have been tested by us, and you should not have any problems to install MOLCAS on any of these. One can also skip the compilation of the code from the source, and use the binary executables, which fits to the most common cases for installation. Molcas starting from version 8.6 can also easily swap between different versions.

If you are interested in installing Molcas on some marginal platforms, we strongly recommend you to contact Molcas team and ask for help.

2.1.2 Prerequisite software

If you obtain the source code of MOLCAS, then you need to make certain that the necessary software is available to build MOLCAS. The minimum requirements are:

  • A Fortran compiler
  • A C compiler
  • GNU make
  • Perl (version 5.008 or higher)
  • During the installation, you will also need: git, wget and curl.

Also, you can benefit from following optional dependencies:

  • CMake (version 2.8.11 or higher)
  • an optimized BLAS/LAPACK library, e.g. MKL
  • HDF5 library
  • MPI-2 compatible library (to enable parallelization features of MOLCAS)
  • Global Arrays (version 5 or higher, an alternative to the built-in DGA library)

The Graphical User Interface codes used in MOLCAS can be downloaded from the following pages: LUSCUS version >= 0.8.6 ( https://sourceforge.net/projects/luscus/), and GV ( http://www.molcas.org/GV/).

It is possible to install MOLCAS on Windows (Cygwin) and MacOS, however these installatios are not longer supported.

2.1.3 Preparing the installation

In order to install MOLCAS you need to choose a directory where the MOLCAS driver script is to be installed. The driver executes scripts and programs form the MOLCAS package and must be located in a directory included into the PATH variable. Usually this will be /usr/bin when installing as root, and  /bin when installing as an unprivileged user.

The driver script molcas uses the value of the environment variable MOLCAS to identify which version to use. The major advantage with this mechanism is that it is easy to switch between different versions of MOLCAS by simply changing the environment variable MOLCAS. However if the current directory is a subdirectory (up to 3rd level) of a MOLCAS tree, the latter will be used regardless of the value of the MOLCAS variable.

MOLCAS itself can be located in any place on the disk. The installation can be done by root, or by an unprivileged user. In the later case you can copy the molcas driver script to an appropriate location, e.g. /usr/local/bin, after the installation.

A new feature of Molcas 8.6 is the use of alternative directories for executables, so the change between different versions can be done more easy.

Earlier versions of Molcas had many options for installations, but most of them were rarely used. There are only few decisions, which has to be done prior the installation of Molcas 8.6.

  • Fortran compiler. There is no much difference between two most popular compilers: GCC and Intel. For other options, please, contact Molcas developers. You also should keep in mind that selection of really new compiler is risky due to possible overoptimization bugs.

  • Optimized BLAS/LAPACK library. Molcas has inbuilt library (Netlib BLAS), however if you have installed MKL library, it can be used. Please, be sure that MKLROOT variable is defined, and pointed to the location of MKL.

    If you decided to install Molcas in parallel, be sure that you allocates resources, which are available for BLAS. In short, you can gain if you use optimal BLAS libraries or if you run code in parallel, however combining both options might lead to a very small performance improvement.

  • HDF5 library. Some functionality of Molcas requires the HDF5 library is installed. If the installation of HDF5 places the files into unusual location, please, set $HDF5\_INCLUDE$ and $HDF5\_LIBRARY$ variables and rerun installer script.

  • Parallel libraries. If you plan to use parallel installation of Molcas, please, be sure that include files and the libraries are in the standard location. The installer installer assumes that mpifort is installed and in the PATH.

    Different modules in Molcas can benefit differently from parallel execution. It depends on memory requirement and I/O RASSCF and especially CASPT2 modules have a limitation, related to Memory, not CPU power. There is a minimal required amount of memory, which has to be multiplied to the amount of processes, if the code runs in parallel. E.g. if you have a computer with 96 Gb of RAM, but your CASPT2 calculation requires 64Gb (which is a case for large active space) - you will be able to run this task only as a serial calculation. If your calculation can run within 4Gb (which is typical more moderate systems) you may use up to 16 cores. Due to intensive I/O parallel calculation running on, say, 8 cores might be slower(!) than serial one.

2.1.4 Installation of Molcas and OpenMolcas

This section is new and it is relevant for MOLCAS 8.6 and above. Since the release of the major portion of MOLCAS code under LGPL license, installation of MOLCAS uses a patched version of OpenMolcas.

In MOLCAS version 8.4, a special fork of OpenMolcas has been used. In MOLCAS version 8.6 the patches, needed for OpenMolcas are included into MOLCAS tree. It doesn't mean, however, that MOLCAS can operate with any version of OpenMolcas, but it gives more flexibility.

The procedure of downloading MOLCAS is the following: download init script from www.molcas.org, e.g. by a command: wget www.molcas.org/init, or curl www.molcas.org/init.

Make this file executable by using command chmod +x init and run it, or use command sh ./init. This script can not work without Molcas license, so please, place the license.dat file into the same directory, or to $\$HOME/.Molcas/$.

The script init analyzes your enviroment, makes downloads, and prepare a file, named install.sh. If you would like to use a prebuild version of Molcas, there is no need to run install.sh, the package is ready for the use. However, if you would like to make a custom compilation of Molcas/OpenMolcas, you have to check the content of install.sh. The file contains a block of commands, needed for installation of different versions of Molcas and OpenMolcas. If you run it directly, the installation procedure might takes several hours. The sections in install.sh are self explanatory. If needed, you may change the configuration flags, etc.

Note that Molcas can be installed only with some patched version of OpenMolcas, not with any version of OpenMolcas. An optional step includes installation of current version of OpenMolcas. Molcas command (or input) can be used to switch between different executables (either from Molcas or OpenMolcas installations).

Original repositories for MOLCAS and OpenMolcas are located in directory dev. If you would like to develop either MOLCAS or OpenMolcas codes - it is the right place to do that. Note that the files located in dev/openmolcas are covered by LGPL license, but the files located in dev/molcas-extra are covered by Molcas license and they not be distributed unless it is agreed with Molcas team.

The version of OpenMolcas, which is download to dev/openmolcas is determined by the content of file fetch.openmolcas. If you would like to change the version of OpenMolcas in your installation - you can do it by altering fetch.openmolcas removing files dev/openmolcas and fetch.log, and finally by running fetch.

Another script (which is also run by init is sbin/outofsource which build a source tree src/. Please, note that the files under src/ directory have mixed license, and strictly speaking, one should remove this directory to avoid the confision about these files. From other hand, for the local changes of the code, src is the proper location for modifications, which can be easily tested. If you would like to rebuild this tree, simply delete src/ and rebuild it again by running sbin/outofsource script.

All additional installations of Molcas/OpenMolcas are located at the directory otherversions.


next up previous contents index
Next: 2.2 Alternative versions of Molcas Up: 2. Installation Previous: 2. Installation