From f24879ac4ad55d51973e8983d74e22f3d580d142 Mon Sep 17 00:00:00 2001 From: Juan Escobar <juan.escobar@aero.obs-mip.fr> Date: Tue, 21 Sep 2021 11:55:51 +0200 Subject: [PATCH] Juan 21/09/2021:ZSOLVER/tridiag_thermo.f90 , use acc ... gang, vector , or vectorisation in only 1 dim on GPU --- src/ZSOLVER/tridiag_thermo.f90 | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/ZSOLVER/tridiag_thermo.f90 b/src/ZSOLVER/tridiag_thermo.f90 index 95e86abe0..7ba28585c 100644 --- a/src/ZSOLVER/tridiag_thermo.f90 +++ b/src/ZSOLVER/tridiag_thermo.f90 @@ -380,19 +380,15 @@ END DO !CONCURRENT ! !$acc loop seq DO JK = IKB+KKL,IKE-KKL,KKL - !$acc loop independent collapse(2) - ! acc loop gang, vector collapse(2) + ! gang+vector needed or parallisation vector only + !$acc loop independent gang, vector collapse(2) DO CONCURRENT ( JI=1:JIU,JJ=1:JJU) - !DO JJ=1,JJU - ! DO JI=1,JIU ZGAM(JI,JJ,JK) = ZC(JI,JJ,JK-KKL) / ZBET(JI,JJ) ! gam(k) = c(k-1) / bet ZBET(JI,JJ) = ZB(JI,JJ,JK) - ZA(JI,JJ,JK) * ZGAM(JI,JJ,JK) ! bet = b(k) - a(k)* gam(k) PVARP(JI,JJ,JK)= ( ZY(JI,JJ,JK) - ZA(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 END DO !CONCURRENT END DO ! special treatment for the last level @@ -411,8 +407,8 @@ END DO !CONCURRENT ! !$acc loop seq DO JK = IKE-KKL,IKB,-1*KKL - !$acc loop independent collapse(2) - ! acc loop gang, vector collapse(2) + ! gang+vector needed or parallisation vector only + !$acc loop independent gang, vector collapse(2) DO CONCURRENT ( JI=1:JIU,JJ=1:JJU) PVARP(JI,JJ,JK) = PVARP(JI,JJ,JK) - ZGAM(JI,JJ,JK+KKL) * PVARP(JI,JJ,JK+KKL) END DO !CONCURRENT -- GitLab