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/coriolis.f90

    r1132 r1257  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! openacc loop and loop vector clauses removed
    2323!
    2424! Former revisions:
     
    170170          CASE ( 1 )
    171171             !$acc  kernels present( nzb_u_inner, tend, v, vg, w )
    172              !$acc  loop
    173172             DO  i = i_left, i_right
    174173                DO  j = j_south, j_north
    175                    !$acc loop vector( 32 )
    176174                   DO  k = 1, nzt
    177175                      IF  ( k > nzb_u_inner(j,i) )  THEN
     
    193191          CASE ( 2 )
    194192             !$acc  kernels present( nzb_v_inner, tend, u, ug )
    195              !$acc  loop
    196193             DO  i = i_left, i_right
    197194                DO  j = j_south, j_north
    198                    !$acc loop vector( 32 )
    199195                   DO  k = 1, nzt
    200196                      IF  ( k > nzb_v_inner(j,i) )  THEN
     
    212208          CASE ( 3 )
    213209             !$acc  kernels present( nzb_w_inner, tend, u )
    214              !$acc  loop
    215210             DO  i = i_left, i_right
    216211                DO  j = j_south, j_north
    217                    !$acc loop vector( 32 )
    218212                   DO  k = 1, nzt
    219213                      IF  ( k > nzb_w_inner(j,i) )  THEN
Note: See TracChangeset for help on using the changeset viewer.