Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
installation_guide [2021/10/08 07:47] – doll | installation_guide [2024/07/12 08:37] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Installation guide ====== | ||
+ | |||
+ | Molpro is distributed to licensees on a self-service basis using the world-wide web. Those entitled to the code should obtain it from https:// | ||
+ | |||
+ | Execution of Molpro, whether a supplied binary or built from source, requires a valid licence key. Note that the key consists of two components, namely a list of comma-separated key=value pairs, and a password string, and these are separated by ‘& | ||
+ | |||
+ | |||
+ | ===== Installation of pre-built binaries ===== | ||
+ | |||
+ | ==== Prerequisites ==== | ||
+ | |||
+ | Our Linux binaries are built on the oldest supported version of CentOS, from Molpro 2020.2 onwards this is CentOS 7 and the binaries will therefore require a glibc of 2.17 or greater. If your system is older than this you can either install an older version of Molpro binary, [[installation_guide# | ||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | Binaries are given as self-extracting tar archives which are installed by running them on the command line. After downloading simply uncompress the gzip file, ensure it is executable, then directly run the file. You will need to run with '' | ||
+ | |||
+ | The binaries are fully relocatable, | ||
+ | |||
+ | If the script finds a licence key which has been cached in '' | ||
+ | '' | ||
+ | |||
+ | When your licence is valid for one specific computer only (e.g. licences of type node8, node32, and especially if you hold a trial licence), then it is necessary to determine and enter the sysid on your account page. Only after that, a valid token may be downloaded. | ||
+ | |||
+ | Other configuration options may also be specified in the molpro script file found in the bin directory of the install. | ||
+ | |||
+ | ==== Detailed installation of the trial version ==== | ||
+ | |||
+ | If you hold a trial licence, then this corresponds to the installation of pre-built binaries as just described | ||
+ | ([[installation_guide# | ||
+ | , for one specific | ||
+ | computer. Presently, trial licences are only available for Linux and Mac. | ||
+ | |||
+ | This is necessary: | ||
+ | |||
+ | 1) On your account page which you made at www.molpro.net , in section " | ||
+ | the licence agreement.\\ | ||
+ | 2) The trial licence is only valid for one specific computer. | ||
+ | You have to determine the sysid of this computer. | ||
+ | Download the script getinfo.sh from https:// | ||
+ | 3) Run the script on the computer where you want to install Molpro on, like this: | ||
+ | **sh getinfo.sh**\\ | ||
+ | This will give an output such as: **12m00224dacb030**\\ | ||
+ | In some cases, it may look like this: **12m00224dacb030: | ||
+ | The first number is the number of cores, i.e. in this example 12m means 12 cores.\\ | ||
+ | 4) Enter the full string on your account page in the section " | ||
+ | There should now be a link " | ||
+ | 5) Now go to " | ||
+ | Download the version for your operating system (Linux or Mac, but not Windows).\\ | ||
+ | 6) Uncompress the file molpro-mpptype-arch.sh.gz (it might be called e.g. molpro-mpp-2021.2.1.linux_x86_64_sockets.sh.gz )\\ | ||
+ | **gunzip molpro-mpptype-arch.sh.gz**\\ | ||
+ | 7) Run the file as root: | ||
+ | **sudo sh molpro-mpptype-arch.sh**\\ | ||
+ | Questions as shown below pop up. You may hit the return key which will use the defaults.\\ | ||
+ | **Enter bin directory to link Molpro (optional)** (hit return key)\\ | ||
+ | **Enter installation directory for Molpro files [/ | ||
+ | **Please give your username for accessing molpro** (enter the account name of your account)\\ | ||
+ | **Please give your password for accessing molpro** (enter the password of your account)\\ | ||
+ | When things have worked well, you should get a message: | ||
+ | You may now try to run molpro: | ||
+ | |||
+ | ==== Installation of a full version ==== | ||
+ | |||
+ | licences for single machines: the steps are the same as when installing the trial version | ||
+ | |||
+ | group, site, service licences: it is not necessary to determine a sysid. The other steps are similar as when installing the trial version. | ||
+ | File permissions should be set in such a way that the code is only made available to users which are covered by the licence. | ||
+ | |||
+ | |||
+ | ===== Installation from source files ===== | ||
+ | |||
+ | ==== Overview ==== | ||
+ | |||
+ | Installing Molpro from source files involves the following distinct stages: | ||
+ | |||
+ | * **Configuration** A shell script that allows specification of configuration options is run, and creates a configuration file that drives subsequent installation steps. | ||
+ | * **Building** The program is compiled and linked, and other miscellaneous utilities and files, including the default options file, are built. The essential resulting components are | ||
+ | - The '' | ||
+ | - The '' | ||
+ | - Machine-ready basis-set, and other utilities and libraries. | ||
+ | * **Tuning** The program can be tuned for production by running tuning inputs and by making manual changes to the environment. | ||
+ | * **Testing** A suite of self-checking test jobs is run to provide assurance that the code as built will run correctly. | ||
+ | * **Final Install** The program can be run directly from the source tree in which it is built, but it is usually recommended to run the procedure that installs the essential components in standard system directories. | ||
+ | |||
+ | ==== Prerequisites ==== | ||
+ | |||
+ | The following are required or strongly recommended for installation from source code. | ||
+ | |||
+ | - A modern version of GNU Fortran compiler. Molpro has Fortran code spanning Fortran 77 standard up to and including F2018 standard features. We aim to test Molpro regularly using the latest released version of GNU Fortran compiler. | ||
+ | - A C++17 standard C++ compiler. We aim to test Molpro regularly with the latest released version of GCC. | ||
+ | - A C99 standard C compiler. This is used to compile external libraries such as [[https:// | ||
+ | - A Python interpreter. | ||
+ | - GNU Make. | ||
+ | - CMake, version 3.14 or newer. This is used to build external libraries such as [[https:// | ||
+ | - Eigen template library, version 3.3 or newer. | ||
+ | - Git, version 1.9 or newer. | ||
+ | - For good performance it is important to use an appropriate LAPACK library which must also contain a full implementation of BLAS; in particular, a fast implementation of the matrix multiplication '' | ||
+ | - A large scratch file system containing a directory that users may write on. | ||
+ | - An MPI wrapped C++ compiler, eg. '' | ||
+ | - The source code of Molpro. | ||
+ | |||
+ | There are example Dockerfiles for {{: | ||
+ | < | ||
+ | # build Molpro on MacOS, ARM architecture | ||
+ | # MacOS 12.6 Monterey | ||
+ | # prerequisite 1: command line developer tools, start with xcode-select --install | ||
+ | # Note: Xcode 14.0 is incompatible with gcc, and cannot be used. See https:// | ||
+ | # prerequisite 2: install homebrew, starting from https:// | ||
+ | brew unlink open-mpi | ||
+ | brew install doxygen eigen gcc lapack python3 mpich cmake coreutils wget | ||
+ | brew link mpich | ||
+ | export CC=gcc-12 CXX=g++-12 | ||
+ | export MPICXX=mpicxx MPICC=mpicc MPICH_CC=${CC} MPICH_CXX=${CXX} | ||
+ | wget -O - https:// | ||
+ | git clone git@github.com: | ||
+ | cd molpro | ||
+ | ./configure && make -j20 && version=$(grep PACKAGE_VERSION build/ | ||
+ | </ | ||
+ | and for Mac with Intel: | ||
+ | < | ||
+ | # build Molpro on MacOS, Intel architecture | ||
+ | # MacOS 12.6 Monterey | ||
+ | # prerequisite 1: command line developer tools, start with xcode-select --install | ||
+ | # Note: Xcode 14.0 is incompatible with gcc, and cannot be used. See https:// | ||
+ | # prerequisite 2: install homebrew, starting from https:// | ||
+ | # prerequisite 3: Intel MKL from https:// | ||
+ | |||
+ | brew install eigen gcc python3 openmpi cmake coreutils | ||
+ | git clone https:// | ||
+ | git clone git@github.com: | ||
+ | export OMPI_CXX=g++-12 OMPI_CC=gcc-12 | ||
+ | cd molpro | ||
+ | ./configure && make -j10 && sudo make install && sudo ln -s / | ||
+ | </ | ||
+ | |||
+ | Molpro can also be built using compilers and libraries from | ||
+ | [[https:// | ||
+ | environment with Molpro: | ||
+ | < | ||
+ | # build Molpro using conda toolchain | ||
+ | build_environment=molpro-build | ||
+ | deploy_environment=molpro-build # change this to an existing environment in which you want molpro, if you like | ||
+ | |||
+ | conda create -y -n ${build_environment} cxx-compiler c-compiler fortran-compiler mpich mkl-devel eigen cmake git curl wget make | ||
+ | conda activate ${deploy_environment} && deploy_prefix=${CONDA_PREFIX} || exit 1 | ||
+ | conda activate ${build_environment} | ||
+ | wget -O - https:// | ||
+ | cd ga-5.8.1 && ./configure --prefix=${CONDA_PREFIX} --with-blas=no --with-lapack=no --with-scalapack=no --disable-f77 --with-mpi-pr && make -j10 && make install && cd .. && rm -rf ga-5.8.1 | ||
+ | git clone git@github.com: | ||
+ | cd molpro | ||
+ | ./configure --prefix=${deploy_prefix} CXX=mpicxx && make -j20 && version=$(grep PACKAGE_VERSION build/ | ||
+ | </ | ||
+ | ==== Configuration ==== | ||
+ | |||
+ | After untarring the source code, change to the directory that has been created. | ||
+ | |||
+ | Next check that the tools you require, such as the Fortran compiler, are in your PATH. Then run the command | ||
+ | |||
+ | < | ||
+ | ./configure | ||
+ | </ | ||
+ | which creates the file '' | ||
+ | |||
+ | **Options specification** | ||
+ | |||
+ | The '' | ||
+ | |||
+ | < | ||
+ | ./configure --help | ||
+ | </ | ||
+ | while some commonly used ones include: | ||
+ | |||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | * **'' | ||
+ | |||
+ | Additionally variables such as '' | ||
+ | |||
+ | < | ||
+ | ./configure CPPFLAGS=-I/ | ||
+ | LDFLAGS=-L/ | ||
+ | </ | ||
+ | Another case could be specifying the location of Eigen: | ||
+ | |||
+ | < | ||
+ | ./configure CPPFLAGS=-I/ | ||
+ | </ | ||
+ | ==== Building ==== | ||
+ | |||
+ | After configuration, | ||
+ | |||
+ | '' | ||
+ | |||
+ | in the Molpro base directory. Most of the standard options for GNU //make// can be used safely; in particular, '' | ||
+ | |||
+ | ==== Tuning ==== | ||
+ | |||
+ | Molpro can be tuned for a particular system by running in the root directory the command | ||
+ | |||
+ | '' | ||
+ | |||
+ | This job automatically determines a number of tuning parameters and appends these to the file '' | ||
+ | |||
+ | **Adjusting the default environment for Molpro** | ||
+ | |||
+ | The default running options for Molpro are stored in the script '' | ||
+ | |||
+ | ==== Testing ==== | ||
+ | |||
+ | At this stage, it is essential to check that the program has compiled correctly. The makefile target //test// (i.e., command '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | If any test jobs fail, the cause must be investigated. If, after due efforts to fix problems of a local origin, the problem cannot be resolved, the developers of Molpro would appreciate receiving a report, see our [[https:// | ||
+ | |||
+ | ==== Final Install ==== | ||
+ | |||
+ | Although the program can be used in situ, it is usually convenient to make a system wide install for production. The install process copies only those files needed at run time into appropriate installation directories as specified at configuration time (see [[# | ||
+ | |||
+ | '' | ||
+ | |||
+ | The complete source tree can then be archived and deleted. | ||
+ | |||
+ | During the install process the key from '' | ||