# 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 LAPACK_LIB : -mkl=parallel IRPF90 : irpf90 IRPF90_FLAGS : --ninja --align=32 -DMPI # Global options ################ # # 1 : Activate # 0 : Deactivate # [OPTION] MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below CACHE : 1 ; 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 # #FCFLAGS : -xAVX -O2 -ip -ftz -g -traceback [OPT] FCFLAGS : -xAVX -O2 -ip -ftz -g -traceback -C -fpe0 # 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 # OpenMP flags ################# # [OPENMP] FC : -qopenmp IRPF90_FLAGS : --openmp