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

    r1242 r1257  
    2121! Current revisions:
    2222! -----------------
    23 !
     23! openacc "end parallel" replaced by "end parallel loop"
    2424!
    2525! Former revisions:
     
    14681468          sums_l(k,4,tn) = s3
    14691469       ENDDO
    1470        !$acc end parallel
     1470       !$acc end parallel loop
    14711471
    14721472!
     
    14841484             sums_l(k,23,tn) = s1
    14851485          ENDDO
    1486           !$acc end parallel
     1486          !$acc end parallel loop
    14871487       ENDIF
    14881488
     
    15061506             sums_l(k,44,tn) = s2
    15071507          ENDDO
    1508           !$acc end parallel
     1508          !$acc end parallel loop
    15091509
    15101510          IF ( cloud_physics )  THEN
     
    15241524                sums_l(k,43,tn) = s2
    15251525             ENDDO
    1526              !$acc end parallel
     1526             !$acc end parallel loop
    15271527          ENDIF
    15281528       ENDIF
     
    15421542             sums_l(k,41,tn) = s1
    15431543          ENDDO
    1544           !$acc end parallel
     1544          !$acc end parallel loop
    15451545       ENDIF
    15461546       !$OMP END PARALLEL
     
    17471747          sums_l(k,38,tn) = s7
    17481748       ENDDO
    1749        !$acc end parallel
     1749       !$acc end parallel loop
    17501750
    17511751       IF ( humidity )  THEN
     
    17621762             sums_l(k,70,tn) = s1
    17631763          ENDDO
    1764           !$acc end parallel
     1764          !$acc end parallel loop
    17651765       ENDIF
    17661766
     
    17781778          ENDDO
    17791779       ENDDO
    1780        !$acc end parallel
     1780       !$acc end parallel loop
    17811781       !$acc parallel present( sums_l )
    17821782       sums_l(nzb+4,pr_palm,tn) = s1
     
    18431843             sums_l(k,34,tn) = s4
    18441844          ENDDO
    1845           !$acc end parallel
     1845          !$acc end parallel loop
    18461846!
    18471847!--       Total perturbation TKE
     
    19081908          sums_l(k,16,tn) = s3
    19091909       ENDDO
    1910        !$acc end parallel
     1910       !$acc end parallel loop
    19111911
    19121912!
     
    19251925             sums_l(k,65,tn) = s1
    19261926          ENDDO
    1927           !$acc end parallel
     1927          !$acc end parallel loop
    19281928       ENDIF
    19291929
     
    19481948             sums_l(k,48,tn) = s2
    19491949          ENDDO
    1950           !$acc end parallel
     1950          !$acc end parallel loop
    19511951
    19521952          IF ( cloud_physics ) THEN
     
    19651965                sums_l(k,51,tn) = s1
    19661966             ENDDO
    1967              !$acc end parallel
     1967             !$acc end parallel loop
    19681968
    19691969          ENDIF
     
    19861986             sums_l(k,48,tn) = s1
    19871987          ENDDO
    1988           !$acc end parallel
     1988          !$acc end parallel loop
    19891989
    19901990       ENDIF
     
    22322232          sums_l(k,37,tn) = s3
    22332233       ENDDO
    2234        !$acc end parallel
     2234       !$acc end parallel loop
    22352235
    22362236!
     
    22532253                sums_l(k,66,tn) = s1
    22542254             ENDDO
    2255              !$acc end parallel
     2255             !$acc end parallel loop
    22562256
    22572257          ENDIF
     
    22692269             sums_l(k,71,tn) = s2
    22702270          ENDDO
    2271           !$acc end parallel
     2271          !$acc end parallel loop
    22722272
    22732273       ENDIF
     
    22922292                sums_l(k,46,tn) = s1
    22932293             ENDDO
    2294              !$acc end parallel
     2294             !$acc end parallel loop
    22952295
    22962296             IF ( .NOT. cloud_droplets )  THEN
     
    23082308                   sums_l(k,52,tn) = s1
    23092309                ENDDO
    2310                 !$acc end parallel
     2310                !$acc end parallel loop
    23112311
    23122312                IF ( icloud_scheme == 0  )  THEN
     
    23242324                      sums_l(k,75,tn) = s2
    23252325                   ENDDO
    2326                    !$acc end parallel
     2326                   !$acc end parallel loop
    23272327
    23282328                   IF ( precipitation )  THEN
     
    23422342                         sums_l(k,76,tn) = s3
    23432343                      ENDDO
    2344                       !$acc end parallel
     2344                      !$acc end parallel loop
    23452345
    23462346                   ENDIF
     
    23582358                      sums_l(k,54,tn) = s1
    23592359                   ENDDO
    2360                    !$acc end parallel
     2360                   !$acc end parallel loop
    23612361
    23622362                ENDIF
     
    23742374                   sums_l(k,54,tn) = s1
    23752375                ENDDO
    2376                 !$acc end parallel
     2376                !$acc end parallel loop
    23772377
    23782378             ENDIF
     
    23942394                   sums_l(k,46,tn) = s1
    23952395                ENDDO
    2396                 !$acc end parallel
     2396                !$acc end parallel loop
    23972397
    23982398             ELSEIF ( ws_scheme_sca  .AND.  sr == 0 )  THEN
     
    24032403                                             0.61 * hom(k,1,4,sr) * sums_l(k,49,tn)
    24042404                ENDDO
    2405                 !$acc end parallel
     2405                !$acc end parallel loop
    24062406
    24072407             ENDIF
     
    24262426             sums_l(k,49,tn) = s1
    24272427          ENDDO
    2428           !$acc end parallel
     2428          !$acc end parallel loop
    24292429
    24302430       ENDIF
     
    24592459             sums_l(k,15,tn) = s1
    24602460          ENDDO
    2461           !$acc end parallel
     2461          !$acc end parallel loop
    24622462
    24632463       ENDIF
     
    24802480             sums_l(k,17,tn) = s1
    24812481          ENDDO
    2482           !$acc end parallel
     2482          !$acc end parallel loop
    24832483
    24842484          IF ( humidity )  THEN
     
    24962496                sums_l(k,49,tn) = s1
    24972497             ENDDO
    2498              !$acc end parallel
     2498             !$acc end parallel loop
    24992499
    25002500          ENDIF
Note: See TracChangeset for help on using the changeset viewer.