-
Notifications
You must be signed in to change notification settings - Fork 332
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial OpenACC port of atm_compute_vert_imp_coefs subroutine
This commit enables the GPU execution of the atm_compute_vert_imp_coefs subroutine using OpenACC directives for the data movements and loops. A new timer, 'atm_compute_vert_imp_coefs [ACC_data_xfer]', has been added for host- GPU data transfers in this subroutine. This port follows these considerations: - Separating the computation of cofrz into a separate parallel clause for correctness. - Variables b_tri and c_tri are declared private in lieu of extending the storage to two dimensions, like a_tri. - 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.
- Loading branch information
Showing
1 changed file
with
38 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters