where-simd-helps/slurm/templates/bench_mlkem.sh.tmpl

39 lines
1.1 KiB
Bash

#!/bin/bash
# Template SLURM job for ML-KEM benchmarking.
# Variables filled in by slurm/submit.sh:
# PARAM — 512 | 768 | 1024
# VARIANT — ref | refnv | avx2 | ...
# NTESTS — iterations per operation (default 10000)
# BINARY — path to compiled benchmark binary
#SBATCH -J bench_mlkem${PARAM}_${VARIANT}
#SBATCH -p batch
#SBATCH -n 1
#SBATCH --mem=2G
#SBATCH -t 02:00:00
#SBATCH --constraint=intel
#SBATCH -o %j_mlkem${PARAM}_${VARIANT}.out
# Pin to a single core, disable frequency scaling for deterministic measurements.
# Requires appropriate OSCAR allocation; skip if unavailable.
export GOMP_CPU_AFFINITY="0"
NTESTS=${NTESTS:-10000}
BINARY=${BINARY:-./bench_mlkem${PARAM}_${VARIANT}}
if [[ ! -x "$BINARY" ]]; then
echo "ERROR: binary not found or not executable: $BINARY" >&2
exit 1
fi
echo "=== bench_mlkem${PARAM}_${VARIANT} ==="
echo "SLURM_JOB_ID: $SLURM_JOB_ID"
echo "SLURM_NODELIST: $SLURM_NODELIST"
echo "NTESTS: $NTESTS"
echo "DATE: $(date -Iseconds)"
echo "UNAME: $(uname -a)"
echo "CPU: $(grep 'model name' /proc/cpuinfo | head -1 | cut -d: -f2 | xargs)"
echo "---"
"$BINARY" "$NTESTS"