39 lines
1.1 KiB
Bash
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"
|