Skip to content
<!-- Generated by scripts/make_build_modes_page.py from `fobis build --lmodes`: do not edit by hand. -->

Build modes ​

The fobos files define 126 modes. Build one with fobis build --mode <mode>; the executables go to exe/.

  • Varsets. A varset selects the machine and toolchain: the HDF5 build ($HDF5_PREFIX) and, for nvfortran, the GPU compute capability ($NVF_CC). The default varset is local_gnu. Every nvfortran mode needs --varset with an NVF varset, or -gpu=$NVF_CC stays unexpanded and the first nvfortran call fails. The varset table is on the install page. In the tables, default is local_gnu (or the machine's GNU varset: ci_gnu, iac_gnu); NVF is a varset that sets $NVF_CC (local_nvf, iac_nvf, leonardo, spacehpc); AMD is a varset that sets the amdflang HDF5 (local_amd, thera_amd), combined with a gfx* varset to change $GPU_ARCH from its default, gfx942.
  • Names. <target>-<backend>-<compiler>[-<variant>]: cpu is the CPU backend (MPI, optionally OpenMP), fnl the GPU backend (OpenACC with nvf, OpenMP offload with omp-amd). Build clean after switching compiler: .mod files work only with the compiler that wrote them.
  • Status. Only FLUME and PRISM (and RIPPLE, the tutorial app) are maintained against the current library.

FLUME ​

Status: maintained.

ModeBackendVariantVarset
flume-cpu-gnuCPU (gfortran)—default
flume-cpu-gnu-ompCPU (gfortran)CPU OpenMP threadsdefault
flume-cpu-gnu-debugCPU (gfortran)debug flagsdefault
flume-cpu-gnu-fftCPU (gfortran)links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran)default
flume-cpu-gnu-fft-debugCPU (gfortran)debug flags, links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran)default
flume-fnl-nvfFNL, OpenACC (nvfortran)—NVF
flume-fnl-nvf-debugFNL, OpenACC (nvfortran)debug flagsNVF
flume-fnl-nvf-fftFNL, OpenACC (nvfortran)links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran)NVF
flume-fnl-nvf-fft-debugFNL, OpenACC (nvfortran)debug flags, links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran)NVF
flume-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
flume-fnl-omp-amd-debugFNL, OpenMP offload (amdflang)debug flagsAMD

PRISM ​

Status: maintained.

ModeBackendVariantVarset
prism-cpu-gnuCPU (gfortran)—default
prism-cpu-gnu-debugCPU (gfortran)debug flagsdefault
prism-fnl-nvfFNL, OpenACC (nvfortran)—NVF
prism-fnl-nvf-debugFNL, OpenACC (nvfortran)debug flagsNVF
prism-fnl-nvf-spacehpcFNL, OpenACC (nvfortran)the spacehpc machine's flagsNVF
prism-cpu-amdCPU (amdflang)—AMD
prism-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
prism-fnl-omp-amd-debugFNL, OpenMP offload (amdflang)debug flagsAMD

RIPPLE ​

