Skip to content

Workflows: add more eamxx-v1 tests on ghci-snl runners - #8564

Merged
bartgol merged 6 commits into
masterfrom
bartgol/machines/more-ghci-snl-testing
Sep 17, 2026
Merged

bartgol merged 6 commits into
masterfrom
bartgol/machines/more-ghci-snl-testing

Conversation

@bartgol

@bartgol bartgol commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor

Add an eamxx-prod case with cuda and oneapiintel compilers.

[non-BFB] for EAM cases on chrysalis


Some comments:

  • renamed oneapi->intel (following the overall e3sm transition) in eamxx machine specs as well as in the workflows
  • new eamxx-v1 tests: they should hopefully help spot issues with CUDA and OneAPI in cime cases before we merge.
  • moved ctest custom exception (for compiler output) to a file in our repo: gemini suggests it's the industry preferred way. And it's easier to maintain, imho.
  • upload ALL content of Testing for eamxx-sa: this should help spot the actual lines triggering oneapi fails. They are usually b/c of some bad string that pops out in the compiler log, but it's hard to know which. Inside Testing/YYYYMMDD-HHMM there are all the xml files (that ctest uploads to cdash when submitting), and each error warning is logged in Build.xml. This should allow us to modify CTestCustom.cmake if needed.

@bartgol
bartgol requested a review from jgfouca July 15, 2026 17:15
@bartgol bartgol self-assigned this Jul 15, 2026
@bartgol bartgol added Machine Files BFB PR leaves answers BFB Testing Anything related to unit/system tests EAMxx C++ based E3SM atmosphere model (aka SCREAM) CI: workflow change approved Allow gh action PR testing on ghci-snl-* machines for PRs that alter a worfklow file workflows labels Jul 15, 2026
@bartgol

bartgol commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor Author

@jgfouca do you know what this means?

ERROR: Command: '/spack-installs/libxml2/2.13.4/gcc/13.3.0/base/dfd2xk4/bin/xmllint --xinclude --noout --schema /home/runner/_work/E3SM/E3SM/cime/CIME/data/config/xml_schemas/config_machines.xsd /home/runner/_work/E3SM/E3SM/cime_config/machines/config_machines.xml' failed with error '/home/runner/_work/E3SM/E3SM/cime_config/machines/config_machines.xml:1938: Schemas validity error : Element 'GMAKE_J': This element is not expected. Expected is one of ( BATCHED_BUILD, TESTS, NTEST_PARALLEL_JOBS, BATCH_SYSTEM ).
9
/home/runner/_work/E3SM/E3SM/cime_config/machines/config_machines.xml fails to validate' from dir '/home/runner/_work/E3SM/E3SM'

I left a "default" GMAKE_J, but maybe that's not allowed, and they all need a selector? Or maybe GMAKE_J does not allow to have selectors?

Edit: ah, I think this is the issue

 <xs:element ref="GMAKE_J" minOccurs="0" maxOccurs="1"/>

So GMAKE_J can only appear once. Ok, I'll just set 32 on all machines.

@jgfouca

jgfouca commented Jul 15, 2026

Copy link
Copy Markdown
Member

@bartgol , yes, you figured it out. This is perhaps something we could address in CIME if needed.

@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch from a02e722 to f47feae Compare July 15, 2026 17:25
@bartgol

bartgol commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

@bartgol , yes, you figured it out. This is perhaps something we could address in CIME if needed.

No need. I think this is a corner case, where different compiler are hosted on different containers (I just used ONE machine with different compiler names to avoid repeating a lot of code). Usually, a machine should have ONE value for GMAKE_J.

@bartgol

bartgol commented Jul 15, 2026

Copy link
Copy Markdown
Contributor Author

I need to install moab on the cuda/oneapi containers before the v1 tests can run...

@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch from 9954912 to 61001e3 Compare July 15, 2026 23:14
@bartgol
bartgol marked this pull request as draft July 15, 2026 23:33
@bartgol

bartgol commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor Author

I'm going to pause this. I want to first integrate a PR that changes oneapi->intel on ghci, which makes it easier to recycle existing macro files settings for intel. I'm going to do it in EKAT too, but before I can update EKAT, I need to wait for the C++20 PR to be merged.

@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch from 61001e3 to f64b3c6 Compare August 18, 2026 16:09
@bartgol bartgol added CI: workflow change approved Allow gh action PR testing on ghci-snl-* machines for PRs that alter a worfklow file and removed CI: workflow change approved Allow gh action PR testing on ghci-snl-* machines for PRs that alter a worfklow file labels Aug 18, 2026
@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch 3 times, most recently from 3ebac1d to 3968ce7 Compare August 18, 2026 20:06
@bartgol
bartgol marked this pull request as ready for review August 18, 2026 20:06
@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch 2 times, most recently from a46122d to f180e1e Compare August 18, 2026 21:01
@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch 2 times, most recently from 5d30cb2 to 8663895 Compare August 20, 2026 17:32
@rljacob

