From 8658da41c47e814348305028fa408fb0b0a794ab Mon Sep 17 00:00:00 2001 From: ESCOBAR Juan <escj@nuwa> Date: Mon, 14 Sep 2020 12:05:21 +0200 Subject: [PATCH] Juan 14/09/2020 : tridiag_wind.f90 , OpenACC optimisation -> DO CONCURRENT + loop gang vector collapse --- src/MNH/tridiag_wind.f90 | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/MNH/tridiag_wind.f90 b/src/MNH/tridiag_wind.f90 index e0451c912..bc7697d9d 100644 --- a/src/MNH/tridiag_wind.f90 +++ b/src/MNH/tridiag_wind.f90 @@ -269,22 +269,21 @@ IF ( PIMPL > 1.E-10 ) THEN PVARP(JI,JJ,IKB) = ZY(JI,JJ,IKB) / ZBET(JI,JJ) END DO !CONCURRENT ! - DO JK = IKB+KKL,IKE-KKL,KKL -!$acc loop collapse(2) independent - DO JJ=1,JJU - DO JI=1,JIU + !$acc loop seq + DO JK = IKB+KKL,IKE-KKL,KKL + !$acc loop gang, vector collapse(2) + DO CONCURRENT ( JJ=1:JJU , JI=1:JIU ) ZGAM(JI,JJ,JK) = PIMPL * PA(JI,JJ,JK) / PRHODJA(JI,JJ,JK-KKL) / ZBET(JI,JJ) - ! gam(k) = c(k-1) / bet + ! gam(k) = c(k-1) / bet ZBET(JI,JJ) = 1. - PIMPL * ( PA(JI,JJ,JK) * (1. + ZGAM(JI,JJ,JK)) & - + PA(JI,JJ,JK+KKL) & - ) / PRHODJA(JI,JJ,JK) - ! bet = b(k) - a(k)* gam(k) + + PA(JI,JJ,JK+KKL) & + ) / PRHODJA(JI,JJ,JK) + ! bet = b(k) - a(k)* gam(k) PVARP(JI,JJ,JK)= ( ZY(JI,JJ,JK) - PIMPL * PA(JI,JJ,JK) / PRHODJA(JI,JJ,JK) & - * PVARP(JI,JJ,JK-KKL) & - ) / ZBET(JI,JJ) - ! res(k) = (y(k) -a(k)*res(k-1))/ bet - END DO - END DO + * PVARP(JI,JJ,JK-KKL) & + ) / ZBET(JI,JJ) + ! res(k) = (y(k) -a(k)*res(k-1))/ bet + END DO ! CONCURRENT END DO ! special treatment for the last level DO CONCURRENT ( JI=1:JIU,JJ=1:JJU) -- GitLab