Ignore:
Timestamp:
Nov 8, 2013 3:18:40 PM (8 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/diffusion_s.f90

    r1132 r1257  
    2020! Current revisions:
    2121! ------------------
    22 !
     22! openacc loop and loop vector clauses removed
    2323!
    2424! Former revisions:
     
    229229       !$acc         present( s_flux_b, s_flux_t, tend, wall_s_flux )         &
    230230       !$acc         present( wall_w_x, wall_w_y )
    231        !$acc loop
    232231       DO  i = i_left, i_right
    233232          DO  j = j_south, j_north
    234233!
    235234!--          Compute horizontal diffusion
    236              !$acc loop vector( 32 )
    237235             DO  k = 1, nzt
    238236                IF ( k > nzb_s_outer(j,i) )  THEN
     
    252250!
    253251!--          Apply prescribed horizontal wall heatflux where necessary
    254              !$acc loop vector(32)
    255252             DO  k = 1, nzt
    256253                IF ( k > nzb_s_inner(j,i)  .AND.  k <= nzb_s_outer(j,i)  .AND. &
     
    279276!--          prescribed or computed at bottom and/or top, index k starts/ends at
    280277!--          nzb+2 or nzt-1, respectively.
    281              !$acc loop vector( 32 )
    282278             DO  k = 1, nzt_diff
    283279                IF ( k >= nzb_diff_s_inner(j,i) )  THEN
     
    293289!--          Vertical diffusion at the first computational gridpoint along
    294290!--          z-direction
    295              !$acc loop vector( 32 )
    296291             DO  k = 1, nzt
    297292                IF ( use_surface_fluxes  .AND.  k == nzb_s_inner(j,i)+1 )  THEN
Note: See TracChangeset for help on using the changeset viewer.