forked from ESCOMP/CAM
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This is waiting for #25, will move out of draft when merged |
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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.