# Common flags ############## # # -mkl=[parallel|sequential] : Use the MKL library # --ninja : Allow the utilisation of ninja. It is mandatory ! # --align=32 : Align all provided arrays on a 32-byte boundary # [COMMON] FC : mpiifort -fpic LAPACK_LIB : -mkl=parallel IRPF90 : irpf90 IRPF90_FLAGS : --ninja --align=32 -DINTEL -DSET_NESTED # Global options ################ # # 1 : Activate # 0 : Deactivate # [OPTION] MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below CACHE : 0 ; Enable cache_compile.py OPENMP : 1 ; Append OpenMP flags # Optimization flags #################### # # -xHost : Compile a binary optimized for the current architecture # -O2 : O3 not better than O2. # -ip : Inter-procedural optimizations # -ftz : Flushes denormal results to zero # [OPT] FC : -traceback -shared-intel FCFLAGS : -O2 -ip -g -march=core-avx2 -align array64byte -fma -ftz -fomit-frame-pointer # Profiling flags ################# # [PROFILE] FC : -p -g FCFLAGS : -xSSE4.2 -O2 -ip -ftz # Debugging flags ################# # # -traceback : Activate backtrace on runtime # -fpe0 : All floating point exaceptions # -C : Checks uninitialized variables, array subscripts, etc... # -g : Extra debugging information # -xSSE2 : Valgrind needs a very simple x86 executable # [DEBUG] FC : -g -traceback FCFLAGS : -xSSE2 -C -fpe0 -implicitnone # OpenMP flags ################# # [OPENMP] FC : -qopenmp IRPF90_FLAGS : --openmp