Skip to content

Fix timer failures from unmatched Pacer timer - #584

Merged
mark-petersen merged 2 commits into
E3SM-Project:developfrom
brian-oneill:omega/fix-tracerHorzAdv-timer
Sep 30, 2026
Merged

mark-petersen merged 2 commits into
E3SM-Project:developfrom
brian-oneill:omega/fix-tracerHorzAdv-timer

Conversation

@brian-oneill

@brian-oneill brian-oneill commented Sep 29, 2026 •

Copy link
Copy Markdown

A Pacer::start without a matching Pacer::stop in Tendencies::computeTracerTendenciesOnly is causing cascading timer failures in the Omega run loop (#583). This PR fixes the bug by removing the duplicate Pacer::start("Tend::tracerHorzAdv") and moving the corresponding Pacer::stop outside the FCT/non-FCT branching, so the resulting timer wraps around the entire tracer horizontal advection block and is properly implemented for both TracerHorzAdv.FCT = true and TracerHorzAdv.FCT = false.

Checklist

  • Linting

  • Building

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

    aurora, oneapi-ifx, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    chrysalis, oneapi-ifx, openmpi

    • CTests Pass
    • Polaris omega_pr Pass

    frontier, craygnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    frontier, craygnu-mphipcc, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    pm-cpu, gnu, mpich

    • CTests Pass
    • Polaris omega_pr Pass

    pm-gpu, gnugpu, mpich

    • CTests Pass
    • Polaris omega_pr 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
    • Indicate "All tests passed" or document failing tests
    • Document testing used to verify the changes including any tests that are added/modified/impacted.

Fixes #583
Fixes #580

@brian-oneill brian-oneill added the bug Something isn't working label Sep 29, 2026
@brian-oneill brian-oneill changed the title Omega/fix tracer horz adv timer Fix timer failures from unmatched Pacer timer Sep 29, 2026
@mark-petersen

mark-petersen commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

This PR definitely fixes a slow-down problem I had.

Before
I ran today's develop 39689a9 using the SOMA test case at 32km with all IO off except monthly restart files. On perlmutter-cpu gnu with -DOMEGA_BUILD_TYPE=Release
image

After
Same as above but with this PR merged in
image

@mark-petersen
mark-petersen self-requested a review September 30, 2026 17:00
@mark-petersen

Copy link
Copy Markdown
Collaborator

Testing

CTest unit tests Perlmutter CPU

  • Machine: perlmutter-cpu
  • Compiler: gnu
  • Build type: Release
  • Result: All tests passed
  • Logs: /pscratch/sd/m/mpeterse/omega-builds/od-cpu-260928/build/test/logs

CTest unit tests Perlmutter GPU

  • Machine: perlmutter-gpu
  • Compiler: gnugpu
  • Build type: Release
  • Result: All tests passed
  • Logs: /pscratch/sd/m/mpeterse/omega-builds/od-gpu-260928/build/test/logs

CTest unit tests Frontier CPU

  • Machine: frontier-cpu
  • Compiler: craygnu
  • Build type: Release
  • Result: All tests passed
  • Logs: /lustre/orion/cli115/scratch/mpetersen/omega-builds/test_omega_cpu/build/test/logs

CTest unit tests Frontier GPU

  • Machine: frontier-gpu
  • Compiler: craygnu-mphipcc
  • Build type: Release
  • Result: All tests passed
  • Logs: /lustre/orion/cli115/scratch/mpetersen/omega-builds/test_omega_gpu/build/test/logs

@mark-petersen

Copy link
Copy Markdown
Collaborator

Tested Polaris omega_pr on

  • Machine: perlmutter-cpu
  • Compiler: gnu
  • Build type: Release
  • All tests pass

@mark-petersen mark-petersen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks @brian-oneill for the quick bug fix!

@mark-petersen
mark-petersen merged commit de99dc4 into E3SM-Project:develop Sep 30, 2026
1 check passed
@mark-petersen mark-petersen self-assigned this Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Timing failures from unmatched Pacer::start in Tendencies::computeTracerTendenciesOnly Another slowdown: 5x slower over 6 years

2 participants