Skip to content

Performance optiimisation: Add debug flags, and target cascadelake#210

Draft
manodeep wants to merge 2 commits intomainfrom
perf-opt-25k-compiler-flags
Draft

Performance optiimisation: Add debug flags, and target cascadelake#210
manodeep wants to merge 2 commits intomainfrom
perf-opt-25k-compiler-flags

Conversation

@manodeep
Copy link
Collaborator

@manodeep manodeep commented Mar 18, 2026

Do not merge - I am using this to test performance with various compiler flag combos. Test-bed is with a 20-day run of the 25k IAF config.

debug flags

The -g3 -grecord-gcc-switches -fno-omit-frame-pointer are good to have and do (should?) not have any meaningful impact on performance. We might have to apply the -fno-omit-frame-pointer after the optimisation flag (-O2 here), since -O1/-O2/etc implies -fomit-frame-pointer (which will presumably cancel out the previous flag). Similarly, -g implies -fno-omit-frame-pointer

optimisation flags

Based on testing with OM2, the -xCORE-AVX2 flags produced a 5-10% performance improvement compared to -mavx2/-march=haswell etc. Testing whether a similar performance boost occurs by replacing -march=sapphirerapids -mtune=sapphirerapids with -xcascadelake


🚀 The latest prerelease access-om3/pr210-2 at 8d863ee is here: #210 (comment) 🚀

@manodeep manodeep requested a review from a team as a code owner March 18, 2026 02:38
@manodeep manodeep marked this pull request as draft March 18, 2026 02:38
@manodeep manodeep removed the request for review from a team March 18, 2026 02:38
@github-actions
Copy link

The model version in the spack.yaml has not been updated.
You can update it manually.
Alternatively, comment the following to have it updated and committed automatically:

  • !bump major for feature releases
  • !bump minor for bugfixes

@manodeep manodeep temporarily deployed to Gadi Prerelease March 18, 2026 02:40 — with GitHub Actions Inactive
@github-actions
Copy link

🚀 Attempted to deploy access-om3 Prerelease pr210-1 with commit 630e87c

🖥️ Gadi Deployment ❌

@manodeep manodeep changed the title Add debug flags, and target cascadelake Performance optiimisation: Add debug flags, and target cascadelake Mar 18, 2026
@github-actions
Copy link

🚀 Attempted to deploy access-om3 Prerelease pr210-1 with commit 630e87c

🖥️ Gadi Deployment ✔️

Usage Instructions

access-om3, defined in spack.yaml, will be deployed to Gadi as:

  • 2026.03.000 as a Release (when merged).
  • pr210-1 as a Prerelease (during this PR).

This Prerelease is accessible on Gadi using:

module use /g/data/vk83/prerelease/modules
module load access-om3/pr210-1

When using the above modules, the binaries shall be on your $PATH.

For advanced users, this Prerelease is also accessible on Gadi via /g/data/vk83/prerelease/apps/spack/1.1/spack in the access-om3-pr210-1 environment.
Due to inode-saving measures, one will have to manually untar the environment metadata before environment activation with tar -xf .spack-env .spack-env.tar. It will require one to have write privileges.

Configuration Information

This Prerelease is deployed using:

If the above was not what was expected, commit changes to config/versions.json in this PR, or propose changes to build-cds config/settings.json.

@manodeep manodeep temporarily deployed to Gadi Prerelease March 18, 2026 22:49 — with GitHub Actions Inactive
@dougiesquire
Copy link
Collaborator

What was the namelist error @manodeep? The WOMBATlite namelist does need to be updated with these versions. See https://github.com/ACCESS-NRI/access-om3-configs/pull/1225/changes#diff-864e627df2bf0220849373d949dfe5de1979c09c25b0eac03f7c8c647e92c89e

@dougiesquire
Copy link
Collaborator

Also fd.yaml and datm_in will need to be updated for things to run I believe. Which config are you trying to run?

@github-actions
Copy link

🚀 Attempted to deploy access-om3 Prerelease pr210-2 with commit 8d863ee

🖥️ Gadi Deployment ✔️

Usage Instructions

access-om3, defined in spack.yaml, will be deployed to Gadi as:

  • 2026.03.000 as a Release (when merged).
  • pr210-2 as a Prerelease (during this PR).

This Prerelease is accessible on Gadi using:

module use /g/data/vk83/prerelease/modules
module load access-om3/pr210-2

When using the above modules, the binaries shall be on your $PATH.

For advanced users, this Prerelease is also accessible on Gadi via /g/data/vk83/prerelease/apps/spack/1.1/spack in the access-om3-pr210-2 environment.
Due to inode-saving measures, one will have to manually untar the environment metadata before environment activation with tar -xf .spack-env .spack-env.tar. It will require one to have write privileges.

Configuration Information

This Prerelease is deployed using:

If the above was not what was expected, commit changes to config/versions.json in this PR, or propose changes to build-cds config/settings.json.

@manodeep
Copy link
Collaborator Author

@dougiesquire I am using the 25km IAF config. Both the 24th Feb and 17th March versions had this error on startup:

  (atm_comp_nuopc):(InitializeAdvertise) : namelist read error datm_in rc=      
     19

@dougiesquire
Copy link
Collaborator

I think you'll need the changes in ACCESS-NRI/access-om3-configs#1225 (merged into the 25km IAF WOMBATlite config yesterday). I believe @anton-seaice is updating the other configs as we speak

@anton-seaice
Copy link
Collaborator

@manodeep
Copy link
Collaborator Author

Thanks both!

@manodeep
Copy link
Collaborator Author

Can confirm that run with the first deployment is running successfully after cloning from the cherry-picked 1232 pr.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants