From 71b9dc82eaeaab3434bd0560dd62d1c9ac88bb26 Mon Sep 17 00:00:00 2001 From: ESCOBAR Juan <escj@nuwa> Date: Thu, 17 Mar 2022 19:41:10 +0100 Subject: [PATCH] Juan 17/03/2022:ZSOLVER/modeln.f90, GPU optimization , replace allocate -> mnh_mem_get ZRUS/ZRVS --- src/ZSOLVER/modeln.f90 | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ZSOLVER/modeln.f90 b/src/ZSOLVER/modeln.f90 index e82b9908c..7b54c18bc 100644 --- a/src/ZSOLVER/modeln.f90 +++ b/src/ZSOLVER/modeln.f90 @@ -545,7 +545,7 @@ LOGICAL :: KACTIT LOGICAL :: KSEDI LOGICAL :: KHHONI ! -REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZRUS,ZRVS +REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZRUS,ZRVS REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZRWS REAL, DIMENSION(:,:,:), POINTER, CONTIGUOUS :: ZPABST !To give pressure at t ! (and not t+1) to resolved_cloud @@ -569,19 +569,20 @@ REAL :: VSIGQSAT VSIGQSAT = VSIGQSAT_MODD #endif !------------------------------------------------------------------------------- -! + TZBAKFILE=> NULL() TZOUTFILE=> NULL() +#ifndef MNH_OPENACC allocate( ZRUS (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) allocate( ZRVS (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) -#ifndef MNH_OPENACC allocate( ZRWS (SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) allocate( ZPABST(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) ) #else !Pin positions in the pools of MNH memory CALL MNH_MEM_POSITION_PIN() - +CALL MNH_MEM_GET( ZRUS, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) +CALL MNH_MEM_GET( ZRVS, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) CALL MNH_MEM_GET( ZRWS, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) CALL MNH_MEM_GET( ZPABST, SIZE( XTHT, 1 ), SIZE( XTHT, 2 ), SIZE( XTHT, 3 ) ) #endif @@ -2431,7 +2432,7 @@ END IF #ifndef MNH_OPENACC IF ( ASSOCIATED( ZSEA ) ) DEALLOCATE( ZSEA ) -DEALLOCATE( ZRWS ) +DEALLOCATE( ZRUS,ZRVS,ZRWS ) DEALLOCATE( ZPABST ) #else CALL MNH_MEM_RELEASE() -- GitLab