Changeset 1047


Ignore:
Timestamp:
08/26/20 11:34:31 (4 years ago)
Author:
ymipsl
Message:

GPU port of sponge layer

YM

Location:
codes/icosagcm/trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/dissip/sponge.f90

    r953 r1047  
    4545    ENDIF 
    4646 
    47     IF (iflag_sponge > 0) THEN 
    48        CALL abort_acc("iflag_sponge > 0") 
    49     END IF 
    5047 
    5148!$OMP MASTER 
    5249    ALLOCATE(rdamp(llm)) 
    5350    ALLOCATE(lambda(llm)) 
    54  
     51    !$acc enter data create(rdamp(:),lambda(:)) async 
     52     
    5553    IF (iflag_sponge == 1) THEN 
    5654! sponge quenching over the topmost 4 atmospheric layers 
     
    8886!$OMP END MASTER 
    8987!$OMP BARRIER 
    90  
     88    !$acc update device(rdamp(:), lambda(:)) async 
     89     
    9190  END SUBROUTINE init_sponge 
    9291 
     
    128127        dtheta_rhodz=f_dtheta_rhodz(ind) 
    129128 
     129       !$acc parallel loop collapse(2) present(ue(:,:), due(:,:), rdamp(:), dtheta_rhodz)  async 
    130130        DO l=ll_begin,ll_end 
    131131!$SIMD 
     
    139139          ENDDO 
    140140        ENDDO 
     141       !$acc end parallel loop 
    141142      END DO 
    142143    ELSE 
  • codes/icosagcm/trunk/src/time/timeloop_gcm.F90

    r1023 r1047  
    360360          CALL euler_scheme(.FALSE.)  ! update only u, theta 
    361361          IF (iflag_sponge > 0) THEN 
    362              CALL abort_acc("iflag_sponge>0") 
    363362             CALL sponge(f_u,f_du,f_theta_rhodz,f_dtheta_rhodz) 
    364363             CALL euler_scheme(.FALSE.)  ! update only u, theta 
Note: See TracChangeset for help on using the changeset viewer.