Difference between revisions of "User:Dennisvd@nikhef.nl/VASP"
From PDP/Grid Wiki
Jump to navigationJump to search(2 intermediate revisions by the same user not shown) | |||
Line 88: | Line 88: | ||
Other lines for individual files were present that turned optimization down in a different way. | Other lines for individual files were present that turned optimization down in a different way. | ||
+ | |||
+ | |||
+ | == Building VASP 5.4.1 == | ||
+ | |||
+ | (Jan 2016) | ||
+ | |||
+ | New version has a better layout of the source tree, so more straightforward to build. | ||
+ | |||
+ | Newer Intel compiler installation in /opt/intel (actually /public/public_linux/intel but symlinked because the original path was /opt/intel and that's embedded in nearly every script). | ||
+ | |||
+ | I've made a few changes to the VASP makefile.include: | ||
+ | |||
+ | # Precompiler options | ||
+ | CPP_OPTIONS= -DMPI -DHOST=\"IFC91_ompi\" -DIFC \ | ||
+ | -DCACHE_SIZE=4000 -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 = mpif90 | ||
+ | FCL = mpif90 -mkl | ||
+ | |||
+ | FREE = -free -names lowercase | ||
+ | |||
+ | FFLAGS = -assume byterecl | ||
+ | OFLAG = -O2 | ||
+ | OFLAG_IN = $(OFLAG) | ||
+ | DEBUG = -O0 | ||
+ | |||
+ | MKL_PATH = $(MKLROOT)/lib/intel64 | ||
+ | BLAS = | ||
+ | LAPACK = | ||
+ | BLACS = -lmkl_blacs_custom_lp64 | ||
+ | SCALAPACK = $(MKL_PATH)/libmkl_scalapack_lp64.a $(BLACS) | ||
+ | |||
+ | OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o \ | ||
+ | libfftw3xf_intel.a | ||
+ | INCS =-I$(MKLROOT)/include/fftw | ||
+ | |||
+ | LLIBS = $(SCALAPACK) $(LAPACK) $(BLAS) | ||
+ | |||
+ | 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 = icc | ||
+ | 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 | ||
+ | |||
+ | |||
+ | The blacs_custom is my own openmpi based build | ||
+ | |||
+ | /opt/intel/mkl/lib/intel64_lin/libmkl_blacs_custom_lp64.so | ||
+ | |||
+ | with the help of Intel's support pages. (And Ton helped install it along with the other blacs libraries.) |