Benchmarking: VASP5.3

From Define Wiki
Jump to navigation Jump to search

VASP 5.3

Standard Build

Compilation

In the source directory you will find two tar files. Untar both of them.

vasp.X.tar.gz  
vasp.X.lib.tar.gz


In each directory copy one of the makefiles to 'makefile' and change the compilers to the ones. (ifc -> ifort)

cd vasp.5.3
cp makefile.linux_ifc_P4 makefile
make
cd vasp.5.lib
cp makefile.linux_ifc_P4 makefile
make


Intel Compilation

Build FFTW wrapper library for Intel MKL

  • Build the libfftw3xf_intel.a lib
[root@head-boston ~]# cd /cm/shared/apps/intel/composer_xe/2013_sp1.3.174/mkl/interfaces/fftw3xf
[root@head-boston fftw3xf]# make libintel64 compiler=intel
make -f  makefile lib _IA=intel64
...
[root@head-boston fftw3xf]# ls
fftw3xf.lst  libfftw3xf_intel.a  makefile  wrappers

Build libdmy.a

  • Unpack the vasp.5.lib.tar.gz file
[ccfe@haswell5 vasp.5.lib]$ pwd
/home/ccfe/vasp/vasp.5.lib
[ccfe@haswell5 vasp.5.lib]$ cp makefile.linux_ifc_P4 makefile
[ccfe@haswell5 vasp.5.lib]$ vi makefile
[ccfe@haswell5 vasp.5.lib]$ diff makefile.linux_ifc_P4 makefile
19c19
< FC=ifc
---
> FC=ifort
[ccfe@haswell5 vasp.5.lib]$ make -f makefile
[ccfe@haswell5 vasp.5.lib]$ ls libdmy.a 
libdmy.a

Build VASP

# cd to the vasp directory 
cd ../vasp.5.3.3/
[ccfe@head-boston vasp.5.3.3]$ diff makefile.linux_ifc_P4 makefile
62c62
< FC=ifort 
---
> FC=mpiifort 
98,99c98,99
< CPP     = $(CPP_)  -DHOST=\"LinuxIFC\" \
<           -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DNGXhalf \
---
> #CPP     = $(CPP_)  -DHOST=\"LinuxIFC\" \
> #          -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DNGXhalf \
101a102,106
> CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC\" -DIFC \
>      -DCACHE_SIZE=32000 -DPGF90 -Davoidalloc -DNGZhalf \
>      -DMPI_BLOCK=64000 -DscaLAPACK -Duse_collective -Ddo_loops –DMKL_ILP64
> 
> 
108c113,114
< FFLAGS =  -FR -names lowercase -assume byterecl 
---
> #FFLAGS =  -FR -names lowercase -assume byterecl 
> FFFLAGS = -FR -names lowercase -assume byterecl -I$(MKLROOT)/include/
140a147,151
> #MKL_PATH=$(MKLROOT)/lib/intel64
> 
> #MKL_FFTW_PATH=$(MKLROOT)/interfaces/fftw3xf/
> 
> MKLROOT=/cm/shared/apps/intel/composer_xe/2013_sp1.3.174/mkl
141a153,155
> MKL_FFTW_PATH=$(MKL_PATH)/interfaces/fftw3xf
> BLAS= -mkl=cluster
> LAPACK= -mkl=cluster
143d156
< MKL_FFTW_PATH=$(MKLROOT)/interfaces/fftw3xf/
149c162
< BLAS= -lguide  -mkl 
---
> #BLAS= -lguide  -mkl 
158c171
< LAPACK= $(MKL_PATH)/libmkl_intel_lp64.a 
---
> #LAPACK= $(MKL_PATH)/libmkl_intel_lp64.a 
182c195,197
< FFT3D   = fft3dfurth.o fft3dlib.o
---
> #FFT3D   = fft3dfurth.o fft3dlib.o
> FFT3D= fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o $(MKL_FFTW_PATH)/libfftw3xf_intel.a
> INCS = -I$(MKLROOT)/include/fftw
236a252,253
> SCA=$(MKL_PATH)/libmkl_scalapack_ilp64.a $(MKL_PATH)/libmkl_intelmpi_ilp64.a
>

Replace -lguide with -liomp5