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

Enable GPU execution of mpas_atm_get_bdy_state functions via OpenACC #1279

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

gdicker1
Copy link
Collaborator

This PR adds OpenACC directives and data movement to the mpas_atm_get_bdy_state_2d and mpas_atm_get_bdy_state_3d functions.

Timing information for the OpenACC data transfers in this routine is captured in the log file by new timers:

  • mpas_atm_get_bdy_state_2d [ACC_data_xfer].
  • mpas_atm_get_bdy_state_3d [ACC_data_xfer].

This port prepares for further changes and optimizations to follow.
Note this adds timers for OpenACC data movement in this routine, but
there is no timer for the actual computation done in these functions.

These timers are named:
- 'mpas_atm_get_bdy_state_2d [ACC_data_xfer]'
- 'mpas_atm_get_bdy_state_3d [ACC_data_xfer]'
This change will help identify memory issues when the data regions are
fused across the MPAS-A dycore.
@gdicker1
Copy link
Collaborator Author

I structured this so that the "Add OpenACC data movement..." commit can just be reverted in the future when data regions are fused. I'm glad to change or re-work.

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.

1 participant