MOLCAS manual:
Next: 2.2 Alternative versions of Molcas
Up: 2. Installation
Previous: 2. Installation
Subsections
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.
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.
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 and 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.
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
.
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: 2.2 Alternative versions of Molcas
Up: 2. Installation
Previous: 2. Installation
|