Ignore:
Timestamp:
Dec 18, 2018 12:31:28 PM (5 years ago)
Author:
knoop
Message:

OpenACC port for SPEC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/exchange_horiz.f90

    r3241 r3634  
    2525! -----------------
    2626! $Id$
     27! OpenACC port for SPEC
     28!
     29! 3241 2018-09-12 15:02:00Z raasch
    2730! unused variables removed
    2831!
     
    117120
    118121
     122#ifdef _OPENACC
     123    INTEGER(iwp) ::  i           !<
     124#endif
    119125    INTEGER(iwp) ::  nbgp_local  !<
    120126   
     
    124130
    125131    CALL cpu_log( log_point_s(2), 'exchange_horiz', 'start' )
     132
     133#ifdef _OPENACC
     134    !$ACC UPDATE IF_PRESENT &
     135    !$ACC HOST(ar(:,:,nxr-nbgp_local+1:nxr)) &
     136    !$ACC HOST(ar(:,:,nxl:nxl+nbgp_local-1))
     137    DO i = nxl-nbgp_local, nxr+nbgp_local
     138       !$ACC UPDATE IF_PRESENT &
     139       !$ACC HOST(ar(:,nyn-nbgp_local+1:nyn,i)) &
     140       !$ACC HOST(ar(:,nys:nys+nbgp_local-1,i))
     141    ENDDO
     142#endif
    126143
    127144#if defined( __parallel )
     
    263280
    264281#endif
     282
     283#ifdef _OPENACC
     284    !$ACC UPDATE IF_PRESENT &
     285    !$ACC DEVICE(ar(:,:,nxl-nbgp_local:nxl-1)) &
     286    !$ACC DEVICE(ar(:,:,nxr+1:nxr+nbgp_local))
     287    DO i = nxl-nbgp_local, nxr+nbgp_local
     288       !$ACC UPDATE IF_PRESENT &
     289       !$ACC DEVICE(ar(:,nys-nbgp_local:nys-1,i)) &
     290       !$ACC DEVICE(ar(:,nyn+1:nyn+nbgp_local,i))
     291    ENDDO
     292#endif
     293
    265294    CALL cpu_log( log_point_s(2), 'exchange_horiz', 'stop' )
    266295
Note: See TracChangeset for help on using the changeset viewer.