Page 1 of 1

Intel-IntelMPI-MKL build

Posted: Tue May 26, 2020 4:52 am
by fgygi
The following procedure can be used to build Qbox with the Intel, IntelMPI and MKL libraries.
If these libraries are available through the module system, use first:

Code: Select all

$ module load xerces intel intelmpi mkl
Then save the following file as intel_omp.mk

Code: Select all

#-------------------------------------------------------------------------------
#
#  Qbox intel_omp
#
#  modules:
#
#  xerces intel intelmpi mkl
#
#-------------------------------------------------------------------------------
#
 PLT=x86_64
#-------------------------------------------------------------------------------
 PLTOBJECTS = readTSC.o
 INCLUDE = -I$(MKLROOT)/include

 CXX=mpicxx
 LD=mpicxx

 PLTFLAGS += -DIA32 -D_LARGEFILE_SOURCE \
             -D_FILE_OFFSET_BITS=64 -DUSE_MPI -DSCALAPACK -DADD_ \
             -DAPP_NO_THREADS -DXML_USE_NO_THREADS -DUSE_XERCES -DUSE_UUID \
             -DMPICH_IGNORE_CXX_SEEK

 FFT=FFTW3
 PLTFLAGS += -DUSE_FFTW3
 PLTFLAGS += -DFFTW3_2D
 LIBS += -lfftw3

 CXXFLAGS=  -g -qopenmp -O3 -D$(PLT) $(INCLUDE) $(PLTFLAGS) $(DFLAGS)

 LIBPATH += -L$(MKLROOT)/lib/intel64  \

 LIBS +=  -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \
          -lmkl_intel_lp64 \
          -lmkl_lapack95_lp64 -lmkl_intel_thread -lmkl_core \
          -lxerces-c -liomp5 -lpthread  -luuid

 LDFLAGS = $(LIBPATH) $(LIBS)
#-------------------------------------------------------------------------------
Then build Qbox using

Code: Select all

$ export TARGET=intel_omp
$ make
This procedure was tested on midway2.rcc.uchicago.edu.