-
Notifications
You must be signed in to change notification settings - Fork 0
/
Linux-x86-64-intel.psmp
44 lines (41 loc) · 1.7 KB
/
Linux-x86-64-intel.psmp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Author: Alfio Lazzaro ([email protected]), UZH, 2018
# Note: add optimization flags specific for your system (e.g. -xHost).
LIBXSMM = /home/users/p02464/libxsmm/1.8.3_skl_intel
LIBXC = /home/users/p02464/libs/libxc/intel/4.0.3
LIBINT = /home/users/p02464/libs/libint/intel/1.1.6
LIBELPA = /home/users/p02464/libs/libelpa/intel/2017.05.002
CC = cc
CPP =
FC = mpiifort
LD = mpiifort
AR = ar -r
CPPFLAGS =
DFLAGS = -D__MKL -D__FFTW3 -D__LIBXSMM \
-D__parallel -D__SCALAPACK \
-D__ELPA=201705 \
-D__LIBXC \
-D__LIBINT -D__LIBINT_MAX_AM=7 -D__LIBDERIV_MAX_AM1=6 \
-D__MAX_CONTR=4
CFLAGS = $(DFLAGS) -O2
FCFLAGS = $(DFLAGS) -O2 -fopenmp -funroll-loops -fpp -free
FCFLAGS += -fp-model precise
FCFLAGS += -g -traceback
FCFLAGS += -I${MKLROOT}/include -I${MKLROOT}/include/fftw
FCFLAGS += -I$(LIBXSMM)/include
FCFLAGS += -I$(LIBXC)/include
FCFLAGS += -I$(LIBELPA)/include/elpa_openmp-2017.05.002/modules -I$(LIBELPA)/include/elpa_openmp-2017.05.002/elpa
LDFLAGS = $(FCFLAGS) -static-intel
LDFLAGS_C = $(FCFLAGS) -static-intel -nofor_main
LIBS = -L$(LIBELPA)/lib -lelpa_openmp
MKL_LIB = ${MKLROOT}/lib/intel64
LIBS += $(MKL_LIB)/libmkl_scalapack_lp64.a -Wl,--start-group \
$(MKL_LIB)/libmkl_intel_lp64.a ${MKL_LIB}/libmkl_sequential.a \
$(MKL_LIB)/libmkl_core.a \
${MKL_LIB}/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group \
-lpthread -lm
LIBS += -L$(LIBXSMM)/lib -lxsmmf -lxsmm -ldl
LIBS += -L$(LIBXC)/lib -lxcf03 -lxc
LIBS += -L$(LIBINT)/lib -lderiv -lint -lstdc++
# Required due to memory leak that occurs if high optimisations are used
mp2_optimize_ri_basis.o: mp2_optimize_ri_basis.F
$(FC) -c $(subst O2,O0,$(FCFLAGS)) $<