From f7737a8d85fbc6c90eb36f5fa3aea867fee9132e Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Mon, 24 Apr 2023 14:08:59 +0200 Subject: [PATCH] Juan (+Philippe) 24/04/2023: OpenACC: qlap: restore present_cr directives necessary for good performance on AMD GPUs (previously lost) --- src/MNH/qlap.f90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/MNH/qlap.f90 b/src/MNH/qlap.f90 index 5e6d15843..1dad26367 100644 --- a/src/MNH/qlap.f90 +++ b/src/MNH/qlap.f90 @@ -242,7 +242,7 @@ CALL GX_M_U_DEVICE( 1, IKU, 1, PY(:,:,:), PDXX(:,:,:), PDZZ(:,:,:), PDZX(:,:,:), CALL MPPDB_CHECK3D(ZU,'QLAP::ZU',PRECISION) ! IF ( GWEST ) THEN - !$acc kernels async + !$acc kernels async present_cr(ZU) DO JK=2,IKU-1 DO JJ=1,IJU ZU(IIB,JJ,JK)= (PY(IIB,JJ,JK) - PY(IIB-1,JJ,JK) - 0.5 * ( & @@ -255,7 +255,7 @@ IF ( GWEST ) THEN END IF ! IF ( GEAST ) THEN - !$acc kernels async + !$acc kernels async present_cr(ZU) DO JK=2,IKU-1 DO JJ=1,IJU ZU(IIE+1,JJ,JK)= (PY(IIE+1,JJ,JK) - PY(IIE+1-1,JJ,JK) - 0.5 * ( & @@ -281,7 +281,7 @@ IF(.NOT. L2D) THEN ! CALL MPPDB_CHECK3D(ZV,'QLAP::ZV',PRECISION) ! IF ( GSOUTH ) THEN - !$acc kernels async + !$acc kernels async present_cr(ZV) DO JK=2,IKU-1 DO JI=1,IIU ZV(JI,IJB,JK)= (PY(JI,IJB,JK) - PY(JI,IJB-1,JK) - 0.5 * ( & @@ -295,7 +295,7 @@ IF(.NOT. L2D) THEN IF ( GNORTH ) THEN - !$acc kernels async + !$acc kernels async present_cr(ZV) DO JK=2,IKU-1 DO JI=1,IIU ZV(JI,IJE+1,JK)= (PY(JI,IJE+1,JK) - PY(JI,IJE+1-1,JK) - 0.5 * ( & @@ -320,7 +320,7 @@ IF ( CEQNSYS == 'DUR' .OR. CEQNSYS == 'MAE' ) THEN #ifndef MNH_OPENACC ZU(:,:,:) = MXM( PRHODJ(:,:,:) * XCPD * PTHETAV(:,:,:) ) * ZU(:,:,:) #else - !$acc kernels + !$acc kernels present_cr(ZRHODJ) ZRHODJ(:,:,:) = PRHODJ(:,:,:) * XCPD * PTHETAV(:,:,:) !$acc end kernels CALL MXM_DEVICE( ZRHODJ(:,:,:), ZMXM(:,:,:) ) -- GitLab