Difference between revisions of "User:Manoj"

From UFRC
Jump to navigation Jump to search
Line 44: Line 44:
 
FFTLIB = -lfftw3xf
 
FFTLIB = -lfftw3xf
 
INCS = -I$(MKLDIR)/include/fftw
 
INCS = -I$(MKLDIR)/include/fftw
FFLAGS = -p -free -names lowercase -assume byterecl
+
FFLAGS = -free -names lowercase -assume byterecl
 
OFLAG  = -O2 -xsse2 -unroll-aggressive -warn general
 
OFLAG  = -O2 -xsse2 -unroll-aggressive -warn general
  
 
</source>
 
</source>

Revision as of 23:27, 12 December 2012

VASP BENCHMARKING

Intel Machine ( E5-2643 @ 3.30GHz)

VASP Native FFT Library

Following library and flags were used:

MKLDIR    = $(HPC_MKL_DIR)
MKLLIBS   = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
FFTLIB = -lfftw3xf
INCS = -I$(MKLDIR)/include/fftw
FFT_OBJS = fftmpi.o fftmpi_map.o fftw3d.o fft3dlib.o
FFLAGS =  -free -names lowercase -assume byterecl
OFLAG  = -O2 -xsse2 -unroll-aggressive -warn general

As a first check, SIMD were changed and following is the result for MgMOS (For input file, please ask Charles Taylor or Manoj Srivastava):

SIMD Instruction Time(s)
sse2 158
sse4.1 156
sse4.2 155
avx 155
ssse3 156

MKL FFTs (via FFTW wrappers)

Upon profiling the code, we found that the code spends most of its time in the FFT libraries, so the next step is to change FFTW libraries. Following changes were made:

FFT_OBJS = fftmpi_map.o fftmpiw.o fftw3d.o fft3dlib.o

(The change here is replacement of "fftmpi.o" of the original VASP makefile with "fftmpiw.o")

MKLDIR    = $(HPC_MKL_DIR)
MKLLIBS   = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core
FFTLIB = -lfftw3xf
INCS = -I$(MKLDIR)/include/fftw
FFLAGS = -free -names lowercase -assume byterecl
OFLAG  = -O2 -xsse2 -unroll-aggressive -warn general