Skip to content
Snippets Groups Projects
Commit 5b0d507f authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 31/01/2022: OpenACC: possibility to release several real arrays in one call

parent 9d1d6ed3
No related branches found
No related tags found
No related merge requests found
......@@ -169,6 +169,7 @@ MODULE MODE_MNH_ZWORK
INTERFACE MNH_RELEASE_FLAT
MODULE PROCEDURE :: MNH_REL_ZT1DFLAT
MODULE PROCEDURE :: MNH_REL_ZT1DFLAT_N0
END INTERFACE MNH_RELEASE_FLAT
CONTAINS
......@@ -1503,19 +1504,19 @@ CONTAINS
END FUNCTION MNH_GET_ZT1DFLAT
SUBROUTINE MNH_REL_ZT1DFLAT( KINDEX )
SUBROUTINE MNH_REL_ZT1DFLAT_N0( KINDEX )
USE MODD_PARAMETERS, ONLY: NNEGUNDEF
IMPLICIT NONE
INTEGER :: KINDEX
INTEGER, INTENT(IN) :: KINDEX
NCALL_MNH_REL_ZT1DFLAT = NCALL_MNH_REL_ZT1DFLAT + 1
!Release only if last block
IF ( KINDEX /= NT1DFLAT_TOP_R ) &
call Print_msg( NVERB_FATAL, 'GEN', 'MNH_REL_ZT1DFLAT', 'trying to release block that is not the last one' )
call Print_msg( NVERB_FATAL, 'GEN', 'MNH_REL_ZT1DFLAT_N0', 'trying to release block that is not the last one' )
NTOT_RELSIZE_ZT1DFLAT = NTOT_RELSIZE_ZT1DFLAT + NT1DFLAT_SIZE_R( KINDEX )
......@@ -1525,6 +1526,40 @@ CONTAINS
NT1DFLAT_POOL_R( KINDEX ) = NNEGUNDEF
NT1DFLAT_SIZE_R( KINDEX ) = NNEGUNDEF
END SUBROUTINE MNH_REL_ZT1DFLAT_N0
SUBROUTINE MNH_REL_ZT1DFLAT( KTEMP1, KTEMP2, KTEMP3, KTEMP4, KTEMP5, KTEMP6, KTEMP7, KTEMP8, KTEMP9, KTEMP10, &
KTEMP11, KTEMP12, KTEMP13, KTEMP14, KTEMP15, KTEMP16, KTEMP17, KTEMP18, KTEMP19, KTEMP20)
IMPLICIT NONE
INTEGER, INTENT(IN) :: KTEMP1, KTEMP2
INTEGER, OPTIONAL, INTENT(IN) :: KTEMP3, KTEMP4, KTEMP5, KTEMP6, KTEMP7, KTEMP8, KTEMP9
INTEGER, OPTIONAL, INTENT(IN) :: KTEMP10, KTEMP11, KTEMP12, KTEMP13, KTEMP14, KTEMP15, KTEMP16, KTEMP17, KTEMP18
INTEGER, OPTIONAL, INTENT(IN) :: KTEMP19, KTEMP20
IF ( PRESENT( KTEMP20 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP20 )
IF ( PRESENT( KTEMP19 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP19 )
IF ( PRESENT( KTEMP18 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP18 )
IF ( PRESENT( KTEMP17 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP17 )
IF ( PRESENT( KTEMP16 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP16 )
IF ( PRESENT( KTEMP15 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP15 )
IF ( PRESENT( KTEMP14 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP14 )
IF ( PRESENT( KTEMP13 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP13 )
IF ( PRESENT( KTEMP12 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP12 )
IF ( PRESENT( KTEMP11 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP11 )
IF ( PRESENT( KTEMP10 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP10 )
IF ( PRESENT( KTEMP9 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP9 )
IF ( PRESENT( KTEMP8 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP8 )
IF ( PRESENT( KTEMP7 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP7 )
IF ( PRESENT( KTEMP6 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP6 )
IF ( PRESENT( KTEMP5 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP5 )
IF ( PRESENT( KTEMP4 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP4 )
IF ( PRESENT( KTEMP3 ) ) CALL MNH_REL_ZT1DFLAT_N0( KTEMP3 )
CALL MNH_REL_ZT1DFLAT_N0( KTEMP2 )
CALL MNH_REL_ZT1DFLAT_N0( KTEMP1 )
END SUBROUTINE MNH_REL_ZT1DFLAT
......
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