From f2832f66584c087d12709b81f273f8c8b414a48b Mon Sep 17 00:00:00 2001 From: Juan ESCOBAR <juan.escobar@aero.obs-mip.fr> Date: Fri, 4 Nov 2022 18:53:00 +0100 Subject: [PATCH] Juan 04/11/2022:MNH/*.f90, CCE > 14.X Optimization , use acc present_cr & some loop rewrite --- src/MNH/advection_metsv.f90 | 2 +- src/MNH/gradient_m.f90 | 2 +- src/MNH/modeln.f90 | 2 +- src/MNH/prandtl.f90 | 2 +- src/MNH/rain_ice_fast_rg.f90 | 2 +- src/MNH/rain_ice_fast_ri.f90 | 2 +- src/MNH/rain_ice_slow.f90 | 2 +- src/MNH/resolved_cloud.f90 | 4 ++-- src/MNH/turb.f90 | 4 ++-- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/MNH/advection_metsv.f90 b/src/MNH/advection_metsv.f90 index d54409639..408861cdd 100644 --- a/src/MNH/advection_metsv.f90 +++ b/src/MNH/advection_metsv.f90 @@ -190,7 +190,7 @@ USE MODI_ADV_BOUNDARIES #if defined(MNH_BITREP) || defined(MNH_BITREP_OMP) USE MODI_BITREP #endif -#ifdef MNH_BITREP_OMP +#ifdef MNH_COMPILER_CCE !$mnh_undef(LOOP) !$mnh_undef(OPENACC) #endif diff --git a/src/MNH/gradient_m.f90 b/src/MNH/gradient_m.f90 index 9353d3f20..15ced8198 100644 --- a/src/MNH/gradient_m.f90 +++ b/src/MNH/gradient_m.f90 @@ -866,7 +866,7 @@ INTEGER IIU,IJU,IKU,JI IIU=SIZE(PY,1) IJU=SIZE(PY,2) IKU=SIZE(PY,3) -!$acc kernels present_cr(PGX_M_U) +!$acc kernels !!!!present_cr(PGX_M_U) IF (.NOT. LFLAT) THEN PGX_M_U(1+JPHEXT:IIU,1:IJU,1+JPVEXT_TURB:IKU-JPVEXT_TURB) = & ( PY(1+JPHEXT:IIU,1:IJU,1+JPVEXT_TURB:IKU-JPVEXT_TURB)-PY(JPHEXT:IIU-1,1:IJU,1+JPVEXT_TURB:IKU-JPVEXT_TURB) & diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90 index 321e097e1..c2ba3b9d0 100644 --- a/src/MNH/modeln.f90 +++ b/src/MNH/modeln.f90 @@ -1676,7 +1676,7 @@ CALL GRAVITY_IMPL ( CLBCX, CLBCY, NRR, NRRL, NRRI,XTSTEP, & ! compensated by the pressure gradient ! IF (KTCOUNT == 1 .AND. CCONF=='START') THEN -!$acc kernels present( ZRWS ) +!$acc kernels present( ZRWS,XRWS_PRES ) XRWS_PRES(:,:,:) = ZRWS(:,:,:) - XRWS(:,:,:) !$acc end kernels END IF diff --git a/src/MNH/prandtl.f90 b/src/MNH/prandtl.f90 index 892901e71..f2cc9f810 100644 --- a/src/MNH/prandtl.f90 +++ b/src/MNH/prandtl.f90 @@ -209,7 +209,7 @@ use mode_msg #if defined(MNH_BITREP) || defined(MNH_BITREP_OMP) USE MODI_BITREP #endif -#ifdef MNH_BITREP_OMP +#ifdef MNH_COMPILER_CCE !$mnh_undef(LOOP) !$mnh_undef(OPENACC) #endif diff --git a/src/MNH/rain_ice_fast_rg.f90 b/src/MNH/rain_ice_fast_rg.f90 index 7087c38bd..14101b800 100644 --- a/src/MNH/rain_ice_fast_rg.f90 +++ b/src/MNH/rain_ice_fast_rg.f90 @@ -57,7 +57,7 @@ use mode_tools, only: Countjv_device #if defined(MNH_BITREP) || defined(MNH_BITREP_OMP) USE MODI_BITREP #endif -#ifdef MNH_BITREP_OMP +#ifdef MNH_COMPILER_CCE !$mnh_undef(LOOP) ! mnh_undef(OPENACC) #endif diff --git a/src/MNH/rain_ice_fast_ri.f90 b/src/MNH/rain_ice_fast_ri.f90 index 4ed0d8605..8efd9cf0c 100644 --- a/src/MNH/rain_ice_fast_ri.f90 +++ b/src/MNH/rain_ice_fast_ri.f90 @@ -40,7 +40,7 @@ use mode_mppdb #if defined(MNH_BITREP) || defined(MNH_BITREP_OMP) USE MODI_BITREP #endif -#ifdef MNH_BITREP_OMP +#ifdef MNH_COMPILER_CCE !$mnh_undef(LOOP) !$mnh_undef(OPENACC) #endif diff --git a/src/MNH/rain_ice_slow.f90 b/src/MNH/rain_ice_slow.f90 index 1332542d0..690cbda36 100644 --- a/src/MNH/rain_ice_slow.f90 +++ b/src/MNH/rain_ice_slow.f90 @@ -42,7 +42,7 @@ use mode_mppdb #if defined(MNH_BITREP) || defined(MNH_BITREP_OMP) USE MODI_BITREP #endif -#ifdef MNH_BITREP_OMP +#ifdef MNH_COMPILER_CCE !$mnh_undef(LOOP) !$mnh_undef(OPENACC) #endif diff --git a/src/MNH/resolved_cloud.f90 b/src/MNH/resolved_cloud.f90 index 0870549d4..0d5eca9b9 100644 --- a/src/MNH/resolved_cloud.f90 +++ b/src/MNH/resolved_cloud.f90 @@ -718,7 +718,7 @@ ENDIF ! complete the lateral boundaries to avoid possible problems ! !dir$ concurrent -DO JI=1,JPHEXT +DO CONCURRENT (JI=1:JPHEXT) PTHS(JI,:,:) = PTHS(IIB,:,:) PTHS(IIE+JI,:,:) = PTHS(IIE,:,:) PTHS(:,JI,:) = PTHS(:,IJB,:) @@ -932,7 +932,7 @@ CALL PRINT_MSG(NVERB_FATAL,'GEN','RESOLVED_CLOUD','C2R2//KHKO not yet implemente #if !defined(MNH_BITREP) && !defined(MNH_BITREP_OMP) ZEXN(:,:,:)= (PPABST(:,:,:)/XP00)**(XRD/XCPD) #else -DO CONCURRENT ( JI=1:JIU,JJ=1:JJU,JK=1:JKU ) +DO CONCURRENT (JK=1:JKU,JJ=1:JJU,JI=1:JIU) ZEXN(JI,JJ,JK)= BR_POW( PPABST(JI,JJ,JK)/XP00, XRD/XCPD ) ENDDO #endif diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90 index 266e76bd7..abfde1c07 100644 --- a/src/MNH/turb.f90 +++ b/src/MNH/turb.f90 @@ -14,7 +14,7 @@ module mode_turb #if defined(MNH_BITREP) || defined(MNH_BITREP_OMP) use modi_bitrep #endif -#ifdef MNH_BITREP_OMP +#ifdef MNH_COMPILER_CCE !$mnh_undef(LOOP) !$mnh_undef(OPENACC) #endif @@ -1853,7 +1853,7 @@ CALL MNH_MEM_GET( zrvsat , size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) ) CALL MNH_MEM_GET( zdrvsatdt, size( pexn, 1 ), size( pexn, 2 ), size( pexn, 3 ) ) #endif -!$acc data present( zrvsat, zdrvsatdt ) +!$acc data present_cr( zrvsat, zdrvsatdt ) ZEPS = XMV / XMD ! -- GitLab