task2
This commit is contained in:
54
task2/scripts/run_mpi.slurm
Normal file
54
task2/scripts/run_mpi.slurm
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
#SBATCH --job-name=task2-mpi
|
||||
#SBATCH --partition=tornado
|
||||
#SBATCH --ntasks-per-node=1
|
||||
#SBATCH --cpus-per-task=56
|
||||
#SBATCH --time=00:20:00
|
||||
#SBATCH --output=results/%x-%j.out
|
||||
#SBATCH --error=results/%x-%j.err
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
cd "${SLURM_SUBMIT_DIR}"
|
||||
|
||||
module purge
|
||||
module load compiler/gcc/11
|
||||
module load mpi/openmpi
|
||||
|
||||
mkdir -p results bin
|
||||
|
||||
./scripts/build_mpi.sh
|
||||
|
||||
RANKS=${SLURM_JOB_NUM_NODES}
|
||||
|
||||
echo "===== account info ====="
|
||||
whoami; hostname; date
|
||||
|
||||
echo
|
||||
echo "===== slurm info ====="
|
||||
echo "SLURM_JOB_ID=${SLURM_JOB_ID:-unknown}"
|
||||
echo "SLURM_JOB_PARTITION=${SLURM_JOB_PARTITION:-unknown}"
|
||||
echo "SLURM_JOB_NUM_NODES=${SLURM_JOB_NUM_NODES:-unknown}"
|
||||
echo "SLURM_NODELIST=${SLURM_NODELIST:-unknown}"
|
||||
echo "RANKS=${RANKS}"
|
||||
scontrol show job "${SLURM_JOB_ID}" || true
|
||||
|
||||
echo
|
||||
echo "===== node config ====="
|
||||
lscpu | head -20
|
||||
if [ -n "${SLURMD_NODENAME:-}" ]; then
|
||||
scontrol show node "${SLURMD_NODENAME}" || true
|
||||
fi
|
||||
|
||||
CSV="results/task2-mpi-${RANKS}n-${SLURM_JOB_ID}.csv"
|
||||
echo "n,procs,time_ms,path_len,iterations" > "$CSV"
|
||||
|
||||
echo
|
||||
echo "===== benchmark (${RANKS} nodes / ${RANKS} ranks) ====="
|
||||
for N in 500 1000 2000 3000 5000; do
|
||||
echo "--- n=$N ---"
|
||||
mpirun -np "${RANKS}" --map-by ppr:1:node --bind-to none ./bin/wave_mpi "$N" "$CSV"
|
||||
done
|
||||
|
||||
echo
|
||||
echo "===== done ====="
|
||||
Reference in New Issue
Block a user