Skip to content

Commit 68253c3

Browse files
committed
Initial OpenACC port of atm_advance_acoustic_step_work
Enables the GPU execution of the atm_advance_acoustic_step_work subroutine by adding OpenACC directives. In order to discount the time spent to transfer data between CPU and GPU within this routine, the new timer 'atm_advance_acoustic_step [ACC_data_xfer]' has been added to the log file. Changes include: - Preparing the routine for porting. Modifying whitespace to make regions clear, changing implicit loop assignments to be explicit, and fusing some loops. - Adding OpenACC parallel and loop directives to the do-loops. - Managing the invariant fields needed for this routine in mpas_atm_dynamics_{init,finalize} so they are available across timesteps. - Managing the other fields needed in the routine with OpenACC directives and using default(present) to ensure data isn't missed. default(present) clauses cause a run-time error if data isn't present.
1 parent ce4d670 commit 68253c3

File tree

1 file changed

+236
-86
lines changed

1 file changed

+236
-86
lines changed

0 commit comments

Comments
 (0)