From 67fb2226e6bc8b75b93403bbff496c2837fea32f Mon Sep 17 00:00:00 2001 From: ESCOBAR Juan <escj@nuwa.aerologie.net> Date: Sun, 24 Mar 2013 02:50:12 +0100 Subject: [PATCH] Juan 23/03/2013: add update host to mirrored array --- MNH/mode_mnh_zwork.f90 | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/MNH/mode_mnh_zwork.f90 b/MNH/mode_mnh_zwork.f90 index 3c16414a6..a681705a7 100644 --- a/MNH/mode_mnh_zwork.f90 +++ b/MNH/mode_mnh_zwork.f90 @@ -13,18 +13,18 @@ LOGICAL, SAVE :: GSOUTH , GNORTH LOGICAL, SAVE :: GFIRST_CALL_MNH_ALLOC_ZWORK = .TRUE. ! REAL, SAVE, ALLOCATABLE , DIMENSION(:,:,:) :: & - ZW3D1,ZW3D2,ZW3D3,ZW3D4,ZW3D5,ZW3D6,ZW3D7, & +& ZW3D1,ZW3D2,ZW3D3,ZW3D4,ZW3D5,ZW3D6,ZW3D7, & & ZW3D8,ZW3D9,ZW3D10,ZW3D11,ZW3D12,ZW3D13,ZW3D14,ZW3D15 +!$acc declare mirror(ZW3D1,ZW3D2,ZW3D3,ZW3D4,ZW3D5,ZW3D6,ZW3D7) & +!$acc & mirror(ZW3D8,ZW3D9,ZW3D10,ZW3D11,ZW3D12,ZW3D13,ZW3D14,ZW3D15) -REAL, SAVE, ALLOCATABLE , DIMENSION(:,:) :: ZPSRC_HALO2_WEST -REAL, SAVE, ALLOCATABLE , DIMENSION(:,:) :: ZPSRC_HALO2_SOUTH - -#define ACC_MIRROR -#ifdef ACC_MIRROR -!$acc declare mirror(ZW3D1,ZW3D2,ZW3D3,ZW3D4,ZW3D5,ZW3D6,ZW3D7) -!$acc declare mirror(ZW3D8,ZW3D9,ZW3D10,ZW3D11,ZW3D12,ZW3D13,ZW3D14,ZW3D15) +REAL, SAVE, ALLOCATABLE , DIMENSION(:,:) :: ZPSRC_HALO2_WEST +REAL, SAVE, ALLOCATABLE , DIMENSION(:,:) :: ZPSRC_HALO2_SOUTH !$acc declare mirror(ZPSRC_HALO2_WEST,ZPSRC_HALO2_SOUTH) -#endif + +REAL, SAVE, ALLOCATABLE , DIMENSION(:,:,:) :: ZUNIT3D +!$acc declare mirror(ZUNIT3D) + ! CONTAINS @@ -78,7 +78,9 @@ SUBROUTINE MNH_ALLOC_ZWORK(IMODEL) ALLOCATE (ZPSRC_HALO2_WEST(IJU,IKU)) ALLOCATE (ZPSRC_HALO2_SOUTH(IIU,IKU)) -!$acc kernels + ALLOCATE (ZUNIT3D(IIU,IJU,IKU)) + +!$acc kernels ZW3D1 = XUNDEF ZW3D2 = XUNDEF ZW3D3 = XUNDEF @@ -97,8 +99,14 @@ SUBROUTINE MNH_ALLOC_ZWORK(IMODEL) ZPSRC_HALO2_WEST = XUNDEF ZPSRC_HALO2_SOUTH = XUNDEF - -!$acc end kernels + + ZUNIT3D = 1.0 + +!$acc end kernels +!$acc update host (ZW3D1,ZW3D2,ZW3D3,ZW3D4,ZW3D5,ZW3D6,ZW3D7) +!$acc update host (ZW3D8,ZW3D9,ZW3D10,ZW3D11,ZW3D12,ZW3D13,ZW3D14,ZW3D15) +!$acc update host (ZPSRC_HALO2_WEST,ZPSRC_HALO2_SOUTH) +!$acc update host( ZUNIT3D) END IF -- GitLab