Skip to content

Commit 8db1d79

Browse files
committed
Merge remote-tracking branch 'upstream/master' into feature/mie-gruneisen-jwl
2 parents 761bebe + 511cda5 commit 8db1d79

3 files changed

Lines changed: 26 additions & 6 deletions

File tree

.github/scripts/select-gpu-partition.sh

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,38 @@
44
#
55
# Priority order prefers partitions most likely to have availability.
66
# V100 is last due to slower performance near the test time limit.
7-
# Falls back to gpu-l40s if no partition meets the idle node threshold.
7+
# Falls back to gpu-a100 if no partition meets the idle node threshold.
8+
#
9+
# gpu-l40s is out of rotation: it has been failing jobs for weeks, and it was
10+
# also the partition CI kept selecting and then starving on.
11+
#
12+
# Only fully idle nodes count. A "mix" node is partially allocated and may have
13+
# no free GPU, so counting it overstates availability: run 33553417354 picked
14+
# gpu-l40s on "1 idle/mix nodes", then sat in the queue until the 3-5.5h job
15+
# timeout without ever starting.
16+
#
17+
# The match is anchored at both ends. sinfo's %t suffixes a state to flag it --
18+
# "*" not responding, "$" reserved for maintenance, "~" powered down -- and this
19+
# cluster does emit them (drain*, down*, alloc$, drain$ are all live right now).
20+
# A bare "^idle" would count idle* and idle$ as available and starve the job on
21+
# nodes that cannot take it.
822
# RTX 6000 nodes are excluded (too slow for the test suite time limit).
923
#
1024
# Optional: set GPU_PARTITION_MIN_NODES before sourcing to require a minimum
11-
# number of idle/mix nodes (e.g. GPU_PARTITION_MIN_NODES=2 for parallel bench jobs).
25+
# number of idle nodes (e.g. GPU_PARTITION_MIN_NODES=2 for parallel bench jobs).
1226
#
1327
# Usage: source .github/scripts/select-gpu-partition.sh
1428

15-
_GPU_PARTITION_PRIORITY="gpu-l40s gpu-h200 gpu-h100 gpu-a100 gpu-v100"
16-
_GPU_PARTITION_FALLBACK="gpu-l40s"
29+
_GPU_PARTITION_PRIORITY="gpu-h200 gpu-h100 gpu-a100 gpu-v100"
30+
_GPU_PARTITION_FALLBACK="gpu-a100"
1731
_GPU_PARTITION_MIN_NODES="${GPU_PARTITION_MIN_NODES:-1}"
1832

1933
SELECTED_GPU_PARTITION=""
2034
for _part in $_GPU_PARTITION_PRIORITY; do
21-
_idle=$(sinfo -p "$_part" --noheader -o "%t" 2>/dev/null | grep -cE "^(idle|mix)" || true)
35+
_idle=$(sinfo -p "$_part" --noheader -o "%t" 2>/dev/null | grep -cE "^idle$" || true)
2236
if [ "${_idle:-0}" -ge "$_GPU_PARTITION_MIN_NODES" ]; then
2337
SELECTED_GPU_PARTITION="$_part"
24-
echo "Selected GPU partition: $SELECTED_GPU_PARTITION ($_idle idle/mix nodes)"
38+
echo "Selected GPU partition: $SELECTED_GPU_PARTITION ($_idle idle nodes)"
2539
break
2640
fi
2741
done

.github/scripts/submit-slurm-job.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,12 @@ elif [ "$device" = "gpu" ]; then
150150
sbatch_device_opts="\
151151
#SBATCH -n 8
152152
#SBATCH -p g1"
153+
# Seed, same as phoenix above: the preflight adds nodes to this at
154+
# run time. frontier10202 produced all 183 GPU memory-access faults
155+
# in run 33553417354 (43 distinct tests) while the same lanes passed
156+
# on eight other g1 nodes with none. Its faults are intermittent --
157+
# 379 of 382 tests still passed there -- so syscheck can clear it.
158+
node_exclude="frontier10202"
153159
;;
154160
esac
155161
else

tests/coverage_map.json.gz

43 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)