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

    r1242 r1257  
    2020! Current revisions:
    2121! -----------------
    22 !
     22! loop independent clauses added
    2323
    2424! Former revisions:
     
    171171    IF ( ibc_pt_b == 0 )  THEN
    172172       !$acc kernels present( nzb_s_inner, pt, pt_p )
     173       !$acc loop independent
    173174       DO  i = nxlg, nxrg
     175          !$acc loop independent
    174176          DO  j = nysg, nyng
    175177             pt_p(nzb_s_inner(j,i),j,i) = pt(nzb_s_inner(j,i),j,i)
     
    179181    ELSEIF ( ibc_pt_b == 1 )  THEN
    180182       !$acc kernels present( nzb_s_inner, pt_p )
     183       !$acc loop independent
    181184       DO  i = nxlg, nxrg
     185          !$acc loop independent
    182186          DO  j = nysg, nyng
    183187             pt_p(nzb_s_inner(j,i),j,i) = pt_p(nzb_s_inner(j,i)+1,j,i)
     
    208212    IF ( .NOT. constant_diffusion )  THEN
    209213       !$acc kernels present( e_p, nzb_s_inner )
     214       !$acc loop independent
    210215       DO  i = nxlg, nxrg
     216          !$acc loop independent
    211217          DO  j = nysg, nyng
    212218             e_p(nzb_s_inner(j,i),j,i) = e_p(nzb_s_inner(j,i)+1,j,i)
Note: See TracChangeset for help on using the changeset viewer.