Ignore:
Timestamp:
Sep 30, 2020 10:27:40 PM (4 years ago)
Author:
pavelkrc
Message:

Fixes and optimizations of OpenMP parallelization, formatting of OpenMP directives

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/turbulence_closure_mod.f90

    r4674 r4717  
    2525! -----------------
    2626! $Id$
     27! Fixes and optimizations of OpenMP parallelization, formatting of OpenMP
     28! directives (J. Resler)
     29!
     30! 4674 2020-09-10 10:36:55Z pavelkrc
    2731! Update ACC directives for downward facing USM and LSM surfaces
    2832!
     
    21032107!--    Not available in case of non-cyclic boundary conditions.
    21042108!--    Default surfaces, upward-facing
    2105        !$OMP PARALLEL DO PRIVATE(i,j,k,m)
     2109       !$OMP PARALLEL DO PRIVATE(i, j, k, m, km_sfc)
    21062110       !$ACC PARALLEL LOOP PRIVATE(i, j, k, m, km_sfc) &
    21072111       !$ACC PRESENT(surf_def_h(0), u, v, drho_air_zw, zu)
     
    21322136!
    21332137!--    Default surfaces, downward-facing surfaces
    2134        !$OMP PARALLEL DO PRIVATE(i,j,k,m)
    2135        !$ACC PARALLEL LOOP PRIVATE(i, j, k, m, km_sfc) &
     2138       !$OMP PARALLEL DO PRIVATE(i, j, k, m)
     2139       !$ACC PARALLEL LOOP PRIVATE(i, j, k, m) &
    21362140       !$ACC PRESENT(surf_def_h(1), u, v, drho_air_zw, zu, km)
    21372141       DO  m = 1, surf_def_h(1)%ns
     
    21582162!
    21592163!--    Natural surfaces, upward- and downward facing
    2160        !$OMP PARALLEL DO PRIVATE(i,j,k,m)
     2164       !$OMP PARALLEL DO PRIVATE(i, j, k, m, km_sfc)
    21612165       !$ACC PARALLEL LOOP PRIVATE(i, j, k, m, km_sfc) &
    21622166       !$ACC PRESENT(surf_lsm_h(0), u, v, drho_air_zw, zu)
     
    21872191!
    21882192!--    Natural surfaces, downward-facing surfaces
    2189        !$OMP PARALLEL DO PRIVATE(i,j,k,m)
    2190        !$ACC PARALLEL LOOP PRIVATE(i, j, k, m, km_sfc) &
     2193       !$OMP PARALLEL DO PRIVATE(i, j, k, m)
     2194       !$ACC PARALLEL LOOP PRIVATE(i, j, k, m) &
    21912195       !$ACC PRESENT(surf_lsm_h(1), u, v, drho_air_zw, zu, km)
    21922196       DO  m = 1, surf_lsm_h(1)%ns
     
    22132217!
    22142218!--    Urban surfaces, upward-facing
    2215        !$OMP PARALLEL DO PRIVATE(i,j,k,m)
     2219       !$OMP PARALLEL DO PRIVATE(i, j, k, m, km_sfc)
    22162220       !$ACC PARALLEL LOOP PRIVATE(i, j, k, m, km_sfc) &
    22172221       !$ACC PRESENT(surf_usm_h(0), u, v, drho_air_zw, zu)
     
    22422246!
    22432247!--    Urban surfaces, downward-facing surfaces
    2244        !$OMP PARALLEL DO PRIVATE(i,j,k,m)
    2245        !$ACC PARALLEL LOOP PRIVATE(i, j, k, m, km_sfc) &
     2248       !$OMP PARALLEL DO PRIVATE(i, j, k, m)
     2249       !$ACC PARALLEL LOOP PRIVATE(i, j, k, m) &
    22462250       !$ACC PRESENT(surf_usm_h(1), u, v, drho_air_zw, zu, km)
    22472251       DO  m = 1, surf_usm_h(1)%ns
     
    51925196                                                ! Data output
    51935197    !$ACC END KERNELS
    5194 !$OMP END PARALLEL
     5198    !$OMP END PARALLEL
    51955199
    51965200 END SUBROUTINE tcm_diffusivities_default
Note: See TracChangeset for help on using the changeset viewer.