# 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 : ifort LAPACK_LIB : -mkl=parallel IRPF90 : irpf90 IRPF90_FLAGS : --ninja --align=32 # Global options ################ # # 1 : Activate # 0 : Deactivate # [OPTION] MODE : DEBUG ; [ 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 # [OPT] FC : -traceback FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g # 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