You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Initial OpenACC port of atm_divergence_damping_3d subroutine
This commit enables the GPU execution of the atm_divergence_damping_3d
subroutine using OpenACC directives for the data movements and loops. A new
timer, 'atm_divergence_damping_3d [ACC_data_xfer]', has been added for host-
GPU data transfers in this subroutine. This port follows these considerations:
- The data transfers for the invariant fields have been moved to
mpas_atm_dynamics_init and finalize.
- Explicitly adding gang, worker and vector level parallelism to parallel
constructs in atm_compute_vert_imp_coefs_work.
- The parallel constructs use default(present) clauses to avoid implicit
data movements by the compiler. This change also requires dereferencing
the pointers to nCellsSolve and nVertLevels, in order to avoid runtime
error messages such as the following:
FATAL ERROR: data in PRESENT clause was not found on device 1:name=ncellssolve
0 commit comments