VASP 5.2 With Intel Compilers on 64-bit AMD Opteron Cluster CentOS Linux

VASP With Intel Compilers on 64-bit AMD Opteron Cluster CentOS Linux

Whilst the Vienna Ab-initio Simulation Package is a popular scientific application among those who like to engage in such things previous comments relating to licensing and installation still largely apply. A new version of VASP has been released resulting in great rejoicing.

Licensing and installation however is still painful. There is no need to engage in much elaboration of why offering source-code after the payment of a license is not a particularly sound idea. I am not convinced of the virtues of having separate Makefiles for various architecture/operating-system/compiler combination rather that using Autoconf.

All this said, start of with a copy of VASP in the users home directory. Make a directory called vasp (mkdir vasp) and and extract the tarball of the two VASP files there (tar xvf vasp.5.lib, tar xvf vasp.5.2).

Change to the vasp.5.lib directory and do:


cd vasp.5.lib
cp makefile.linux makefile
module load openmpi-intel fftw/3.2.2-intel atlas/3.9.1-intel
make

Change to to the vasp.5.x directory (cd ../vasp.5.6), and upload the attached makefile.VASP.txt; this is derived from makefile.linux_ifc_opt and compiling for MPI usage.

Copy the file and use it to compile VASP thus:


cp makefile.txt makefile
make

The code should now compile and generate a 'vasp' executable, which the user should then be able to test.

However the issue doesn't stop there. If one is using Intel compilers with MKL then set OMP_NUM_THREADS, otherwise each processor will launch multiple competing threads on the same node. This will dramatically slow down the rate of output.

The following is sensible PBS script which overcomes this problem.


#!/bin/bash
# PBS -q sque
# PBS -q run_1_day
#PBS -l walltime=24:00:00
# PBS -l pmem=32GB
#PBS -l mem=8GB
#PBS -l nodes=8
#PBS -o output.txt
#PBS -m ae
module load openmpi-intel
module load fftw/3.2.2-intel
cd $PBS_O_WORKDIR
export OMP_NUM_THREADS=1
mpiexec vasp > output

Thanks to Craig West (VPAC), Benji Wakely (La Trobe University) and Andrey Bliznyuk (NCI) in their assistance with makefile development and Michelle Spencer (La Trobe University) for testing.