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

    r1182 r1257  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! openacc loop and loop vector clauses removed
    2323!
    2424! Former revisions:
     
    326326          !$acc kernels present( ddzu, ddzw, dd2zu, diss, e, km, l_grid ) &
    327327          !$acc         present( nzb_s_inner, rif, tend, var, zu, zw )
    328           !$acc loop
    329328          DO  i = i_left, i_right
    330329             DO  j = j_south, j_north
    331                 !$acc loop vector( 32 )
    332330                DO  k = 1, nzt
    333331
     
    395393          !$acc kernels present( ddzu, ddzw, dd2zu, diss, e, km, l_grid ) &
    396394          !$acc         present( nzb_s_inner, rif, tend, var, zu, zw )
    397           !$acc loop
    398395          DO  i = i_left, i_right
    399396             DO  j = j_south, j_north
    400                 !$acc loop vector( 32 )
    401397                DO  k = 1, nzt
    402398
     
    466462       IF ( use_sgs_for_particles  .OR.  wang_kernel  .OR.  turbulence )  THEN
    467463          !$acc kernels present( diss, nzb_s_inner )
    468           !$acc loop
    469464          DO  i = i_left, i_right
    470              !$acc loop vector( 32 )
    471465             DO  j = j_south, j_north
    472466                diss(nzb_s_inner(j,i),j,i) = diss(nzb_s_inner(j,i)+1,j,i)
Note: See TracChangeset for help on using the changeset viewer.