Ignore:
Timestamp:
Nov 8, 2013 3:18:40 PM (10 years ago)
Author:
raasch
Message:

New:
---

openACC porting of timestep calculation
(modules, timestep, time_integration)

Changed:


openACC loop directives and vector clauses removed (because they do not give any performance improvement with PGI
compiler versions > 13.6)
(advec_ws, buoyancy, coriolis, diffusion_e, diffusion_s, diffusion_u, diffusion_v, diffusion_w, diffusivities, exchange_horiz, fft_xy, pres, production_e, transpose, tridia_solver, wall_fluxes)

openACC loop independent clauses added
(boundary_conds, prandtl_fluxes, pres)

openACC declare create statements moved after FORTRAN declaration statement
(diffusion_u, diffusion_v, diffusion_w, fft_xy, poisfft, production_e, tridia_solver)

openACC end parallel replaced by end parallel loop
(flow_statistics, pres)

openACC "kernels do" replaced by "kernels loop"
(prandtl_fluxes)

output format for theta* changed to avoid output of *
(run_control)

Errors:


bugfix for calculation of advective timestep (old version may cause wrong timesteps in case of
vertixcally stretched grids)
Attention: standard run-control output has changed!
(timestep)

File:
1 edited

Legend:

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

    r1247 r1257  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! openacc loop vector clauses removed, independent clauses added
    2323!
    2424! Former revisions:
     
    15361536!-- Prognostic equation for u-velocity component
    15371537    !$acc kernels present( nzb_u_inner, rdf, tend, tu_m, u, ug, u_p )
    1538     !$acc loop
     1538    !$acc loop independent
    15391539    DO  i = i_left, i_right
     1540       !$acc loop independent
    15401541       DO  j = j_south, j_north
    1541           !$acc loop vector( 32 )
     1542          !$acc loop independent
    15421543          DO  k = 1, nzt
    15431544             IF ( k > nzb_u_inner(j,i) )  THEN
     
    16021603!-- Prognostic equation for v-velocity component
    16031604    !$acc kernels present( nzb_v_inner, rdf, tend, tv_m, v, vg, v_p )
    1604     !$acc loop
     1605    !$acc loop independent
    16051606    DO  i = i_left, i_right
     1607       !$acc loop independent
    16061608       DO  j = j_south, j_north
    1607           !$acc loop vector( 32 )
     1609          !$acc loop independent
    16081610          DO  k = 1, nzt
    16091611             IF ( k > nzb_v_inner(j,i) )  THEN
     
    16641666!-- Prognostic equation for w-velocity component
    16651667    !$acc kernels present( nzb_w_inner, rdf, tend, tw_m, w, w_p )
    1666     !$acc loop
     1668    !$acc loop independent
    16671669    DO  i = i_left, i_right
     1670       !$acc loop independent
    16681671       DO  j = j_south, j_north
    1669           !$acc loop vector( 32 )
     1672          !$acc loop independent
    16701673          DO  k = 1, nzt-1
    16711674             IF ( k > nzb_w_inner(j,i) )  THEN
     
    17621765       !$acc kernels present( nzb_s_inner, rdf_sc, ptdf_x, ptdf_y, pt_init ) &
    17631766       !$acc         present( tend, tpt_m, pt, pt_p )
    1764        !$acc loop
     1767       !$acc loop independent
    17651768       DO  i = i_left, i_right
     1769          !$acc loop independent
    17661770          DO  j = j_south, j_north
    1767              !$acc loop vector( 32 )
     1771             !$acc loop independent
    17681772             DO  k = 1, nzt
    17691773                IF ( k > nzb_s_inner(j,i) )  THEN
     
    20122016!--    value is reduced by 90%.
    20132017       !$acc kernels present( e, e_p, nzb_s_inner, tend, te_m )
    2014        !$acc loop
     2018       !$acc loop independent
    20152019       DO  i = i_left, i_right
     2020          !$acc loop independent
    20162021          DO  j = j_south, j_north
    2017              !$acc loop vector( 32 )
     2022             !$acc loop independent
    20182023             DO  k = 1, nzt
    20192024                IF ( k > nzb_s_inner(j,i) )  THEN
Note: See TracChangeset for help on using the changeset viewer.