Update config_machines.xml to upstream E3SM revision ec75ebef#419
Update config_machines.xml to upstream E3SM revision ec75ebef#419
Conversation
…bdcc1710eebdb257d43 Affected machine: pm-cpu - Add compiler="!nvidia" attribute to generic modules block - Add separate nvidia-specific modules block Also removes ghci-oci machine definition from upstream. Agent-Logs-Url: https://github.com/E3SM-Project/mache/sessions/dc91e26c-df1b-480b-b52d-47c42275de4b Co-authored-by: xylar <4179064+xylar@users.noreply.github.com>
|
@copilot, are changes likely to be needed to |
The upstream config_machines.xml change moved craype-accel-host into a compiler="!nvidia" block, meaning it should no longer be loaded for the nvidia compiler on pm-cpu. Update the Spack template to match. Agent-Logs-Url: https://github.com/E3SM-Project/mache/sessions/754cdfd0-1f19-4cdc-8e93-29b874b3f614 Co-authored-by: xylar <4179064+xylar@users.noreply.github.com>
Yes — the upstream |
|
@copilot, do the modules |
CIME uses compiler="!nvidia" to mean "all compilers except nvidia". The previous regex-only implementation never matched any compiler for negation patterns (since no compiler name begins with "!"), causing modules tagged compiler="!nvidia" to be silently excluded for all compilers. Fix _matches_selector to detect the leading "!" and negate the match. Add a test covering the nvidia / !nvidia selector pair. Agent-Logs-Url: https://github.com/E3SM-Project/mache/sessions/b8451d98-ede3-41a4-a2a8-c4052408e879 Co-authored-by: xylar <4179064+xylar@users.noreply.github.com>
They did not — I've fixed |
Syncs
mache/cime_machine_config/config_machines.xmlwith upstream E3SM commitec75ebef661bf4c7ecf72bdcc1710eebdb257d43.pm-cpu (affected machine):
<modules>block split:craype-accel-hostmoved into acompiler="!nvidia"block (non-nvidia compilers only), whilecraype/2.7.35,cray-mpich/9.0.1, andcmake/3.30.2remain in an unrestricted blockmache/spack/templates/pm-cpu_nvidia_mpich.yaml: removedcraype-accel-hostfrom the nvidia compiler's modules list to match the upstream changeOther upstream changes:
ghci-ocimachine definition removedBug fix in
mache/spack/config_machines.py:_matches_selectornow supports CIME's negation syntax (e.g.compiler="!nvidia"). Previously, patterns beginning with!were treated as literal regexes that never matched any compiler string, causing modules taggedcompiler="!nvidia"to be silently excluded for all compilers (includingintel,gnu,amdclang). The fix detects the leading!and negates the regex match.test_extract_machine_config_negation_selectorintests/test_spack_config_machines.pyto cover thenvidia/!nvidiaselector pair.Checklist
Testingcomment, if appropriate, in the PR documents testing used to verify the changes