rljacob commented Sep 9, 2026

Copy link
Copy Markdown
Member

@bartgol what is the status of this PR ?

@bartgol

bartgol commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

@bartgol what is the status of this PR ?

I wanted to first merge the PR that does oneapi->intel. I tested that on chrys, but still need to do pm.

@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch 2 times, most recently from 4cbfb3a to 74af5e5 Compare September 11, 2026 23:48
@bartgol

bartgol commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor Author

The eamxx-v1 fail for intel may be due to our runners having the env var COMPILER=oneapi defined (which is used during the image build to tell spack which compiler to use). The test fails b/c oneapi.cmake is not found in the cmake_macros folder. But nobody claims to use oneapi compiler (only intel). So the only suspect is that env var...

If so, I need to change our images, perhaps using SPACK_COMPILER instead of COMPILER...

Edit: no, the reason must be another. eamxx-v1 / gnu also fails, with the same issue, which points to an issue maybe with config_machines.xml. I need to dig.

@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch from 74af5e5 to 9109e4a Compare September 14, 2026 20:20
@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch from 968de76 to c7f88a0 Compare September 14, 2026 21:47
@bartgol

bartgol commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

I factored out ghci-snl fixes for GNU compiler in #8726, to limit CI fails in this PR to the new compilers added. I will rebase/retest once that one is merged.

@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch from c7f88a0 to feaff39 Compare September 14, 2026 23:42
@bartgol

bartgol commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

The intel DIFF is expected (there are no baselines), but the RUN fail on gnugpu isn't. I need to investigate.

@bartgol
bartgol force-pushed the bartgol/machines/more-ghci-snl-testing branch from feaff39 to 0119149 Compare September 17, 2026 16:29
@bartgol

bartgol commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

DIFFs are expected, since v1 baselines for intel and gnugpu don't exist yet. Merging.

bartgol added a commit that referenced this pull request Sep 17, 2026
…8564)

Add an eamxx-prod case with cuda and intel compilers.

[BFB]
@bartgol
bartgol merged commit 9e63d09 into master Sep 17, 2026
14 of 16 checks passed
@bartgol
bartgol deleted the bartgol/machines/more-ghci-snl-testing branch September 17, 2026 21:28
string(APPEND CMAKE_CXX_FLAGS_DEBUG " -O0 -g")
string(APPEND CMAKE_Fortran_FLAGS_DEBUG " -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -init=snan,arrays")
string(APPEND CMAKE_CXX_FLAGS " -fp-model source")
string(APPEND CMAKE_CXX_FLAGS " -fp-model precise")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changed answers for EAM cases on chrysalis.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to add this, as -fp-model source is no longer a valid intel flag. @amametjanov has a similar mod on his PR to fix aurora.

That said, I don't think it explains anything. The file <compiler>.cmake is included by cmake before <machine_compiler>.cmake. And chrysalis_intel.cmake already has

string(APPEND CMAKE_CXX_FLAGS " -fp-model precise")

So this change ONLY affects builds that did NOT set the fp model in <machine_compiler>.cmake. And if they didn't, oneapi should have errored out. Like it did on Aurora (hence, Az's PR).

@rljacob rljacob added non-BFB PR makes roundoff changes to answers. and removed BFB PR leaves answers BFB labels Sep 20, 2026
<SUPPORTED_BY>lbertag at sandia dot gov</SUPPORTED_BY>
<MAX_TASKS_PER_NODE>32</MAX_TASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE>32</MAX_MPITASKS_PER_NODE>
<MAX_MPITASKS_PER_NODE compiler="gnugpu">2</MAX_MPITASKS_PER_NODE>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why was this PR messing with aurora?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the ghci-snl entry of config_machines though. There's one mod to aurora.cmake (not sure why), but only in comments, which should not affect anything.

@rljacob

rljacob commented Sep 20, 2026

Copy link
Copy Markdown
Member

This PR should have been tested overnight on next since it changed general macros like intel.cmake

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI: workflow change approved Allow gh action PR testing on ghci-snl-* machines for PRs that alter a worfklow file EAMxx C++ based E3SM atmosphere model (aka SCREAM) Machine Files non-BFB PR makes roundoff changes to answers. Testing Anything related to unit/system tests workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants