Commit 3efed62
committed
Merge branch 'atmosphere/port_atm_srk3_module_vars' into develop (PR #1314)
This merge ports some of the loops in the mpas_atm_time_integration and
mpas_atm_core modules that initialize module level variables belonging to the
mpas_atm_time_integration module to OpenACC in preparation for the consolidation
of all data transfers between host and device to before and after each dynamics
call.
In order to do this, allocatable module level variables are also declared in
this scope using the OpenACC 'declare create' directive, which instructs the
compiler to automatically create and delete the variable whenever it encounters
an allocate or deallocate statement, respectively. This merge also removes
these variables from manual data movement statements as required.
This merge also introduces some integers for loop bounds, so as to dereference
scalar integer pointers which the OpenACC parallel regions do not correctly copy
to device memory in the presence of a default(present) clause.
* atmosphere/port_atm_srk3_module_vars:
Enable GPU execution of loops in atm_srk3 involving module level variables2 files changed
Lines changed: 130 additions & 75 deletions
0 commit comments