Compiling VASP 5.4.1 on ARCHER (Cray XC30)
This page provides compilation instructions for VASP 5.4.1 on ARCHER (Cray XC30, Ivy Bridge).
Module Setup
Swap to the Intel compiler suite; load the FFTW library module:
module swap PrgEnv-cray PrgEnv-intel module add fftw
Full list of loaded modules at compile time for the centrally installed version:
Currently Loaded Modulefiles: 1) modules/3.2.10.2 2) eswrap/1.1.0-1.010400.915.0 3) switch/1.0-1.0501.47124.1.93.ari 4) craype-network-aries 5) pbs/12.2.401.141761 6) craype-ivybridge 7) cray-mpich/7.1.1 8) packages-archer 9) budgets/1.1 10) checkScript/1.1 11) checkQueue/1.0 12) checkDisk/1.0 13) bolt/0.6 14) serialJobs/1.0 15) python/2.7.6 16) tkdiff/4.2 17) nano/2.2.6 18) imagemagick/6.8.8-2 19) leave_time/1.0.0 20) quickstart/1.0 21) epcc-tools/1.4 22) numpy/1.8.0-libsci 23) zlib/1.2.8 24) libpng/1.6.8 25) matplotlib/1.3.1 26) craype/2.2.1 27) fftw/3.3.4.1 28) intel/14.0.4.211 29) cray-libsci/13.0.1 30) udreg/2.3.2-1.0501.7914.1.13.ari 31) ugni/5.0-1.0501.8253.10.22.ari 32) pmi/5.0.6-1.0000.10439.140.2.ari 33) dmapp/7.0.1-1.0501.8315.8.4.ari 34) gni-headers/3.0-1.0501.8317.12.1.ari 35) xpmem/0.1-2.0501.48424.3.3.ari 36) job/1.5.5-0.1_2.0501.48066.2.43.ari 37) csa/3.0.0-1_2.0501.47112.1.91.ari 38) dvs/2.4_0.9.0-1.0501.1672.2.122.ari 39) alps/5.1.1-2.0501.8507.1.1.ari 40) rca/1.0.0-2.0501.48090.7.46.ari 41) atp/1.7.5 42) PrgEnv-intel/5.1.29
Create makefile.include
The new build process for VASP (introduced for version 5.4.1) requires the correct options to be set in makefile.include in the root directory of the source distribution.
The makefile.include used on ARCHER can be downloaded from:
and the full source is shown at the bottom of this page.
The build on ARCHER uses:
- Intel compilers
- Intel MKL for linear algebra
- FFTW for FFT's
Build the code
You build all the VASP executables with:
make all
This will produce the following executables in the bin directory:
- vasp_std - Multiple k-point version
- vasp_gam - GAMMA-point version
- vasp_ncl - Non-collinear version
All versions include the additional MD algorithms accessed via the MDALGO keyword.
Contents of makefile.include.crayxc_intel
############################################################## # # VASP 5.4.1 compile options # # Cray XC30 (ARCHER): # * Intel compilers # * MKL # * FFTW # # A. R. Turner, EPCC, 2015 # Precompiler options CPP_OPTIONS= -DMPI -DHOST=\"CrayXC-Intel\" \ -DIFC \ -DCACHE_SIZE=2000 \ -DPGF90 \ -Davoidalloc \ -DMPI_BLOCK=8000 \ -DscaLAPACK \ -Duse_collective \ -DnoAugXCmeta \ -Duse_bse_te \ -Duse_shmem \ -Dtbdyn CPP = fpp -f_com=no -free -w0 $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS) FC = ftn FCL = ftn FREE = -free -names lowercase FFLAGS = -assume byterecl OFLAG = -O3 -ip -fno-alias -unroll-aggressive -opt-prefetch -use-intel-optimized-headers -no-prec-div OFLAG_IN = $(OFLAG) DEBUG = -O0 MKL_PATH = $(MKLROOT)/lib/intel64 BLAS = LAPACK = BLACS = SCALAPACK = OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o INCS = LLIBS = ${MKL_PATH}/libmkl_blas95_lp64.a ${MKL_PATH}/libmkl_lapack95_lp64.a \ ${MKL_PATH}/libmkl_scalapack_lp64.a \ -Wl,--start-group ${MKL_PATH}/libmkl_intel_lp64.a \ ${MKL_PATH}/libmkl_sequential.a ${MKL_PATH}/libmkl_core.a \ ${MKL_PATH}/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group OBJECTS_O1 += fft3dfurth.o fftw3d.o fftmpi.o fftmpiw.o OBJECTS_O2 += fft3dlib.o # For what used to be vasp.5.lib CPP_LIB = $(CPP) FC_LIB = $(FC) CC_LIB = cc CFLAGS_LIB = -O FFLAGS_LIB = -O1 FREE_LIB = $(FREE) OBJECTS_LIB= linpack_double.o getshmem.o # Normally no need to change this SRCDIR = ../../src BINDIR = ../../bin
Back to the VASP page