Latest edits: Kaustubh Sawant (15th March 2023)
Source Location:
/depot/jgreeley/apps/vasp/vasp5.4.4/
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.
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.
All zipped version are on depot.
module load intel
module load impi
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)
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