-
Notifications
You must be signed in to change notification settings - Fork 18
LIO installation
Thank you for using LIO! The following installation guide is meant to be as comprehensible as possible. For a quick reference just run the following line in the LIO folder, replacing XX with the appropriate compute capability (see below for further explanations):
make -j smXX=1
The bare minimum requirements for LIO include:
- A LINUX installation (frequently Ubuntu or CentOS).
- A FORTRAN/C++ compiler supporting OpenMP (usually GNU or intel).
- BLAS and LAPACK libraries (liblapack-dev liblas-dev packages).
- NVIDIA CUDA libraries for a GPU installation.
Optional packages (that enable the full range of XC functionals) are:
- LIBXC, an exchange-correlation library. Their GPU version is not currently supported by LIO, but we provide our own LIBXC GPU version
- LIBINT, an electron gaussian integrals library.
You must first download LIO from the MALBECC repo, then go to the downloaded LIO folder (extract first if downloaded as tar.gz).
If you want access to new and experimental features, you can change to the develop branch using the following git command within the LIO folder:
git checkout develop
For a CPU-only installation, you need only run make within the main LIO folder, using the following options:
make cuda=0
For a GPU installation, please verify first that CUDA is already installed, and that the CUDAHOME environment variable is properly set (usually pointing to /usr/local/cuda). Then, run make with the following options:
make smXX=1
Where XX should be replaced with the appropriate compute capability for a given GPU. See the Wikpedia chart in order to know which compute capability is available for said GPU. In case more than one type of GPU is present (for example, in HPC cluster installations), it is possible to specify multiple architectures. For example, if GForce GTX 980, 1080 and 1660 GPUs are present, the following line makes code compatible with all of them:
make sm52=1 sm61=1 sm75=1
After everything is successfully compiled, it is advisable to add the following line to your /home/USER/.bashrc, replacing /PATH/TO/LIO to the current LIO folder. This will configure all of the LIO-specific environment variables:
source PATH_TO_LIO/liohome.sh
As a side note, other relevant compilation options are:
- intel=2 - when using Intel FORTRAN/C++ compilers.
- analytics=3 - enables debug information at compilation and runtime levels.
A LIO with LIBXC+LIBINT compilation allows you to use several different XC functionals (both pure and hybrid). This is currently supported only in the develop branch, but it will be available as a main feature in future releases. As a prerrequisite for this installation, you must of course install first LIBINT and LIBXC.