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

Juan 22/11/2023:modeln.f90, Bypass Bug with nvhpc/22.11 <-> cuMemcpyDtoHAsync...

Juan 22/11/2023:modeln.f90, Bypass Bug with nvhpc/22.11 <-> cuMemcpyDtoHAsync returned error 1 => move ( NSV /= 0 ) test out of kernels
parent 527efb7e
No related branches found
No related tags found
No related merge requests found
...@@ -582,6 +582,7 @@ TYPE(TFILEDATA),POINTER :: TZBAKFILE, TZOUTFILE ...@@ -582,6 +582,7 @@ TYPE(TFILEDATA),POINTER :: TZBAKFILE, TZOUTFILE
REAL :: VSIGQSAT REAL :: VSIGQSAT
VSIGQSAT = VSIGQSAT_MODD VSIGQSAT = VSIGQSAT_MODD
#endif #endif
LOGICAL :: NVS_NO_0
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
TZBAKFILE=> NULL() TZBAKFILE=> NULL()
...@@ -642,6 +643,8 @@ IMI = GET_CURRENT_MODEL_INDEX() ...@@ -642,6 +643,8 @@ IMI = GET_CURRENT_MODEL_INDEX()
! !
CALL UPDATE_NSV(IMI) CALL UPDATE_NSV(IMI)
! !
NVS_NO_0 = ( NSV /= 0 )
!
!* 1.1 RECOVER THE LOGICAL UNIT NUMBER FOR THE OUTPUT PRINTS !* 1.1 RECOVER THE LOGICAL UNIT NUMBER FOR THE OUTPUT PRINTS
! !
ILUOUT = TLUOUT%NLU ILUOUT = TLUOUT%NLU
...@@ -694,8 +697,8 @@ IF (KTCOUNT == 1) THEN ...@@ -694,8 +697,8 @@ IF (KTCOUNT == 1) THEN
IF (SIZE(XRTKES,1) /= 0) CALL ADD3DFIELD_ll( TFIELDS_ll, XRTKES, 'MODEL_n::XRTKES' ) IF (SIZE(XRTKES,1) /= 0) CALL ADD3DFIELD_ll( TFIELDS_ll, XRTKES, 'MODEL_n::XRTKES' )
CALL ADD4DFIELD_ll( TFIELDS_ll, XRRS (:,:,:,1:NRR), 'MODEL_n::XRRS' ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRRS (:,:,:,1:NRR), 'MODEL_n::XRRS' )
CALL ADD4DFIELD_ll( TFIELDS_ll, XRRS_CLD (:,:,:,1:NRR), 'MODEL_n::XRRS_CLD' ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRRS_CLD (:,:,:,1:NRR), 'MODEL_n::XRRS_CLD' )
IF ( NSV /= 0 ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS (:,:,:,1:NSV), 'MODEL_n::XRSVS') IF ( NVS_NO_0 ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS (:,:,:,1:NSV), 'MODEL_n::XRSVS')
IF ( NSV /= 0 ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS_CLD(:,:,:,1:NSV), 'MODEL_n::XRSVS_CLD') IF ( NVS_NO_0 ) CALL ADD4DFIELD_ll( TFIELDS_ll, XRSVS_CLD(:,:,:,1:NSV), 'MODEL_n::XRSVS_CLD')
IF (SIZE(XSRCT,1) /= 0) CALL ADD3DFIELD_ll( TFIELDS_ll, XSRCT, 'MODEL_n::XSRCT' ) IF (SIZE(XSRCT,1) /= 0) CALL ADD3DFIELD_ll( TFIELDS_ll, XSRCT, 'MODEL_n::XSRCT' )
! !
IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) ) THEN IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) ) THEN
...@@ -1975,11 +1978,15 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN ...@@ -1975,11 +1978,15 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
XWT_ACT_NUC(:,:,:) = 0. XWT_ACT_NUC(:,:,:) = 0.
END IF END IF
! !
!$acc kernels present_cr(XRTHS_CLD,XRRS_CLD,XRSVS_CLD) !$acc kernels present_cr(XRTHS_CLD,XRRS_CLD)
XRTHS_CLD(:, :, : ) = XRTHS(:, :, : ) XRTHS_CLD(:, :, : ) = XRTHS(:, :, : )
XRRS_CLD (:, :, :, : ) = XRRS(:, :, :, : ) XRRS_CLD (:, :, :, : ) = XRRS(:, :, :, : )
IF ( NSV /= 0 ) XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : )
!$acc end kernels !$acc end kernels
IF ( NVS_NO_0 ) THEN
!$acc kernels present_cr(XRSVS_CLD)
XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : )
!$acc end kernels
END IF
!$acc data present( XRHODJ, XRHODREF, XEXNREF, XRTHS, XRRS, XRSVS, ZPABST, XTHT ) & !$acc data present( XRHODJ, XRHODREF, XEXNREF, XRTHS, XRRS, XRSVS, ZPABST, XTHT ) &
!$acc & copyin (XZZ, XSIGS, VSIGQSAT, XMFCONV, XTHM, XPABSM, & !$acc & copyin (XZZ, XSIGS, VSIGQSAT, XMFCONV, XTHM, XPABSM, &
...@@ -2052,11 +2059,15 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN ...@@ -2052,11 +2059,15 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
END IF END IF
!$acc end data !$acc end data
!$acc kernels present_cr(XRTHS_CLD,XRRS_CLD,XRSVS_CLD) !$acc kernels present_cr(XRTHS_CLD,XRRS_CLD)
XRTHS_CLD(:, :, : ) = XRTHS(:, :, : ) - XRTHS_CLD(:, :, : ) XRTHS_CLD(:, :, : ) = XRTHS(:, :, : ) - XRTHS_CLD(:, :, : )
XRRS_CLD (:, :, :, : ) = XRRS (:, :, :, : ) - XRRS_CLD (:, :, :, : ) XRRS_CLD (:, :, :, : ) = XRRS (:, :, :, : ) - XRRS_CLD (:, :, :, : )
IF ( NSV /= 0 ) XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : ) - XRSVS_CLD(:, :, :, : )
!$acc end kernels !$acc end kernels
IF ( NVS_NO_0 ) THEN
!$acc kernels present_cr(XRSVS_CLD)
XRSVS_CLD(:, :, :, : ) = XRSVS(:, :, :, : ) - XRSVS_CLD(:, :, :, : )
!$acc end kernels
END IF
! !
!$acc update host( XRTHS_CLD, XRRS_CLD, XRSVS_CLD ) !$acc update host( XRTHS_CLD, XRRS_CLD, XRSVS_CLD )
! !
......
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