forked from ALF-QMC/ALF
-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Johannes Hofmann edited this page Apr 18, 2026
·
2 revisions
Options for configure.sh and the ALF build system.
source configure.sh <MACHINE> [MODE] [STAB] [options...]You must source (not execute) this script — it sets environment variables that the Makefile reads. Arguments are case-insensitive and order-independent (except MACHINE must come first or be the only positional argument).
| MACHINE | Compiler | Linear Algebra | Notes |
|---|---|---|---|
GNU |
gfortran / mpifort
|
-llapack -lblas |
Most common for local builds |
Intel |
ifort / mpiifort
|
MKL (-qmkl or -mkl) |
Classic Intel Fortran |
IntelLLVM or IntelX
|
ifx / mpiifort -fc=ifx
|
MKL (-qmkl) |
New LLVM-based Intel Fortran |
PGI |
pgfortran / mpifort
|
-llapack -lblas |
NVIDIA/PGI compilers |
SuperMUC-NG |
mpiifort |
MKL | Auto-loads LRZ modules |
JUWELS |
mpiifort |
MKL | Auto-loads JSC modules |
FRITZ |
Intel (auto-detected) | MKL | Auto-loads NHR@FAU modules |
If MACHINE is unrecognized, ALF falls back to gfortran serial mode.
| MODE | Preprocessor Flags | Description |
|---|---|---|
MPI (default) |
-DMPI |
MPI parallelization across bins |
noMPI |
(none) | Serial execution |
Tempering |
-DMPI -DTEMPERING |
Parallel tempering (requires MPI) |
PP or PARALLEL_PARAMS
|
-DMPI -DTEMPERING -DPARALLEL_PARAMS |
Parallel runs with different parameters (requires MPI) |
| STAB | Flag | Description |
|---|---|---|
| (default) | (none) | Standard stabilization |
STAB1 |
-DSTAB1 |
Older UDV decomposition |
STAB2 |
-DSTAB2 |
UDV with additional normalizations |
STAB3 |
-DSTAB3 |
Newest: separates large and small scales |
LOG |
-DSTABLOG |
Log storage for internal scales — extends accessible parameter ranges ( |
See Stabilization Parameters for guidance on choosing a scheme.
| Flag | Effect |
|---|---|
HDF5 |
Enable HDF5 output. ALF auto-installs HDF5 locally if not yet built for the current compiler. |
Devel |
Enable development/debug flags: warnings, bounds checking, backtraces |
NO-INTERACTIVE |
Suppress interactive prompts (e.g., auto-accept HDF5 download). Useful in scripts. |
NO-FALLBACK |
Return error instead of falling back to serial gfortran for unknown machines |
To pass additional flags to the compiler:
export ALF_FLAGS_EXT="-my-flag"
source configure.sh GNU MPIBy default, ALF installs HDF5 into ALF/HDF5/<compiler_version>/. To override:
export ALF_HDF5_DIR=/path/to/custom/hdf5
source configure.sh GNU MPI HDF5After sourcing, these are exported and used by make:
| Variable | Purpose |
|---|---|
ALF_DIR |
Root directory of ALF |
ALF_FC |
Fortran compiler command |
ALF_FLAGS_PROG |
Compiler flags for the main program |
ALF_FLAGS_MODULES |
Compiler flags for library modules |
ALF_FLAGS_ANA |
Compiler flags for analysis tools |
ALF_FLAGS_QRREF |
Compiler flags for QR library |
ALF_LIB |
Linker flags (libraries) |
- Default optimization:
-O3 -ffast-math -ffree-line-length-none - OpenMP enabled by default (
-fopenmp) - Devel mode adds:
-Wconversion -Werror -fcheck=all -g -fbacktrace
- Default optimization:
-O3 -fp-model fast=2 -xHost -ipo -ip - OpenMP enabled (
-parallel -qopenmp) - Devel mode adds:
-warn all -check all -g -traceback
- Default optimization:
-O3 -fp-model=fast=2 -xHost - OpenMP not enabled by default (can be uncommented in
configure.sh) - Devel mode adds:
-warn all -check all,nouninit -g -traceback
# Local development (serial, debug checks, fast iteration)
source configure.sh GNU noMPI devel
# Production run (MPI + HDF5)
source configure.sh GNU MPI HDF5
# Parallel tempering
source configure.sh GNU Tempering HDF5
# Non-interactive (CI/scripting)
source configure.sh GNU MPI HDF5 NO-INTERACTIVE