Skip to content

Commit d1abfa1

Browse files
committed
Merge remote-tracking branch 'upstream/master' into pr-1792
2 parents 2cefb7b + 511cda5 commit d1abfa1

127 files changed

Lines changed: 46 additions & 195 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/scripts/check_coverage_map_health.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
"""Fail loudly if the committed coverage map is stale or under-covers. Used by coverage-health.yml."""
22
import datetime
3-
import subprocess
43
import sys
54
from pathlib import Path
65

76
sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "toolchain"))
8-
from mfc.test.coverage import COVERAGE_MAP_PATH, load_map, map_health # noqa: E402
7+
from mfc.test.coverage import COVERAGE_MAP_PATH, _git, load_map, map_health # noqa: E402
98
from mfc.test.cases import list_cases # noqa: E402 (returns the current test list)
109

1110
MAX_AGE_DAYS = 10
@@ -40,7 +39,7 @@ def verified_sha(cwd=None):
4039
caller must read that as undeterminable and fall back to the wall-clock age rule, not
4140
as a failure -- an absent ref is not evidence of a broken refresh.
4241
"""
43-
rev = subprocess.run(["git", "rev-parse", "--verify", "--quiet", f"{VERIFIED_REF}^{{commit}}"], capture_output=True, text=True, check=False, cwd=cwd)
42+
rev = _git(["rev-parse", "--verify", "--quiet", f"{VERIFIED_REF}^{{commit}}"], cwd)
4443
return rev.stdout.strip() or None
4544

4645

@@ -53,10 +52,10 @@ def verified_after_last_change(git_sha, cwd=None):
5352
"""
5453
if not git_sha:
5554
return None
56-
last = subprocess.run(["git", "log", "-1", "--format=%H", "--", *COVERAGE_RELEVANT_PATHS], capture_output=True, text=True, check=False, cwd=cwd)
55+
last = _git(["log", "-1", "--format=%H", "--", *COVERAGE_RELEVANT_PATHS], cwd)
5756
if last.returncode != 0 or not last.stdout.strip():
5857
return None # shallow clone or no such commit -> fall back to the age rule
59-
ancestor = subprocess.run(["git", "merge-base", "--is-ancestor", last.stdout.strip(), git_sha], capture_output=True, check=False, cwd=cwd)
58+
ancestor = _git(["merge-base", "--is-ancestor", last.stdout.strip(), git_sha], cwd)
6059
return {0: True, 1: False}.get(ancestor.returncode) # anything else -> None (unknown sha, shallow history)
6160

6261

.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

examples/1D_advection_convergence/case.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,8 @@
9595
"patch_icpp(1)%alpha(2)": "0.5 - 0.2 * sin(2.0 * pi * x / lx)",
9696
"fluid_pp(1)%gamma": 1.0 / (gamma - 1.0),
9797
"fluid_pp(1)%eos": "ideal_gas",
98-
"fluid_pp(1)%pi_inf": 0.0,
9998
"fluid_pp(2)%gamma": 1.0 / (gamma - 1.0),
10099
"fluid_pp(2)%eos": "ideal_gas",
101-
"fluid_pp(2)%pi_inf": 0.0,
102100
**scheme_params,
103101
}
104102
)

examples/1D_brio_wu/case.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
# Fluids Physical Parameters
7575
"fluid_pp(1)%gamma": 1.0e00 / (2.0e00 - 1.0e00),
7676
"fluid_pp(1)%eos": "ideal_gas",
77-
"fluid_pp(1)%pi_inf": 0.0,
7877
}
7978
)
8079
)

examples/1D_brio_wu_hlld/case.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
# Fluids Physical Parameters
7676
"fluid_pp(1)%gamma": 1.0e00 / (2.0e00 - 1.0e00),
7777
"fluid_pp(1)%eos": "ideal_gas",
78-
"fluid_pp(1)%pi_inf": 0.0,
7978
}
8079
)
8180
)

examples/1D_brio_wu_rmhd/case.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@
7676
# Fluids Physical Parameters
7777
"fluid_pp(1)%gamma": 1.0e00 / (2.0e00 - 1.0e00),
7878
"fluid_pp(1)%eos": "ideal_gas",
79-
"fluid_pp(1)%pi_inf": 0.0,
8079
}
8180
)
8281
)

examples/1D_convergence/case.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,8 @@
7474
# Fluids Physical Parameters
7575
"fluid_pp(1)%gamma": 1.0e00 / (1.4 - 1.0e00),
7676
"fluid_pp(1)%eos": "ideal_gas",
77-
"fluid_pp(1)%pi_inf": 0.0,
7877
"fluid_pp(2)%gamma": 1.0e00 / (1.4 - 1.0e00),
7978
"fluid_pp(2)%eos": "ideal_gas",
80-
"fluid_pp(2)%pi_inf": 0.0,
8179
}
8280
)
8381
)

examples/1D_dai_woodward/case.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@
8383
# Fluids Physical Parameters
8484
"fluid_pp(1)%gamma": 1.0e00 / ((5.0 / 3.0) - 1.0e00),
8585
"fluid_pp(1)%eos": "ideal_gas",
86-
"fluid_pp(1)%pi_inf": 0.0,
8786
},
8887
)
8988
)

examples/1D_dai_woodward_hlld/case.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@
8484
# Fluids Physical Parameters
8585
"fluid_pp(1)%gamma": 1.0e00 / ((5.0 / 3.0) - 1.0e00),
8686
"fluid_pp(1)%eos": "ideal_gas",
87-
"fluid_pp(1)%pi_inf": 0.0,
8887
},
8988
)
9089
)

0 commit comments

Comments
 (0)