Opens a larger view. Escape closes it.

hardware-counters

cirrus_worklist.sh

#!/bin/bash
# Generate the Cirrus sweep worklist.
#
# Core counts mirror ARCHER2's powers of two, plus 288 (a full Cirrus node) so
# the platform's own maximum is represented. ARCHER2 nodes are 128 cores, so
# 1-128 is the directly comparable range and 288 is Cirrus-only.
#
# Problem sizes are IDENTICAL to the ARCHER2 sweep, which is what makes
# cross-platform comparison meaningful: same code, same problem, different
# hardware.
B=/work/project/project/user
W=$B/runs/sweep/worklist.txt
mkdir -p "$B/runs/sweep"
: > "$W"

CORES="1 2 4 8 16 32 64 128 288"

for nc in $CORES; do
  for s in 10000000 40000000 80000000; do echo "stream $nc $s 1 00:30:00" >> "$W"; done
  for s in 16 32 48 64;                do echo "hpcg   $nc $s 1 01:00:00" >> "$W"; done
  for s in 2000 6000 12000;            do echo "hpl    $nc $s 1 01:00:00" >> "$W"; done
  for s in 32 48 64;                   do echo "minife $nc $s 1 00:45:00" >> "$W"; done
  for s in 16 24 32;                   do echo "comd   $nc $s 1 00:45:00" >> "$W"; done
done

# lulesh needs a cube number of ranks
for nc in 1 8 27 64 125; do
  for s in 16 24 32; do echo "lulesh $nc $s 1 00:45:00" >> "$W"; done
done

# MPI x OpenMP decomposition at fixed core count
for nc in 16 32 64 128 288; do
  for t in 2 4 8; do
    echo "hpcg   $nc 48 $t 01:00:00" >> "$W"
    echo "minife $nc 48 $t 00:45:00" >> "$W"
  done
done

echo "worklist: $(wc -l < "$W") entries"