Ignore:
Timestamp:
07/15/19 12:29:31 (5 years ago)
Author:
adurocher
Message:

trunk : Added metric terms to kernels parameters to avoid Host/GPU transferts

Metric terms are now subroutine parameters instead of module variables in kernel subroutines. Dummy arguments for metric terms are now defined as fixed-size arrays, and arrays dimensions are well known when entering an 'acc data' region. Array descriptors are no longer transferred form host to device each time the data region is executed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/dynamics/caldyn_kernels_base.F90

    r953 r954  
    209209  END SUBROUTINE compute_geopot 
    210210 
    211   SUBROUTINE compute_caldyn_vert(u, theta, rhodz, convm, wflux, wwuu, dps, dtheta_rhodz, du) 
    212     USE disvert_mod, ONLY : bp 
     211  SUBROUTINE compute_caldyn_vert(u, theta, rhodz, convm, wflux, wwuu, dps, dtheta_rhodz, du, bp) 
    213212    REAL(rstd),INTENT(IN)  :: u(iim*3*jjm,llm) 
    214213    REAL(rstd),INTENT(IN)  :: theta(iim*jjm,llm,nqdyn) 
     
    221220    REAL(rstd),INTENT(INOUT) :: dtheta_rhodz(iim*jjm,llm,nqdyn) 
    222221    REAL(rstd),INTENT(OUT) :: dps(iim*jjm) 
     222    REAL(rstd),INTENT(IN)  :: bp(llm) 
    223223 
    224224    ! temporary variable     
Note: See TracChangeset for help on using the changeset viewer.