Cluster installation of VASP with Intel Compilers

Previous comments concerning VASP installs still largely apply.

1. It still performs ab-initio quantum-mechanical molecular dynamics (MD) using pseudopotentials and a plane wave basis set.

2. It still has an weird and frustrating license which is open source (if you pay them) but not free.

3. It still is released without standard autoconfiguration tools and with make files for a variety of system architectures which rarely match was diverse users might wish to use, thus requiring posts like this every time a new version is released.

In this instance we start of with a copy of VASP in the user's 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.3).


# tar xvf vasp.5.lib.tar.gz
# tar xvf vasp.5.3.3.tar.gz
# module load openmpi-intel
# module load fftw/3.3.2-intel
# cd vasp.5.lib
# cp makefile.linux_ifc_P4 makefile
# vim makefile

Modify to the following (seriously guys, ifc?):


# diff makefile makefile.linux_ifc_P4
19c19
< FC=ifort
---
> FC=ifc

And install..

# make

Change to VASP

# cd ../vasp.5.3
# cp makefile.linux_ifc_P4 makefile
# vim makefile

Modify to the following:


diff makefile makefile.linux_ifc_P4
62c62
< FC=mpif90
---
> FC=ifort
149,151c149
< #BLAS= -lguide -mkl
<
< BLAS= -mkl
---
> BLAS= -lguide -mkl
160,162c158
< #LAPACK= $(MKL_PATH)/libmkl_intel_lp64.a
<
< LAPACK= /usr/local/intel/composerxe/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_intel_lp64.a
---
> LAPACK= $(MKL_PATH)/libmkl_intel_lp64.a
209,210c205,206
< FC=mpif90
< FCL=$(FC)
---
> #FC=mpif90
> #FCL=$(FC)
227,230c223,226
< CPP = $(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \
< -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf \
< -DMPI_BLOCK=8000 -Duse_collective -DscaLAPACK
< # -DRPROMU_DGEMV -DRACCMU_DGEMV
---
> #CPP = $(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \
> # -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf \
> # -DMPI_BLOCK=8000 -Duse_collective -DscaLAPACK
> ## -DRPROMU_DGEMV -DRACCMU_DGEMV
245,247c241,243
< LIB = -L../vasp.5.lib -ldmy \
< ../vasp.5.lib/linpack_double.o \
< $(SCA) $(LAPACK) $(BLAS)
---
> #LIB = -L../vasp.5.lib -ldmy \
> # ../vasp.5.lib/linpack_double.o \
> # $(SCA) $(LAPACK) $(BLAS)
257,258c253
< FFT3D = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /usr/local/fftw/3.3.2-intel/lib/libfftw3.a
< # /opt/libs/fftw-3.1.2/lib/libfftw3.a
---
> #FFT3D = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /opt/libs/fftw-3.1.2/lib/libfftw3.a

Damned if I could find the guide libraries. Note the hardcoded path (ugh). I could recompile Intel...

.. and install

# make

The code should now compile and generate a 'vasp' executable, which the user should then be able to test, once changed to their user and group. Don't forget the OMP_NUM_THREADS issue previously cited.

Initial executable worked only in serial. Still fighting this and will update as progress continues. "A luta continua", as the Portuguese say.