Parallelisation
ANUGA supports two parallel approaches that require minimal changes to a standard sequential script:
OpenMP — multi-threaded shared-memory parallelism; enable by setting the thread count before creating the domain.
MPI (distribute) — multi-process distributed-memory parallelism; create the domain on rank 0 then call
distribute()to partition it across ranks.
The two approaches can be combined.
For long parallel runs, see Checkpointing for how to save and restart simulations from periodic checkpoints.
To diagnose load imbalance caused by wet/dry triangle distributions, see Load balance monitoring.
See also
- Advanced Parallel Methods
GPU offloading, mesh-first distribution, offline partitioning, and uniform mesh refinement — for large HPC production runs.
ANUGA User Manual — Chapter 12: Parallel Simulation covers the MPI domain decomposition in depth, including ghost cell communication, scalability benchmarks, and HPC cluster setup.