Appearance
<!-- 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 islocal_gnu. Every nvfortran mode needs--varsetwith an NVF varset, or-gpu=$NVF_CCstays unexpanded and the first nvfortran call fails. The varset table is on the install page. In the tables, default islocal_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 agfx*varset to change$GPU_ARCHfrom its default, gfx942. - Names.
<target>-<backend>-<compiler>[-<variant>]:cpuis the CPU backend (MPI, optionally OpenMP),fnlthe GPU backend (OpenACC withnvf, OpenMP offload withomp-amd). Build clean after switching compiler:.modfiles 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.
| Mode | Backend | Variant | Varset |
|---|---|---|---|
flume-cpu-gnu | CPU (gfortran) | — | default |
flume-cpu-gnu-omp | CPU (gfortran) | CPU OpenMP threads | default |
flume-cpu-gnu-debug | CPU (gfortran) | debug flags | default |
flume-cpu-gnu-fft | CPU (gfortran) | links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran) | default |
flume-cpu-gnu-fft-debug | CPU (gfortran) | debug flags, links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran) | default |
flume-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
flume-fnl-nvf-debug | FNL, OpenACC (nvfortran) | debug flags | NVF |
flume-fnl-nvf-fft | FNL, OpenACC (nvfortran) | links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran) | NVF |
flume-fnl-nvf-fft-debug | FNL, OpenACC (nvfortran) | debug flags, links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran) | NVF |
flume-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
flume-fnl-omp-amd-debug | FNL, OpenMP offload (amdflang) | debug flags | AMD |
PRISM
Status: maintained.
| Mode | Backend | Variant | Varset |
|---|---|---|---|
prism-cpu-gnu | CPU (gfortran) | — | default |
prism-cpu-gnu-debug | CPU (gfortran) | debug flags | default |
prism-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
prism-fnl-nvf-debug | FNL, OpenACC (nvfortran) | debug flags | NVF |
prism-fnl-nvf-spacehpc | FNL, OpenACC (nvfortran) | the spacehpc machine's flags | NVF |
prism-cpu-amd | CPU (amdflang) | — | AMD |
prism-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
prism-fnl-omp-amd-debug | FNL, OpenMP offload (amdflang) | debug flags | AMD |
RIPPLE
Status: maintained (the tutorial's toy app).
| Mode | Backend | Variant | Varset |
|---|---|---|---|
ripple-cpu-gnu | CPU (gfortran) | — | default |
ripple-cpu-gnu-debug | CPU (gfortran) | debug flags | default |
ripple-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
ripple-fnl-nvf-debug | FNL, OpenACC (nvfortran) | debug flags | NVF |
ASCOT
Status: utility, not maintained.
| Mode | Backend | Variant | Varset |
|---|---|---|---|
ascot-nvf-cuda | CUDA Fortran (nvfortran) | — | NVF |
ascot-omp-amd | GPU, OpenMP offload (amdflang) | — | AMD |
ascot-omp-amd-debug | GPU, OpenMP offload (amdflang) | debug flags | AMD |
NASTO
Status: not maintained.
| Mode | Backend | Variant | Varset |
|---|---|---|---|
nasto-cpu-gnu | CPU (gfortran) | — | default |
nasto-cpu-gnu-debug | CPU (gfortran) | debug flags | default |
nasto-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
nasto-fnl-nvf-debug | FNL, OpenACC (nvfortran) | debug flags | NVF |
nasto-cpu-amd | CPU (amdflang) | — | AMD |
nasto-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
nasto-fnl-omp-amd-debug | FNL, OpenMP offload (amdflang) | debug flags | AMD |
CHASE
Status: does not build (superseded by FLUME).
| Mode | Backend | Variant | Varset |
|---|---|---|---|
chase-cpu-gnu | CPU (gfortran) | — | default |
chase-cpu-gnu-debug | CPU (gfortran) | debug flags | default |
chase-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
chase-fnl-nvf-debug | FNL, OpenACC (nvfortran) | debug flags | NVF |
chase-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
chase-fnl-omp-amd-debug | FNL, OpenMP offload (amdflang) | debug flags | AMD |
PATCH
Status: does not build.
| Mode | Backend | Variant | Varset |
|---|---|---|---|
patch-cpu-gnu | CPU (gfortran) | — | default |
patch-cpu-gnu-debug | CPU (gfortran) | debug flags | default |
patch-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
patch-fnl-nvf-debug | FNL, OpenACC (nvfortran) | debug flags | NVF |
patch-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
patch-fnl-omp-amd-debug | FNL, OpenMP offload (amdflang) | debug flags | AMD |
Library
| Mode | Backend | Variant | Varset |
|---|---|---|---|
adam-com-gnu | common library (gfortran) | — | default |
adam-com-gnu-debug | common library (gfortran) | debug flags | default |
adam-com-nvf | common library (nvfortran) | — | NVF |
adam-com-nvf-debug | common library (nvfortran) | debug flags | NVF |
adam-com-omp-amd | common library (amdflang) | — | AMD |
adam-com-omp-amd-debug | common library (amdflang) | debug flags | AMD |
Tests
| Mode | Backend | Variant | Varset |
|---|---|---|---|
test-flume-euler-library-gnu | CPU (gfortran) | — | default |
test-flume-euler-library-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-flume-euler-library-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-flume-mhd-library-gnu | CPU (gfortran) | — | default |
test-flume-mhd-library-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-flume-mhd-library-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-flume-mhd-riemann-gnu | CPU (gfortran) | — | default |
test-flume-mhd-riemann-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-flume-mhd-riemann-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-flume-positivity-gnu | CPU (gfortran) | — | default |
test-flume-weno-interpolation-gnu | CPU (gfortran) | — | default |
test-flume-weno-weights-gnu | CPU (gfortran) | — | default |
test-flume-weno-interpolation-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-flume-weno-interpolation-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-flume-user-criterion-cpu-gnu | CPU (gfortran) | — | default |
test-ripple-crest-criterion-cpu-gnu | CPU (gfortran) | — | default |
test-fdv-curl-trigonometric-gnu | CPU (gfortran) | — | default |
test-fdv-curl-trigonometric-gnu-debug | CPU (gfortran) | debug flags | default |
test-fdv-fnl-curl-trigonometric-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-fdv-fnl-operators-trigonometric-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-fdv-fnl-operators-vector-trigonometric-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-fdv-fnl-curl-trigonometric-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-fdv-fnl-operators-trigonometric-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-fdv-fnl-operators-vector-trigonometric-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-fdv-divergence-trigonometric-gnu | CPU (gfortran) | — | default |
test-fdv-divergence-trigonometric-gnu-debug | CPU (gfortran) | debug flags | default |
test-fdv-gradient-trigonometric-gnu | CPU (gfortran) | — | default |
test-fdv-gradient-trigonometric-gnu-debug | CPU (gfortran) | debug flags | default |
test-fdv-laplacian-trigonometric-gnu | CPU (gfortran) | — | default |
test-fdv-laplacian-trigonometric-gnu-debug | CPU (gfortran) | debug flags | default |
test-fdv-operators-step-gnu | CPU (gfortran) | — | default |
test-fdv-operators-step-gnu-debug | CPU (gfortran) | debug flags | default |
test-fdv-operators-trigonometric-gnu | CPU (gfortran) | — | default |
test-fdv-operators-trigonometric-gnu-debug | CPU (gfortran) | debug flags | default |
test-prism-reflux-apply-gnu | CPU (gfortran) | — | default |
test-prism-reflux-apply-gnu-debug | CPU (gfortran) | debug flags | default |
test-fdv-curl-trigonometric-gnu-cov | CPU (gfortran) | coverage instrumentation | default |
test-fdv-divergence-trigonometric-gnu-cov | CPU (gfortran) | coverage instrumentation | default |
test-fdv-gradient-trigonometric-gnu-cov | CPU (gfortran) | coverage instrumentation | default |
test-fdv-laplacian-trigonometric-gnu-cov | CPU (gfortran) | coverage instrumentation | default |
test-fdv-operators-step-gnu-cov | CPU (gfortran) | coverage instrumentation | default |
test-fdv-operators-trigonometric-gnu-cov | CPU (gfortran) | coverage instrumentation | default |
test-amr-geo-box-gnu | CPU (gfortran) | — | default |
test-amr-geo-box-gnu-debug | CPU (gfortran) | debug flags | default |
test-amr-reflux-restrict-gnu | CPU (gfortran) | — | default |
test-amr-reflux-restrict-gnu-debug | CPU (gfortran) | debug flags | default |
test-seam-interpolation-gnu | CPU (gfortran) | — | default |
test-seam-interpolation-gnu-debug | CPU (gfortran) | debug flags | default |
test-periodic-ghost-gnu | CPU (gfortran) | — | default |
test-periodic-ghost-gnu-debug | CPU (gfortran) | debug flags | default |
test-tree-closest-block-gnu | CPU (gfortran) | — | default |
test-tree-closest-block-gnu-debug | CPU (gfortran) | debug flags | default |
test-quadtree-seam-ghost-gnu | CPU (gfortran) | — | default |
test-quadtree-seam-ghost-gnu-debug | CPU (gfortran) | debug flags | default |
test-amr-regrid-roundtrip-gnu | CPU (gfortran) | — | default |
test-amr-regrid-roundtrip-gnu-debug | CPU (gfortran) | debug flags | default |
test-quadtree-seam-ghost-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-seam-interpolation-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-seam-interpolation-fnl-omp-amd | FNL, OpenMP offload (amdflang) | — | AMD |
test-poisson-fft-gnu | CPU (gfortran) | links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran) | default |
test-poisson-fft-gnu-debug | CPU (gfortran) | debug flags, links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran) | default |
test-poisson-fft-fnl-nvf | FNL, OpenACC (nvfortran) | links the FFT library of the self-gravity solvers (FFTW, cuFFT on nvfortran) | NVF |
test-poisson-mg-gnu | CPU (gfortran) | — | default |
test-poisson-mg-gnu-debug | CPU (gfortran) | debug flags | default |
test-poisson-mg-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-flail-bc-gnu | CPU (gfortran) | — | default |
test-flail-bc-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |
test-rk-ssp-tableau-gnu | CPU (gfortran) | — | default |
test-rk-ssp-tableau-gnu-debug | CPU (gfortran) | debug flags | default |
test-sgs-gnu | CPU (gfortran) | — | default |
test-kep-gnu | CPU (gfortran) | — | default |
test-wm-gnu | CPU (gfortran) | — | default |
test-df-gnu | CPU (gfortran) | — | default |
Benchmarks
| Mode | Backend | Variant | Varset |
|---|---|---|---|
bench-poisson-gnu | CPU (gfortran) | — | default |
bench-poisson-fnl-nvf | FNL, OpenACC (nvfortran) | — | NVF |