-
Notifications
You must be signed in to change notification settings - Fork 360
Initial OpenACC port of atm_bdy_adjust_dynamics_relaxzone_tend #1269
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
Initial OpenACC port of atm_bdy_adjust_dynamics_relaxzone_tend #1269
Conversation
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.
Besides a more formal commit message, here's some things I've noticed so far.
2e993c5
to
5c7d198
Compare
This looks good to me now. Just waiting for any changes from Michael's review and the final commit(s) |
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.
Looks good to me.
@abishekg7 I'll merge this after you've reworked the commit history.
This commit enables the GPU execution of atm_bdy_adjust_dynamics_relaxzone_tend using OpenACC directives. Any scalar pointers used within the acc parallel regions are first dereferenced so that they are correctly copied onto the device. Timing information for the temporary OpenACC data transfers in this routine is logged using the timer: atm_bdy_adjust_dynamics_relaxzone_tend [ACC_data_xfer]. Time-invariant fields, meshScalingRegionalCell and meshScalingRegionalEdge, are copied onto the device in mpas_atm_dynamics_init and deleted from the device in mpas_atm_dynamics_finalize.
af2b0a0
to
f7adde0
Compare
Thanks! I've rebased and cleaned up the commit history. And results are still bit identical with develop. |
This PR enables the GPU execution of
atm_bdy_adjust_dynamics_relaxzone_tend
using OpenACC directives. Any scalar pointers used within the acc parallel regions are first dereferenced so that they are correctly copied onto thedevice.
Timing information for the temporary OpenACC data transfers in this routine is logged using the timer:
atm_bdy_adjust_dynamics_relaxzone_tend [ACC_data_xfer]
.Data movements for time-invariant fields are performed in
mpas_atm_dynamics_init
andmpas_atm_dynamics_finalize