Getting started¶
The shortest successful gevolution 2.0 run requires:
- an NVIDIA CUDA-capable GPU;
- an MPI installation;
- a GPU-enabled LATfield2 checkout;
- FFTW3, GSL/CBLAS, and HDF5;
- a compiled
gevolutionexecutable; - at least four MPI ranks arranged as
-n 2 -m 2.
Minimum process grid
Both process-grid dimensions must be at least two. LATfield2 communication
assumes that neighbouring ranks are distinct, so -n 1, -m 1, and
single-rank execution are unsupported.
For production runs, assign one MPI rank to each GPU. On a workstation with one GPU, run four ranks on that GPU through NVIDIA Multi-Process Service (MPS).
Choose a first run¶
- First simulation: compile and run a small ΛCDM case.
- Workstation with one GPU: configure four ranks through MPS.
- Multi-GPU HPC: bind one rank per GPU under Slurm.
First-run checklist¶
nvcc,mpic++, and the required libraries are visible.- The selected build configuration uses the correct
CUDA_ARCH=sm_XXvalue. - The output directory already exists.
- The MPI rank count equals
n * m. - Both
nandmare at least two. Ngrid / nis an integer.Ngrid / mis an even integer.- Each production rank sees exactly one intended GPU, or MPS is active for a one-GPU workstation run.
- The startup banner reports version
2.0 alpha, the expected rank count, and the expected OpenMP thread count.