This repository provides easy automation scripts for building a HPC environment in Azure. It also includes examples to build e2e environment and run some of the key HPC benchmarks and applications.
Allow integration of pinning tool with slurm/srun. You can call app pinning tool in a Slurm script and pass optimal pinning arguments to the srun command.
Added a new -mt option, "srun"
e.g. Run 16 processes, 6 threads per process on HB120-96rs-v3
In this case AZ_MPI_ARGS="--mpi=pmix --cpu-bind=mask_cpu:0x3f,0xfc0,0x3f000,0xfc0000,0x3f000000,0xfc0000000,0x3f000000000,0xfc0000000000,0x3f000000000000,0xfc0000000000000,0x3f000000000000000,0xfc0000000000000000,0x3f000000000000000000,0xfc0000000000000000000,0x3f000000000000000000000,0xfc0000000000000000000000 --ntasks-per-node=16"
e.g. Run 16 processes, 6 threads per process on HB120-96rs-v3
!/bin/bash
SBATCH --mem=0
SBATCH --ntasks-per-node=16
SBATCH --exclusive
module load gcc-9.2.0 module load mpi/hpcx
export OMP_NUM_THREADS=6 export SLURM_CPU_BIND=verbose
check_app_pinning.py -pps -nv $SLURM_NNODES -nppv $SLURM_NTASKS_PER_NODE -ntpp $OMP_NUM_THREADS -mt srun AZ_MPI_NP=$(cat AZ_MPI_NP) AZ_MPI_ARGS=$(cat AZ_MPI_ARGS)
srun $AZ_MPI_ARGS
In this case AZ_MPI_ARGS="--mpi=pmix --cpu-bind=mask_cpu:0x3f,0xfc0,0x3f000,0xfc0000,0x3f000000,0xfc0000000,0x3f000000000,0xfc0000000000,0x3f000000000000,0xfc0000000000000,0x3f000000000000000,0xfc0000000000000000,0x3f000000000000000000,0xfc0000000000000000000,0x3f000000000000000000000,0xfc0000000000000000000000 --ntasks-per-node=16"