Skip to content

Marenostrum 5

mchavezmodena edited this page Feb 23, 2026 · 16 revisions

Compiler:

**GNU/GCC ** (last checked:05/02/2026)

Recommended (less memory requirement and faster than ifort)

List of modules needed to compile and run:

module purge
module load gcc/12.3.0 zlib/1.3.1-gcc binutils/2.37 ucx/1.16.0-gcc openmpi/4.1.5-gcc metis/5.1.0-gcc hdf5/1.14.1-2-gcc-openmpi
export METIS_DIR=$METIS_ROOT

The Makefile should change line 42 to:

GNU_RELEASE_FLAGS= -cpp -ffree-line-length-0 -O3 -ftree-vectorize  -ftree-vectorizer-verbose=0 \
		   -fbackslash -D_has_Quad -fallow-argument-mismatch

Then, to compile the NS (compressible Navier-Stokes) solver:

make ns COMPILER=gfortran COMM=PARALLEL ENABLE_THREADS=NO WITH_METIS=YES WITH_MKL=NO WITH_HDF5=YES

or to compile the MU (multiphase) solver:

make mu COMM=PARALLEL WITH_METIS=YES ENABLE_THREADS=NO

**INTEL/IFORT **

List of modules needed to compile and run:

module load intel/2023.2.0 load impi/2021.10.0 load mkl/2023.2.0 load metis/5.1.0 load hdf5/1.14.1-2 load ucx
 export METIS_DIR=$METIS_ROOT

The Makefile should change line 48 to:

INTEL_HPC_FLAGS= -cpp -Ofast -msse4.2 -axAVX,CORE-AVX2 -assume bscc -D_has_Quad -fp-model=fast=2 -no-ipo

Then, to compile the NS (compressible Navier-Stokes) solver:

make ns COMPILER=ifort COMM=PARALLEL WITH_METIS=YES WITH_HDF5=YES MODE=HPC ENABLE_THREADS=NO

or to compile the MU (multiphase) solver:

make mu COMPILER=ifort COMM=PARALLEL WITH_METIS=YES WITH_HDF5=YES MODE=HPC ENABLE_THREADS=NO

Slurm script

An example slurm script is included below (load module accordingly, GCC or Intel ifort):

#!/bin/bash
#SBATCH --job-name=jp2
## the name of the qos might change
#SBATCH --qos=gp_resa
#SBATCH --chdir=.
#SBATCH --ntasks=56
#SBATCH --cpus-per-task=4
#SBATCH --ntasks-per-node=28
#SBATCH --time=34:00:00
#SBATCH -e RESULTS/err-naca%j.log
#SBATCH -o RESULTS/out-naca%j.log
 
### Queue and account (might change)
#SBATCH --qos=acc_resa
#SBATCH --account=upm106

export OMP_SCHEDULE="guided"
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
export SRUN_CPUS_PER_TASK=${SLURM_CPUS_PER_TASK}
 
module purge
module load intel/2023.2.0
module load impi/2021.10.0
module load mkl/2023.2.0
module load metis/5.1.0
module load hdf5/1.10.11
module load ucx
export METIS_DIR=$METIS_ROOT
 
echo "##########################################################################"
echo "#"
echo "# Running with $SLURM_NTASKS tasks and $SLURM_CPUS_PER_TASK cpus/task"
echo "# On nodes $SLURM_JOB_NODELIST"
echo "#"
echo "##########################################################################"
 
EXEC=../../../bin/horses3d.ns
 
srun $EXEC IA_KG_wr_iles_v15_CFL10.control

To send the jod, i.e.:

sbatch run.sh

Clone this wiki locally