forked from shedsaw/exciting-plus-rgvw-mod
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake.inc.summit.gcc.cpu
59 lines (47 loc) · 1.77 KB
/
make.inc.summit.gcc.cpu
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
45
46
47
48
49
50
51
52
53
54
55
56
57
MAKE = make
F90 = mpifort
F90SERIAL = gfortran
CXX = mpic++
CC = mpicc
# Debugging
#CPP_OPTS = -cpp -D_MPI_
#F90_OPTS = -g -Wall $(CPP_OPTS) -fopenmp
#F90_OPTS_SERIAL = ${F90_OPTS/-D_MPI_ -fopenmp/}
#F90_LINK_OPTS=$(F90_OPTS) -fPIC
# Debugging with extra checks
# (Don't forget to enable core dump generation using `ulimit -c unlimited`)
#CPP_OPTS = -cpp -D_MPI_
#F90_OPTS = -O0 -Wall -g -fbounds-check -fdump-core -fbacktrace $(CPP_OPTS) -fopenmp
#F90_OPTS_SERIAL = ${F90_OPTS/-D_MPI_ -fopenmp/}
#F90_LINK_OPTS=$(F90_OPTS) -fPIC
# Optimized build
CPP_OPTS = -cpp -D_MPI_
F90_OPTS = -Ofast -gopt $(CPP_OPTS) -fopenmp
F90_OPTS_SERIAL = ${F90_OPTS/-D_MPI_ -fopenmp/}
F90_LINK_OPTS=$(F90_OPTS) -fPIC
# Profiling
#CPP_OPTS = -cpp -D_MPI_
#F90_OPTS = -pg -Ofast $(CPP_OPTS) -fopenmp
#F90_OPTS_SERIAL = ${F90_OPTS/-D_MPI_ -fopenmp/}
#F90_LINK_OPTS=$(F90_OPTS) -fPIC
# Use IBM ESSL
# Make sure to source summit-xlpaths.sh
LAPACK_LIB = -L${OLCF_ESSL_ROOT}/lib64 -lessl -L${OLCF_XLF_ROOT}/lib -lxlf90_r
# === compile with HDF5 support ===
HDF5_INC = -I${OLCF_HDF5_ROOT}/include
HDF5_LIB = -L${OLCF_HDF5_ROOT} -lhdf5_fortran -lhdf5_cpp -lhdf5_hl -lhdf5 -ldl
HDF5_OPTS = -D_HDF5_ $(HDF5_INC)
CPP_OPTS := $(CPP_OPTS) $(HDF5_OPTS)
# ==- compile with libXC support ===
#CPP_OPTS := $(CPP_OPTS) -D_LIBXC_
#XC_LIB =
# ==- compile with NFFT support ===
#CPP_OPTS := $(CPP_OPTS) -D_NFFT_
#NFFT_INC = -I$(HOME)/local/include
#NFFT_LIB = $(HOME)/local/lib/libnfft3.a $(HOME)/local/lib/libfftw3.a
# === compile with Madness API ===
#CPP_OPTS := $(CPP_OPTS) -D_MAD_
#MADNESS_INC = -I$(HOME)/local/include
#MADNESS_LIB = -L$(HOME)/local/lib/ -lMADmra -lMADlinalg -lMADtensor -lMADmisc -lMADmuparser -lMADtinyxml -lMADworld -lmpichcxx -lstdc++
# === collect all libraries under one name ===
LIBS = $(LAPACK_LIB) $(HDF5_LIB)