Skip to content

Add a PE layout for Omega cases on pm-gpu - #671

Open
xylar wants to merge 1 commit into
E3SM-Project:developfrom
xylar:omega/add-gomega-gpu-pe-layout
Open

xylar wants to merge 1 commit into
E3SM-Project:developfrom
xylar:omega/add-gomega-gpu-pe-layout

Conversation

@xylar

@xylar xylar commented Oct 31, 2026 •

Copy link
Copy Markdown

Add a PE layout for Omega cases on pm-gpu that runs MPAS-Seaice, the data models and the coupler on 64 CPU tasks while Omega keeps one task per GPU.


GOMEGA and COMEGA cases had no PE layout, so on pm-gpu every component ran on 4 tasks, one per GPU. PEM then halved MPAS-Seaice to 2 tasks, which has no partition file (#654). On pm-gpu, muller-gpu and alvarez-gpu, this PR uses 64 MPI tasks per node and puts Omega on 4 of them, 16 apart, so the existing pm-gpu_set_affinity_npergpu.sh gives each its own GPU. The pm-gpu ne256 coupled layouts do the same for EAMxx.

For reviewers to consider:

  • A CPU (gnu) build of Omega on pm-gpu also gets only 4 Omega tasks, since config_pes.xml can't select by compiler.
  • Omega and MPAS-Seaice share ranks and run one after the other. Making them concurrent isn't worth it for these test meshes (see the comment below).
  • Aurora is left out because CIME can't choose a PE layout by compiler (see the comment below). Frontier waits on queue time.
  • ERS run time is dominated by restart and history writes on one PIO task per node, which this doesn't change.
  • Which GPU each Omega rank used isn't logged; it follows from the affinity script.
  • xmllint rejects pstrid against config_pes.xsd, as it does for config_pesall.xml.

Fixes #654

Checklist

  • Documentation:

  • Linting

  • Building

    • CMake build does not produce any new warnings from changes in this PR
  • Testing1

    aurora, intel, mpich

    • CTests Pass
    • Polaris omega_pr Pass
    • Coupled CIME tests Pass

    aurora, intelgpu, mpich

    • CTests Pass
    • Polaris omega_pr Pass
    • Coupled CIME tests Pass

    frontier, craygnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass
    • Coupled CIME tests Pass

    frontier, craygnu-mphipcc, mpich

    • CTests Pass
    • Polaris omega_pr Pass
    • Coupled CIME tests Pass

    pm-cpu, gnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass
    • Coupled CIME tests Pass

    pm-gpu, gnugpu, mpich

    • CTests Pass
    • Polaris omega_pr Pass
    • Coupled CIME tests Pass
  • Provide relevant details in a comment to the PR titled Testing with the following:
    • Which machines CTest unit tests
      have been run on and indicate that are all passing.
    • The Polaris omega_pr test suite
      has passed, using the Polaris e3sm_submodules/Omega baseline
    • Document machine(s), compiler(s), and the build path(s) used for -p for both the baseline (Polaris e3sm_submodules/Omega) and the PR build
    • Which coupled CIME tests
      (such as ERS_D or PEM_D tests) have been run and indicate that they are all passing
    • Indicate "All tests passed" or document failing tests
    • Document testing used to verify the changes including any tests that are added/modified/impacted.

🤖 Generated with Claude Code

Footnotes

  1. Remove rows for any configurations you do not run (or ask someone else to run).
    At a minimum, PRs are expected to pass tests on at least one CPU and at least one GPU platform for both standalone tests (CTests and omega_pr) and coupled CIME tests. ↩

Omega is the primary component of GOMEGA and COMEGA cases, but there
was no PES_SPEC_FILE entry for it, so these cases fell back to a
generic 1-node layout.  On pm-gpu with gnugpu, that is 4 MPI tasks (one
per GPU) for all components, leaving MPAS-Seaice, the data models and
the coupler on only 4 CPU cores.  PEM tests then halved this to 2
tasks, for which there is no MPAS-Seaice partition file.

Add components/omega/cime_config/config_pes.xml and point
PES_SPEC_FILE to it.  On pm-gpu, muller-gpu and alvarez-gpu, use 64 MPI
tasks per node for the CPU components and 4 tasks with a stride of 16
for Omega, so that pm-gpu_set_affinity_npergpu.sh gives each Omega task
its own GPU.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@xylar xylar added Omega machinefile pm-gpu Perlmutter machine at NERSC (GPU nodes) labels Oct 31, 2026
@xylar xylar changed the title Add a PE layout for Omega cases on pm-gpu Add a PE layout for Omega cases on pm-gpu and Aurora Oct 31, 2026
@xylar

xylar commented Oct 31, 2026

Copy link
Copy Markdown
Author

Testing

I ran these coupled tests on pm-gpu with gnugpu, at 48fecaa (before the Aurora commit):

/pscratch/sd/x/xylar/e3sm_scratch/pm-gpu/gomega_pes
Test Result
PEM_Vmct_Ln9.TL319_EC30to60E2r2.GOMEGA-JRA1p5.pm-gpu_gnugpu.omega-jra_1958 PASS (MPAS-Seaice on 64, then 32 tasks)
ERS_Ln9.TL319_EC30to60E2r2.GOMEGA-JRA1p5.pm-gpu_gnugpu.omega-jra_1958 PASS
PEM.T62_oQU240.GOMEGA-IAF.pm-gpu_gnugpu Timed out during a filesystem slowdown; rerunning

In the EC30to60E2r2 PEM base run, MPAS-Seaice took 4.7 s on 64 tasks, compared with 33 s on 4 tasks in #654.

🤖 Generated with Claude Code

@xylar

xylar commented Oct 31, 2026

Copy link
Copy Markdown
Author

Running Omega concurrently with MPAS-Seaice (by adding excl_stride_ocn) doesn't seem worth the effort for these tests:

  • Giving Omega its own ranks leaves MPAS-Seaice on 60 tasks on pm-gpu (84 on Aurora), and half that in PEM. oQU240 has no partition files for these counts. NTASKS_ICE would also still point the inputdata check at the 64-task (96-task) file.
  • The gain is small. In the EC30to60E2r2 PEM base run, Omega took 1.3 s of the 8.2 s run time, so overlapping it with MPAS-Seaice saves at most that. ERS time is dominated by I/O.
  • oQU240 and EC30to60E2r2 are older meshes used only for testing, so making new partition files for them would be wasted effort.

🤖 Generated with Claude Code

@xylar

xylar commented Oct 31, 2026

Copy link
Copy Markdown
Author

Testing on aurora

Tested the merge of #671 (6a671d9c45) into develop (11e7cbc817) as 138de87a16, against Polaris' Omega submodule (11e7cbc817).

Row CTests omega_pr Coupled New build warnings
aurora, intel, mpich 62 of 62 passed 36 of 36 passed 2 of 2 passed 0
aurora, intelgpu, mpich 61 of 62 passed 36 of 36 passed 2 of 2 passed 0
aurora, intel, mpich

Polaris omega_pr suite

  • Baseline workdir: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_intel_polaris-84e7190_omega-11e7cbc/omega_pr
  • Baseline build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_intel_polaris-84e7190_omega-11e7cbc/build
  • PR build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intel/build
  • PR workdir: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intel/omega_pr
  • Polaris: 84e7190dcec9e55c9707ff35f0333a544518e908 (1.1.0-605-g84e7190dc)
  • Baseline Omega: 11e7cbc8176ba35bb2c660df931955e504124d17 (Omega-v0.1.0-alpha.1-6373-g11e7cbc817)
  • PR Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Machine: aurora
  • Compiler: intel
  • Build type: Release
  • Log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intel/omega_pr/polaris_omega_pr.o9006437
  • Result: All tests passed
Recent commits

Polaris:

84e7190dc Merge pull request #933 from xylar/pr-test-update-main
d561288c0 Merge pull request #932 from xylar/update-omega
87fa5f06c Merge pull request #847 from xylar/make-fv-pgf-default
457c622c5 Merge pull request #930 from xylar/aurora-coupled-capacity-queue
60c951c7b Merge pull request #825 from xylar/add-sigma-overflow

Baseline Omega:

11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1
fd66ecb7d1 Merge pull request #448 from xylar/omega/design/add-higher-order-hpg-design

PR Omega:

138de87a16 Test merge of E3SM-Project/Omega#671 (6a671d9c45) into develop (11e7cbc817)
11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1

CTest unit tests:

  • Machine: aurora
  • Compiler: intel
  • Build type: Release
  • Build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intel/build
  • Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Result: All tests passed
  • Log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intel/build/ctests.log

Coupled CIME tests

  • Cases: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intel/coupled
  • CIME environment: /lus/flare/projects/E3SMinput/soft/e3sm-unified/load_latest_cime_env.sh
  • Result: All tests passed

ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel.pr671-6a671d9

PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel CREATE_NEWCASE
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel XML
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel SETUP
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel SHAREDLIB_BUILD time=150
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel MODEL_BUILD time=140
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel SUBMIT
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel RUN time=4186
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel COMPARE_base_rest
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel MEMLEAK
PASS ERS_D.T62_oQU240.COMEGA-IAF.aurora_intel SHORT_TERM_ARCHIVER

PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel.pr671-6a671d9

PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel CREATE_NEWCASE
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel XML
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel SETUP
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel SHAREDLIB_BUILD time=161
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel MODEL_BUILD time=130
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel SUBMIT
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel RUN time=3483
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel COMPARE_base_modpes
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel MEMLEAK
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intel SHORT_TERM_ARCHIVER

Build warnings

No new warnings (14 in the PR build, 14 in the baseline build).

  • Baseline build log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_intel_polaris-84e7190_omega-11e7cbc/build/build_omega.log
  • PR build log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intel/build/build_omega.log
aurora, intelgpu, mpich

Polaris omega_pr suite

  • Baseline workdir: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_intelgpu_polaris-84e7190_omega-11e7cbc/omega_pr
  • Baseline build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_intelgpu_polaris-84e7190_omega-11e7cbc/build
  • PR build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intelgpu/build
  • PR workdir: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intelgpu/omega_pr
  • Polaris: 84e7190dcec9e55c9707ff35f0333a544518e908 (1.1.0-605-g84e7190dc)
  • Baseline Omega: 11e7cbc8176ba35bb2c660df931955e504124d17 (Omega-v0.1.0-alpha.1-6373-g11e7cbc817)
  • PR Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Machine: aurora
  • Compiler: intelgpu
  • Build type: Release
  • Log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intelgpu/omega_pr/polaris_omega_pr.o9007034
  • Result: All tests passed
Recent commits

Polaris:

84e7190dc Merge pull request #933 from xylar/pr-test-update-main
d561288c0 Merge pull request #932 from xylar/update-omega
87fa5f06c Merge pull request #847 from xylar/make-fv-pgf-default
457c622c5 Merge pull request #930 from xylar/aurora-coupled-capacity-queue
60c951c7b Merge pull request #825 from xylar/add-sigma-overflow

Baseline Omega:

11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1
fd66ecb7d1 Merge pull request #448 from xylar/omega/design/add-higher-order-hpg-design

PR Omega:

138de87a16 Test merge of E3SM-Project/Omega#671 (6a671d9c45) into develop (11e7cbc817)
11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1

CTest unit tests:

  • Machine: aurora
  • Compiler: intelgpu
  • Build type: Release
  • Build: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intelgpu/build
  • Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Failures (1 of 62):
    • VERTMIX_TEST
  • Log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intelgpu/build/ctests.log

Coupled CIME tests

  • Cases: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intelgpu/coupled
  • CIME environment: /lus/flare/projects/E3SMinput/soft/e3sm-unified/load_latest_cime_env.sh
  • Result: All tests passed

PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu.pr671-6a671d9

PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu CREATE_NEWCASE
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu XML
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu SETUP
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu SHAREDLIB_BUILD time=204
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu MODEL_BUILD time=562
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu SUBMIT
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu RUN time=3628
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu COMPARE_base_modpes
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu MEMLEAK data for memleak test is insufficient
PASS PEM_D.T62_oQU240.COMEGA-IAF.aurora_intelgpu SHORT_TERM_ARCHIVER

ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu.pr671-6a671d9

PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu CREATE_NEWCASE
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu XML
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu SETUP
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu SHAREDLIB_BUILD time=193
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu MODEL_BUILD time=356
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu SUBMIT
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu RUN time=84
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu COMPARE_base_rest
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu MEMLEAK
PASS ERS.T62_oQU240.COMEGA-IAF.aurora_intelgpu SHORT_TERM_ARCHIVER

Build warnings

No new warnings (225 in the PR build, 243 in the baseline build).

  • Baseline build log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/baselines/aurora_intelgpu_polaris-84e7190_omega-11e7cbc/build/build_omega.log
  • PR build log: /lus/flare/projects/E3SM_Dec/xylar/polaris_1.1/aurora/omega_pr_test/pr671-6a671d9/aurora_intelgpu/build/build_omega.log

Notes

  • intelgpu: VERTMIX_TEST is Omega#668, a failure on develop since Add Rayleigh damping #587, not this PR.
  • intelgpu coupled: ran ERS instead of ERS_D, which crashes on develop (Omega#666). Omega ran on 12 tasks, 8 apart, and the job's --gpu-bind list gives each of those ranks its own GPU tile.
  • intel coupled: Omega now runs on 12 CPU tasks, down from 102, so ERS_D and PEM_D took 4186 s and 3483 s, against 936 s and 781 s in the Fix VERTMIX_TEST Rayleigh damping tests on Intel GPUs #670 testing.

Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar

xylar commented Oct 31, 2026

Copy link
Copy Markdown
Author

Testing on pm-cpu and pm-gpu

Tested the merge of #671 (6a671d9c45) into develop (11e7cbc817) as 138de87a16, against Polaris' Omega submodule (11e7cbc817).

Row CTests omega_pr Coupled New build warnings
pm-cpu, gnu, mpich 62 of 62 passed 36 of 36 passed 2 of 2 passed 0
pm-gpu, gnugpu, mpich 62 of 62 passed 36 of 36 passed 2 of 2 passed 0
pm-cpu, gnu, mpich

Polaris omega_pr suite

  • Baseline workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-cpu_gnu_polaris-84e7190_omega-11e7cbc/omega_pr
  • Baseline build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-cpu_gnu_polaris-84e7190_omega-11e7cbc/build
  • PR build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-cpu_gnu/build
  • PR workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-cpu_gnu/omega_pr
  • Polaris: 84e7190dcec9e55c9707ff35f0333a544518e908 (1.1.0-605-g84e7190dc)
  • Baseline Omega: 11e7cbc8176ba35bb2c660df931955e504124d17 (Omega-v0.1.0-alpha.1-6373-g11e7cbc817)
  • PR Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Machine: pm-cpu
  • Compiler: gnu
  • Build type: Release
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-cpu_gnu/omega_pr/polaris_omega_pr.o60617145
  • Result: All tests passed
Recent commits

Polaris:

84e7190dc Merge pull request #933 from xylar/pr-test-update-main
d561288c0 Merge pull request #932 from xylar/update-omega
87fa5f06c Merge pull request #847 from xylar/make-fv-pgf-default
457c622c5 Merge pull request #930 from xylar/aurora-coupled-capacity-queue
60c951c7b Merge pull request #825 from xylar/add-sigma-overflow

Baseline Omega:

11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1
fd66ecb7d1 Merge pull request #448 from xylar/omega/design/add-higher-order-hpg-design

PR Omega:

138de87a16 Test merge of E3SM-Project/Omega#671 (6a671d9c45) into develop (11e7cbc817)
11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1

CTest unit tests:

  • Machine: pm-cpu
  • Compiler: gnu
  • Build type: Release
  • Build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-cpu_gnu/build
  • Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Result: All tests passed
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-cpu_gnu/build/ctests.log

Coupled CIME tests

  • Cases: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-cpu_gnu/coupled
  • CIME environment: /global/common/software/e3sm/anaconda_envs/load_latest_cime_env.sh
  • Result: All tests passed

ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu.pr671-6a671d9

PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu CREATE_NEWCASE
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu XML
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SETUP
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SHAREDLIB_BUILD time=80
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu MODEL_BUILD time=160
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SUBMIT
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu RUN time=1063
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu COMPARE_base_rest
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu MEMLEAK
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SHORT_TERM_ARCHIVER

PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu.pr671-6a671d9

PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu CREATE_NEWCASE
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu XML
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SETUP
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SHAREDLIB_BUILD time=94
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu MODEL_BUILD time=152
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SUBMIT
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu RUN time=819
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu COMPARE_base_modpes
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu MEMLEAK
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-cpu_gnu SHORT_TERM_ARCHIVER

Build warnings

No new warnings (4 in the PR build, 4 in the baseline build).

  • Baseline build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-cpu_gnu_polaris-84e7190_omega-11e7cbc/build/build_omega.log
  • PR build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-cpu_gnu/build/build_omega.log
pm-gpu, gnugpu, mpich

Polaris omega_pr suite

  • Baseline workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-gpu_gnugpu_polaris-84e7190_omega-11e7cbc/omega_pr
  • Baseline build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-gpu_gnugpu_polaris-84e7190_omega-11e7cbc/build
  • PR build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-gpu_gnugpu/build
  • PR workdir: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-gpu_gnugpu/omega_pr
  • Polaris: 84e7190dcec9e55c9707ff35f0333a544518e908 (1.1.0-605-g84e7190dc)
  • Baseline Omega: 11e7cbc8176ba35bb2c660df931955e504124d17 (Omega-v0.1.0-alpha.1-6373-g11e7cbc817)
  • PR Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Machine: pm-gpu
  • Compiler: gnugpu
  • Build type: Release
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-gpu_gnugpu/omega_pr/polaris_omega_pr.o60617168
  • Result: All tests passed
Recent commits

Polaris:

84e7190dc Merge pull request #933 from xylar/pr-test-update-main
d561288c0 Merge pull request #932 from xylar/update-omega
87fa5f06c Merge pull request #847 from xylar/make-fv-pgf-default
457c622c5 Merge pull request #930 from xylar/aurora-coupled-capacity-queue
60c951c7b Merge pull request #825 from xylar/add-sigma-overflow

Baseline Omega:

11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1
fd66ecb7d1 Merge pull request #448 from xylar/omega/design/add-higher-order-hpg-design

PR Omega:

138de87a16 Test merge of E3SM-Project/Omega#671 (6a671d9c45) into develop (11e7cbc817)
11e7cbc817 Merge pull request #587 from xylar/omega/add-rayleigh-damping
8a1cfdcf93 Merge pull request #624 from andrewdnolan/omega/remove-pyyaml-workarounds
e1c6689d4d Merge pull request #645 from andrewdnolan/omega/fix-division-by-zero
27765dd1f5 Merge pull request #493 from xylar/omega/add-finite-volume-horiz-press-grad-phase1

CTest unit tests:

  • Machine: pm-gpu
  • Compiler: gnugpu
  • Build type: Release
  • Build: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-gpu_gnugpu/build
  • Omega: 138de87a1621351ee3d1596ecaf8539450b6d722 (Omega-v0.1.0-alpha.1-6376-g138de87a16)
  • Result: All tests passed
  • Log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-gpu_gnugpu/build/ctests.log

Coupled CIME tests

  • Cases: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-gpu_gnugpu/coupled
  • CIME environment: /global/common/software/e3sm/anaconda_envs/load_latest_cime_env.sh
  • Result: All tests passed

ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu.pr671-6a671d9

PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu CREATE_NEWCASE
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu XML
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SETUP
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SHAREDLIB_BUILD time=81
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu MODEL_BUILD time=357
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SUBMIT
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu RUN time=125
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu COMPARE_base_rest
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu MEMLEAK
PASS ERS_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SHORT_TERM_ARCHIVER

PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu.pr671-6a671d9

PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu CREATE_NEWCASE
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu XML
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SETUP
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SHAREDLIB_BUILD time=98
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu MODEL_BUILD time=353
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SUBMIT
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu RUN time=537
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu COMPARE_base_modpes
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu MEMLEAK
PASS PEM_D.T62_oQU240.COMEGA-IAF.pm-gpu_gnugpu SHORT_TERM_ARCHIVER

Build warnings

No new warnings (853 in the PR build, 853 in the baseline build).

  • Baseline build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/baselines/pm-gpu_gnugpu_polaris-84e7190_omega-11e7cbc/build/build_omega.log
  • PR build log: /pscratch/sd/x/xylar/polaris_1.1/omega_pr_test/pr671-6a671d9/pm-gpu_gnugpu/build/build_omega.log

Notes

  • pm-gpu coupled: the cases used this PR's layout, Omega on 4 tasks 16 apart and the other components on 64. The GOMEGA tests with MPAS-Seaice are in the earlier Testing comment.

Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar
xylar force-pushed the omega/add-gomega-gpu-pe-layout branch from 6a671d9 to 48fecaa Compare October 31, 2026 18:04
@xylar xylar changed the title Add a PE layout for Omega cases on pm-gpu and Aurora Add a PE layout for Omega cases on pm-gpu Oct 31, 2026
@xylar

xylar commented Oct 31, 2026

Copy link
Copy Markdown
Author

I dropped the Aurora commit (6a671d9), so the branch is back at 48fecaa.

On Aurora, intel and intelgpu share one machine name, and config_pes.xml can't select a layout by compiler: CIME's find_pes_layout matches only grid, compset, machine and PE size, here and in upstream ESMCI/cime. So the Aurora layout also gave intel (CPU) builds Omega on 12 tasks instead of 102. ERS_D.T62_oQU240.COMEGA-IAF took 4186 s, against 936 s before, and PEM_D took 3483 s, against 781 s. E3SM's other Aurora layouts give only node counts, so tasks per node follow each compiler's MAX_MPITASKS_PER_NODE. That doesn't work here, because Omega needs exactly one task per tile.

An Aurora layout should wait until CIME can match on compiler. That should be a small change, since COMPILER is already set when the layout is matched. The Aurora Testing comment above is for the dropped commit. The Perlmutter one still applies, because that commit changed only Aurora settings.


Posted by Claude Code on @xylar's behalf. The testing, analysis and wording above are AI-authored; please check them accordingly.

@xylar
xylar requested a review from andrewdnolan October 31, 2026 18:08
@xylar
xylar marked this pull request as ready for review October 31, 2026 18:21

This branch has not been deployed

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

Labels

machinefile Omega pm-gpu Perlmutter machine at NERSC (GPU nodes)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The PEM JRA test on pm-gpu runs sea ice on 4 and 2 tasks, since GOMEGA has no PE layout

1 participant