-
Notifications
You must be signed in to change notification settings - Fork 3
Marenostrum 5
mchavezmodena edited this page Feb 23, 2026
·
16 revisions
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_ROOTThe 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-mismatchThen, 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=YESor to compile the MU (multiphase) solver:
make mu COMM=PARALLEL WITH_METIS=YES ENABLE_THREADS=NOList 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_ROOTThe 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-ipoThen, to compile the NS (compressible Navier-Stokes) solver:
make ns COMPILER=ifort COMM=PARALLEL WITH_METIS=YES WITH_HDF5=YES MODE=HPC ENABLE_THREADS=NOor to compile the MU (multiphase) solver:
make mu COMPILER=ifort COMM=PARALLEL WITH_METIS=YES WITH_HDF5=YES MODE=HPC ENABLE_THREADS=NOAn 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.controlTo send the jod, i.e.:
sbatch run.sh