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-Atmosphere of pre-acoustic step setup calculations #1222

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

Commits on Aug 5, 2024

  1. Prepare atm_set_smlstep_pert_variables_work for OpenACC porting

    Ensures that lines of code within a loop or conditional are apparent to
    the reader. This change only affects whitespace to indent code within an
    if-condition.
    gdicker1 committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    4072f6f View commit details
    Browse the repository at this point in the history
  2. Copy invariant fields used in atm_set_smlstep_pert_variables_work wit…

    …h OpenACC
    
    Ensure that the invariant fields that are used in this work routine are
    present on the device from model startup to model shutdown.
    
    Fields are added to the device with copyin directives and other code
    within mpas_atm_dynamics_init and fields are deleted from the device
    with matching delete directives and code in mpas_atm_dynamics_finalize.
    gdicker1 committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    db99192 View commit details
    Browse the repository at this point in the history
  3. Add parallel and loop directives to atm_set_smlstep_pert_variables_work

    Add directives for an initial port of this routine using OpenACC.
    gdicker1 committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    1667ae1 View commit details
    Browse the repository at this point in the history
  4. Add acc data management to atm_set_smlstep_pert_variables_work

    Ensure that other, non-invariant, fields are available on the device
    during this routine and that modified variables are copied out at the
    end.
    
    Timing for these transfers are reported in the output log file in the
    new timer: `atm_recover_smlstep_pert_variables [ACC_data_xfer]`.
    
    The 'default(present)' clause is added to the parallel directive so that
    any missing data causes a runtime error.
    gdicker1 committed Aug 5, 2024
    Configuration menu
    Copy the full SHA
    d122e6f View commit details
    Browse the repository at this point in the history