-
Notifications
You must be signed in to change notification settings - Fork 371
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
Adding OpenACC directives to top of split time integration routine #4939
Adding OpenACC directives to top of split time integration routine #4939
Conversation
@brobey - can you please change the title of this PR to something more descriptive? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the specific bug fix needed for Summit.
Other (optional) changes. For OpenACC on Summit, we don't see any benefit from a parallel region (that is, separating parallel from the associated loop construct) so I guess I have a preference for keeping "parallel loop" as a combined directive and local present variables rather than having the separate parallel/end parallel and individual loop constructs. Were you seeing an advantage to splitting these on other machines?
Also, an optional cosmetic thing - would prefer to keep line lengths in the 75-80 char range to fit a terminal window so would prefer to break up long lines with continuation chars, even for directives.
We can reduce clutter a little by only using ifdefs for OpenACC when we need to distinguish from OpenMP for loop directives. Again, just a personal preference.
components/mpas-ocean/src/mode_forward/mpas_ocn_time_integration_split.F
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved after verifying most recent changes are bfb on Summit and continue to pass PR tests on others. And thanks for the additional cleanup.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I compiled with gnu optimized, and it matches bfb with the previous commit for MPAS standalone nightly suite. Also tested with gnu debug.
Adding OpenACC directives to top of split time integration routine Adding OpenACC to top of split time integration routine. This is mostly adding directives and should not impact anything else. [BFB]
passes sanity tests, merged to next |
merged to master |
Adding OpenACC to top of split time integration routine. This is mostly adding directives and should not impact anything else. Tested on Darwin with NVHPC (OpenACC), Intel, and GCC with bfb compared to head. Could not test on Cori-KNL - no longer supported in compass. Tried Cori-Haswell, but getting three fails with master and with changes. Still don't have a Chrysalis or Summit account to test on those platforms. Broke prior OpenACC extend split pull request in the process so will have to recreate and repost those changes.
[BFB]