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

Juan 25/03/2022:ZSOLVER/turb.f90, Cray GPU opt: add !dir$ concurrent &...

Juan 25/03/2022:ZSOLVER/turb.f90, Cray GPU opt: add !dir$ concurrent & transform array-syntax -> do concurrent
parent dcde071b
No related branches found
No related tags found
No related merge requests found
...@@ -776,6 +776,7 @@ IF (KRRL >=1) THEN ...@@ -776,6 +776,7 @@ IF (KRRL >=1) THEN
#else #else
!$acc kernels !$acc kernels
#endif #endif
!dir$ concurrent
ZT(:,:,:) = PTHLT(:,:,:) * ZEXN(:,:,:) ZT(:,:,:) = PTHLT(:,:,:) * ZEXN(:,:,:)
!$acc end kernels !$acc end kernels
! !
...@@ -862,23 +863,26 @@ END IF ! loop end on KRRL >= 1 ...@@ -862,23 +863,26 @@ END IF ! loop end on KRRL >= 1
IF ( KRRL >= 1 ) THEN IF ( KRRL >= 1 ) THEN
!$acc kernels !$acc kernels
IF ( KRRI >= 1 ) THEN IF ( KRRI >= 1 ) THEN
! Rnp at t DO CONCURRENT (JI=1:JIU,JJ=1:JJU,JK=1:JKU)
PRT(:,:,:,1) = PRT(:,:,:,1) + PRT(:,:,:,2) + PRT(:,:,:,4) ! Rnp at t
PRRS(:,:,:,1) = PRRS(:,:,:,1) + PRRS(:,:,:,2) + PRRS(:,:,:,4) PRT(JI,JJ,JK,1) = PRT(JI,JJ,JK,1) + PRT(JI,JJ,JK,2) + PRT(JI,JJ,JK,4)
! Theta_l at t PRRS(JI,JJ,JK,1) = PRRS(JI,JJ,JK,1) + PRRS(JI,JJ,JK,2) + PRRS(JI,JJ,JK,4)
PTHLT(:,:,:) = PTHLT(:,:,:) - ZLVOCPEXNM(:,:,:) * PRT(:,:,:,2) & ! Theta_l at t
- ZLSOCPEXNM(:,:,:) * PRT(:,:,:,4) PTHLT(JI,JJ,JK) = PTHLT(JI,JJ,JK) - ZLVOCPEXNM(JI,JJ,JK) * PRT(JI,JJ,JK,2) &
PRTHLS(:,:,:) = PRTHLS(:,:,:) - ZLVOCPEXNM(:,:,:) * PRRS(:,:,:,2) & - ZLSOCPEXNM(JI,JJ,JK) * PRT(JI,JJ,JK,4)
- ZLSOCPEXNM(:,:,:) * PRRS(:,:,:,4) PRTHLS(JI,JJ,JK) = PRTHLS(JI,JJ,JK) - ZLVOCPEXNM(JI,JJ,JK) * PRRS(JI,JJ,JK,2) &
ELSE - ZLSOCPEXNM(JI,JJ,JK) * PRRS(JI,JJ,JK,4)
! Rnp at t ENDDO
PRT(:,:,:,1) = PRT(:,:,:,1) + PRT(:,:,:,2) ELSE
PRRS(:,:,:,1) = PRRS(:,:,:,1) + PRRS(:,:,:,2) DO CONCURRENT (JI=1:JIU,JJ=1:JJU,JK=1:JKU)
! Theta_l at t ! Rnp at t
PTHLT(:,:,:) = PTHLT(:,:,:) - ZLOCPEXNM(:,:,:) * PRT(:,:,:,2) PRT(JI,JJ,JK,1) = PRT(JI,JJ,JK,1) + PRT(JI,JJ,JK,2)
!dir$ concurrent PRRS(JI,JJ,JK,1) = PRRS(JI,JJ,JK,1) + PRRS(JI,JJ,JK,2)
PRTHLS(:,:,:) = PRTHLS(:,:,:) - ZLOCPEXNM(:,:,:) * PRRS(:,:,:,2) ! Theta_l at t
END IF PTHLT(JI,JJ,JK) = PTHLT(JI,JJ,JK) - ZLOCPEXNM(JI,JJ,JK) * PRT(JI,JJ,JK,2)
PRTHLS(JI,JJ,JK) = PRTHLS(JI,JJ,JK) - ZLOCPEXNM(JI,JJ,JK) * PRRS(JI,JJ,JK,2)
ENDDO
END IF
!$acc end kernels !$acc end kernels
END IF END IF
! !
......
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