Skip to content

Marenostrum 5 GPU

Jerryntk edited this page Jun 1, 2025 · 10 revisions

Compiler:

**NVFORTRAN ** (last checked:01/06/2025)

Recommended (less memory requirement and faster than ifort)

List of modules needed to compile and run:

module load nvidia-hpc-sdk/24.11

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

make ns COMPILER=nvfortran COMM=PARALLEL

or to compile the MU (multiphase) solver:

make mu COMPILER=nvfortran COMM=PARALLEL

Slurm script

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

#!/bin/bash

### Job name on queue
#SBATCH --job-name=MN5_Horses3D_GPU

### Output and error files directory
#SBATCH -D .

### Output and error files
#SBATCH --output=out%j.out
#SBATCH --error=err%j.err

### Run configuration
#SBATCH --ntasks=1 				# Number of GPUs to be used
#SBATCH --ntasks-per-node=1 	# Up to 4 - If number of ranks > 4
#SBATCH --cpus-per-task=20  	# This is the MN5 standard 20 cpus/1 GPU
#SBATCH --time=00:10:00
#SBATCH --gres=gpu:1 			# Number of GPUs per node - up to 4

### Queue and account
#SBATCH --qos=acc_ehpc
#SBATCH --account=ehpc175

### MN% modules
module purge
module load nvidia-hpc-sdk/24.11

EXEC= PATH_T0_HORSES_EXECUTABLE 

# For parallel runs
mpirun -np 16 --map-by ppr:4:node:PE=20 --report-bindings ./mn5_bind.sh $EXEC CASE_FILE.control

# For serial runs
#srun --unbuffered $EXEC CASE_FILE.control

To send the jod indicate the account, i.e.:

sbatch run.sh

Clone this wiki locally