From c60697970bf9ff7ad23ea3816b1ca321bf6d3bb7 Mon Sep 17 00:00:00 2001
From: Juan ESCOBAR <juan.escobar@aero.obs-mip.fr>
Date: Wed, 30 Mar 2022 14:35:38 +0200
Subject: [PATCH] Juan 30/03/2022:ZSOLVER/dotprod.f90, Cray GPU Opt: exchange
 seq/do concuurent for better/single kernels optimization

---
 src/ZSOLVER/dotprod.f90 | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/ZSOLVER/dotprod.f90 b/src/ZSOLVER/dotprod.f90
index 48aa61fa0..e473801b8 100644
--- a/src/ZSOLVER/dotprod.f90
+++ b/src/ZSOLVER/dotprod.f90
@@ -184,20 +184,16 @@ CALL MNH_MEM_POSITION_PIN()
 CALL MNH_MEM_GET(ZDOTPROD, ILBXB,ILBXE ,ILBYB,ILBYE )
 #endif
 !$acc kernels present(ZDOTPROD)
-ZDOTPROD    = 0.
-!$acc loop seq
-DO JK = IKB-1,IKE+1
+ZDOTPROD(:,:)    = 0.
 #ifdef MNH_COMPILER_NVHPC   
    !$acc loop independent collapse(2) 
 #endif
-!dir$ doconcurrent
-   DO JJ = ILBYB,ILBYE
-      !dir$ doconcurrent
-      DO JI = ILBXB,ILBXE
+   DO CONCURRENT (JI=ILBXB:ILBXE,JJ=ILBYB:ILBYE)
+      !$acc loop seq
+      DO JK = IKB-1,IKE+1
          ZDOTPROD(JI,JJ) = ZDOTPROD(JI,JJ) + PA(JI,JJ,JK) * PB(JI,JJ,JK)
       END DO
    END DO
-END DO
 !$acc end kernels
 !$acc update host(ZDOTPROD)
 PDOTPROD = SUM_DD_R2_ll(ZDOTPROD)
-- 
GitLab