Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge CAM dev into main for EWv2.3 Release #26

Merged
merged 11 commits into from
Aug 1, 2024
Merged

Merge CAM dev into main for EWv2.3 Release #26

merged 11 commits into from
Aug 1, 2024

Conversation

gdicker1
Copy link

@gdicker1 gdicker1 commented Aug 1, 2024

No description provided.

gdicker1 and others added 7 commits June 3, 2024 11:20
This commit comments out the real-data initial condition files and
corresponding topography files that were added in EWOrg/CAM PR#16. These
files cause the chemistry solvers to fail to converge, the dynamics to
become unstable (NaNs in the w field), and the runs of these cases to
fail.

By turning off gravity wave frontogenesis the other, existing MPAS
real-data files can be used with the cam_dev physics suite. This commit
also modifies logic in build-namelist so that frontogenesis is only
turned on with cam_dev if the MPAS-dycore isn't being used.
Workaround for run failures caused by files added in EarthWorksOrg/CAM
PR#16. Real-data files that cause crashes are commented out and default
namelist logic is changed so the previous files can be used with cam_dev
physics.
Due to correctness issues that were introduced when changing to a
CAM-compatible OpenACC MPAS version in cam-ew2.0.004, this commit
reverts back to the version used in cam-ew2.0.003 and ESCOMP/CAM tag
cam6_3_136.
Fix correctness issues by reverting MPAS-A to a v7.3 version without
OpenACC directives.

NOTE: This will require cases using cam_dev physics to have
'use_gw_front = .false.' in user_nl_cam (if not already present).
Without the data directives in the RRTMGP-CAM interface, the variables
on the GPUs were created and destroyed multiple times causing a
performance penalty. In this commit, structured data regions were
added above and below the increment, rte_sw, rte_lw calls. After adding
data directives,the nsys profile indicates, only a single data transfer
at the begining and the kernel executions.
SW: 414.055ms → 77.66ms
LW: 443.532ms → 200.637ms
Improve performance of OpenACC compiled RRTMGP by adding a structured data
region in the CAM interface to keep variables resident on the device and
prevent extra data copyins, creates, and deletes.
@gdicker1 gdicker1 self-assigned this Aug 1, 2024
@gdicker1
Copy link
Author

gdicker1 commented Aug 1, 2024

This is waiting for #25, will move out of draft when merged

johnmauff and others added 2 commits August 1, 2024 13:54
These changes include removing a (now unneeded) temp variable and some
unnecessary OpenACC copyout directives.
This is a follow-up for PR #24. It reduces additional data movement in
the rte_sw() and rte_lw() subroutines. It also eliminates data movement
within the calls to gas_optics() by moving the data movement outside of
the subroutine call tree.
@gdicker1 gdicker1 marked this pull request as ready for review August 1, 2024 21:13
@gdicker1 gdicker1 merged commit 2625f37 into ew-main Aug 1, 2024
2 checks passed
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