Installing VASP on RCAC Clusters
Latest edits: Kaustubh Sawant (15th March 2023)
Source Location:
/depot/jgreeley/apps/vasp/vasp5.4.4/
About RCAC Clusters:
Unfortunately, all three clusters, i.e Halstead, Brown and Bell have different configurations.
- Halstead and Brown use Intel CPUs. Therefore both require Intel compilers.
- Halstead has Intel-Haswell CPUs, which are a different architecture from Brown, which uses Intel-Skylake CPUs. Therefore, Halstead and Brown have different binaries.
- Bell has AMD CPUs. Therefore they require GCC compilers. Fortunately, Intel compilers also work and sometimes give better performance.
- Negishi is similar to Bell. However we had to recompile Vasp for better performance.
VASP Build System
Please find the VASP provided README File in /Installing_vasp/Vasp5.4.4/README. Important snippets from that file are copied here.
The build system of VASP (as of versions >= 5.4.1) has the following structure:
vasp.X.X.X (root directory)
|
---------------------------------------
| | | |
arch bin build src
|
----------
| |
lib CUDA
root/ : Holds the high-level makefile, and several subdirectories.
root/src : Holds the source files of VASP, and a low-level makefile.
root/src/lib : Holds the source of the VASP library (used to be vasp.X.lib), and a low-level makefile.
root/src/CUDA : Holds the source of the cuda-code that will be executed on the GPU by the GPU port of VASP.
root/arch : Holds a collection of makefile.include.arch files.
root/build : The different versions of VASP, i.e., the standard, gamma-only, non-collinear version will be build in seperate subdirectories of this directory.
root/bin : Here make will store the binaries.
Where is Vasp ?
All zipped version are on depot.
How to make VASP
1. Load the righ modules.
module load intel
module load impi
2. Copy one of the makefile.include.arch files in root/arch to root/makefile.include.
The details of each tag in makefile.include are in the VASP provided README file. Take one that most closely reflects your system (hopefully). For instance, on a linux box with the Intel Composer suite:
cp arch/makefile.include.linux_intel ./makefile.include
In many cases these makefile.include files will have to be adapted to the particulars of your system. For example, we use the OFLAG = -xhost -O2 tag to decide the right level of optimization. Secondly make sure you have the right path for all the libraries. These settings work for all 3 clusters.
BLACS = -lmkl_blacs_intelmpi_lp64
SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS)
OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
INCS =-I$(MKLROOT)/include/fftw
LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS)
3. When you've finished setting up makefile.include, build VASP:
make all
This will build the standard, gamma-only, and non-collinear version of VASP one after the other.
Alternatively on may build these versions individually:
make std
make gam
make ncl