Status: maintained (the tutorial's toy app).

ModeBackendVariantVarset
ripple-cpu-gnuCPU (gfortran)—default
ripple-cpu-gnu-debugCPU (gfortran)debug flagsdefault
ripple-fnl-nvfFNL, OpenACC (nvfortran)—NVF
ripple-fnl-nvf-debugFNL, OpenACC (nvfortran)debug flagsNVF

ASCOT ​

Status: utility, not maintained.

ModeBackendVariantVarset
ascot-nvf-cudaCUDA Fortran (nvfortran)—NVF
ascot-omp-amdGPU, OpenMP offload (amdflang)—AMD
ascot-omp-amd-debugGPU, OpenMP offload (amdflang)debug flagsAMD

NASTO ​

Status: not maintained.

ModeBackendVariantVarset
nasto-cpu-gnuCPU (gfortran)—default
nasto-cpu-gnu-debugCPU (gfortran)debug flagsdefault
nasto-fnl-nvfFNL, OpenACC (nvfortran)—NVF
nasto-fnl-nvf-debugFNL, OpenACC (nvfortran)debug flagsNVF
nasto-cpu-amdCPU (amdflang)—AMD
nasto-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
nasto-fnl-omp-amd-debugFNL, OpenMP offload (amdflang)debug flagsAMD

CHASE ​

Status: does not build (superseded by FLUME).

ModeBackendVariantVarset
chase-cpu-gnuCPU (gfortran)—default
chase-cpu-gnu-debugCPU (gfortran)debug flagsdefault
chase-fnl-nvfFNL, OpenACC (nvfortran)—NVF
chase-fnl-nvf-debugFNL, OpenACC (nvfortran)debug flagsNVF
chase-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
chase-fnl-omp-amd-debugFNL, OpenMP offload (amdflang)debug flagsAMD

PATCH ​

Status: does not build.

ModeBackendVariantVarset
patch-cpu-gnuCPU (gfortran)—default
patch-cpu-gnu-debugCPU (gfortran)debug flagsdefault
patch-fnl-nvfFNL, OpenACC (nvfortran)—NVF
patch-fnl-nvf-debugFNL, OpenACC (nvfortran)debug flagsNVF
patch-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
patch-fnl-omp-amd-debugFNL, OpenMP offload (amdflang)debug flagsAMD

Library ​

ModeBackendVariantVarset
adam-com-gnucommon library (gfortran)—default
adam-com-gnu-debugcommon library (gfortran)debug flagsdefault
adam-com-nvfcommon library (nvfortran)—NVF
adam-com-nvf-debugcommon library (nvfortran)debug flagsNVF
adam-com-omp-amdcommon library (amdflang)—AMD
adam-com-omp-amd-debugcommon library (amdflang)debug flagsAMD

Tests ​

ModeBackendVariantVarset
test-flume-euler-library-gnuCPU (gfortran)—default
test-flume-euler-library-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-flume-euler-library-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-flume-mhd-library-gnuCPU (gfortran)—default
test-flume-mhd-library-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-flume-mhd-library-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-flume-mhd-riemann-gnuCPU (gfortran)—default
test-flume-mhd-riemann-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-flume-mhd-riemann-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-flume-positivity-gnuCPU (gfortran)—default
test-flume-weno-interpolation-gnuCPU (gfortran)—default
test-flume-weno-weights-gnuCPU (gfortran)—default
test-flume-weno-interpolation-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-flume-weno-interpolation-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-flume-user-criterion-cpu-gnuCPU (gfortran)—default
test-ripple-crest-criterion-cpu-gnuCPU (gfortran)—default
test-fdv-curl-trigonometric-gnuCPU (gfortran)—default
test-fdv-curl-trigonometric-gnu-debugCPU (gfortran)debug flagsdefault
test-fdv-fnl-curl-trigonometric-nvfFNL, OpenACC (nvfortran)—NVF
test-fdv-fnl-operators-trigonometric-nvfFNL, OpenACC (nvfortran)—NVF
test-fdv-fnl-operators-vector-trigonometric-nvfFNL, OpenACC (nvfortran)—NVF
test-fdv-fnl-curl-trigonometric-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-fdv-fnl-operators-trigonometric-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-fdv-fnl-operators-vector-trigonometric-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-fdv-divergence-trigonometric-gnuCPU (gfortran)—default
test-fdv-divergence-trigonometric-gnu-debugCPU (gfortran)debug flagsdefault
test-fdv-gradient-trigonometric-gnuCPU (gfortran)—default
test-fdv-gradient-trigonometric-gnu-debugCPU (gfortran)debug flagsdefault
test-fdv-laplacian-trigonometric-gnuCPU (gfortran)—default
test-fdv-laplacian-trigonometric-gnu-debugCPU (gfortran)debug flagsdefault
test-fdv-operators-step-gnuCPU (gfortran)—default
test-fdv-operators-step-gnu-debugCPU (gfortran)debug flagsdefault
test-fdv-operators-trigonometric-gnuCPU (gfortran)—default
test-fdv-operators-trigonometric-gnu-debugCPU (gfortran)debug flagsdefault
test-prism-reflux-apply-gnuCPU (gfortran)—default
test-prism-reflux-apply-gnu-debugCPU (gfortran)debug flagsdefault
test-fdv-curl-trigonometric-gnu-covCPU (gfortran)coverage instrumentationdefault
test-fdv-divergence-trigonometric-gnu-covCPU (gfortran)coverage instrumentationdefault
test-fdv-gradient-trigonometric-gnu-covCPU (gfortran)coverage instrumentationdefault
test-fdv-laplacian-trigonometric-gnu-covCPU (gfortran)coverage instrumentationdefault
test-fdv-operators-step-gnu-covCPU (gfortran)coverage instrumentationdefault
test-fdv-operators-trigonometric-gnu-covCPU (gfortran)coverage instrumentationdefault
test-amr-geo-box-gnuCPU (gfortran)—default
test-amr-geo-box-gnu-debugCPU (gfortran)debug flagsdefault
test-amr-reflux-restrict-gnuCPU (gfortran)—default
test-amr-reflux-restrict-gnu-debugCPU (gfortran)debug flagsdefault
test-seam-interpolation-gnuCPU (gfortran)—default
test-seam-interpolation-gnu-debugCPU (gfortran)debug flagsdefault
test-periodic-ghost-gnuCPU (gfortran)—default
test-periodic-ghost-gnu-debugCPU (gfortran)debug flagsdefault
test-tree-closest-block-gnuCPU (gfortran)—default
test-tree-closest-block-gnu-debugCPU (gfortran)debug flagsdefault
test-quadtree-seam-ghost-gnuCPU (gfortran)—default
test-quadtree-seam-ghost-gnu-debugCPU (gfortran)debug flagsdefault
test-amr-regrid-roundtrip-gnuCPU (gfortran)—default
test-amr-regrid-roundtrip-gnu-debugCPU (gfortran)debug flagsdefault
test-quadtree-seam-ghost-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-seam-interpolation-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-seam-interpolation-fnl-omp-amdFNL, OpenMP offload (amdflang)—AMD
test-poisson-fft-gnuCPU (gfortran)links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran)default
test-poisson-fft-gnu-debugCPU (gfortran)debug flags, links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran)default
test-poisson-fft-fnl-nvfFNL, OpenACC (nvfortran)links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran)NVF
test-poisson-mg-gnuCPU (gfortran)—default
test-poisson-mg-gnu-debugCPU (gfortran)debug flagsdefault
test-poisson-mg-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-flail-bc-gnuCPU (gfortran)—default
test-flail-bc-fnl-nvfFNL, OpenACC (nvfortran)—NVF
test-rk-ssp-tableau-gnuCPU (gfortran)—default
test-rk-ssp-tableau-gnu-debugCPU (gfortran)debug flagsdefault
test-sgs-gnuCPU (gfortran)—default
test-kep-gnuCPU (gfortran)—default
test-wm-gnuCPU (gfortran)—default
test-df-gnuCPU (gfortran)—default

Benchmarks ​

ModeBackendVariantVarset
bench-poisson-gnuCPU (gfortran)—default
bench-poisson-fnl-nvfFNL, OpenACC (nvfortran)—NVF