# Common flags ############## # module load arm # module load gnu # module load acfl # # -ffree-line-length-none : Needed for IRPF90 which produces long lines # -lblas -llapack : Link with libblas and liblapack libraries provided by the system # -I . : Include the curent directory (Mandatory) # # --ninja : Allow the utilisation of ninja. (Mandatory) # --align=32 : Align all provided arrays on a 32-byte boundary # # [COMMON] FC : gfortran -g -ffree-line-length-none -I . -fPIC -march=native -std=legacy LAPACK_LIB : -larmpl_lp64_mp IRPF90 : irpf90 IRPF90_FLAGS : --ninja --align=32 --assert -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 #################### # # -Ofast : Disregard strict standards compliance. Enables all -O3 optimizations. # It also enables optimizations that are not valid # for all standard-compliant programs. It turns on # -ffast-math and the Fortran-specific # -fno-protect-parens and -fstack-arrays. [OPT] FCFLAGS : -Ofast # Profiling flags ################# # [PROFILE] FC : -p -g FCFLAGS : -Ofast # Debugging flags ################# # # -fcheck=all : Checks uninitialized variables, array subscripts, etc... # -g : Extra debugging information # [DEBUG] FCFLAGS : -g -march=native -fcheck=all -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -Wuninitialized -fbacktrace -ffpe-trap=zero,overflow,underflow -finit-real=nan # OpenMP flags ################# # [OPENMP] FC : -fopenmp IRPF90_FLAGS : --openmp