# On LUMI # # export SPACK_USER_PREFIX=$HOME/spack # module swap PrgEnv-cray/8.3.3 PrgEnv-gnu/8.3.3 # module load spack/22.08 # module load openblas/0.3.17-gcc-omp-xi # Common flags ############## # # -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 -ffree-line-length-none -I . -mavx -g -fPIC LAPACK_LIB : -L/appl/lumi/spack/22.08/0.18.1/opt/spack/openblas-0.3.17-xinceno/lib -lopenblas IRPF90 : irpf90 IRPF90_FLAGS : --ninja --align=32 -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 -march=native # Profiling flags ################# # [PROFILE] FC : -p -g FCFLAGS : -Ofast # Debugging flags ################# # # -fcheck=all : Checks uninitialized variables, array subscripts, etc... # -g : Extra debugging information # [DEBUG] FCFLAGS : -fcheck=all -g # OpenMP flags ################# # [OPENMP] FC : -fopenmp IRPF90_FLAGS : --openmp