Skip to content
Snippets Groups Projects
Commit 8658da41 authored by ESCOBAR Juan's avatar ESCOBAR Juan
Browse files

Juan 14/09/2020 : tridiag_wind.f90 , OpenACC optimisation -> DO CONCURRENT + ...

Juan 14/09/2020 : tridiag_wind.f90 , OpenACC optimisation -> DO CONCURRENT +  loop gang vector collapse
parent 1a5843ef
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment