forked from ecmwf-ifs/ecrad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile_include.intel_atos
47 lines (41 loc) · 1.52 KB
/
Makefile_include.intel_atos
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
# This is a Makefile for the Intel compiler on ECMWF's Atos
# supercomputer: run "make PROFILE=intel_atos". Note that by default
# the Intel compiler puts arrays on the stack, which is likely to
# cause a stack overflow - hence the use of "-heap-arrays" which puts
# them on the heap like most other compilers. If you remove this
# argument you will likely need to set the environment variable
# OMP_STACKSIZE to 64MB.
ifdef RUN_THESE_ON_COMMAND_LINE_FIRST
module load prgenv/intel
module load intel/2021.4.0
module load intel-mpi/2021.4.0
module load intel-mkl/19.0.5
module load netcdf4/4.7.4
module load hdf5/1.10.6
unset OMP_NUM_THREADS
endif
FC = ifort
CC = icc
CPPFLAGS =
ifndef DEBUG
OPTFLAGS = -O2 -march=core-avx2 -no-fma
else
OPTFLAGS = -O0 -check bounds -init=snan
endif
LDFLAGS = -lrt
WARNFLAGS = -warn all
# We used to have the flag "-convert big_endian" here because the RRTM
# input files are big endian Fortran unformatted files, but now the
# file ordering has been specified at the OPEN command so no compiler
# flags are needed.
BASICFLAGS = -module ../mod -fpe0 -assume byterecl -align array64byte \
-traceback -fpic -fp-model precise -heap-arrays \
-fp-speculation=safe -fast-transcendentals -ftz \
-finline-functions -finline-limit=1500 -Winline -assume realloc_lhs
DEBUGFLAGS = -g
OMPFLAG = -qopenmp -qopenmp-threadprivate=compat
#BLAS LIBRARY
BLASLIB=mkl
# location of General Purpose Timing Library (compile with GPTL_TIMING=1 or GPTL_TIMING=2)
TIME_DIR=/home/papu/gptl-ifort
FCLIBS=-lunwind