59 TYPE(t_region
),
POINTER :: regions(:)
67 CHARACTER(CHRLEN) :: rcsidentstring
70 INTEGER :: statusplag(mpi_status_size)
73 INTEGER :: bctype, ilev, iregdes, irequestplag, nbuffsizesrc, npatches
78 TYPE(t_plag),
POINTER :: pplag
83 rcsidentstring =
'$RCSfile: PLAG_ClearDataSendRequests.F90,v $ $Revision: 1.3 $'
85 global => regions(1)%global
88 'PLAG_ClearDataSendRequests.F90' )
94 ilev = regions(ireg)%currLevel
95 npatches = regions(ireg)%nPatches
97 pplag => regions(ireg)%levels(ilev)%plag
99 DO ipatch = 1, npatches
100 patch => regions(ireg)%levels(ilev)%patches(ipatch)
102 bctype =
patch%bcType
103 iregdes =
patch%srcRegion
104 irequestplag =
patch%bufferPlag%iRequest
108 IF ( (bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
109 (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) .OR. &
110 (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range) .OR. &
111 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
112 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range) )
THEN
114 nbuffsizesrc =
patch%bufferPlag%nBuffSize
120 dowait = ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
121 (bctype>=bc_regionint .AND. bctype<=bc_regionint +bc_range) .OR. &
122 (bctype>=bc_regnonconf .AND. bctype<=bc_regnonconf+bc_range) .OR. &
123 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
124 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
126 IF (iregdes > 0)
THEN
127 IF ( dowait .AND. (regions(iregdes)%procid /= global%myProcid) .AND. &
128 (nbuffsizesrc /= 0) )
THEN
129 CALL mpi_wait( pplag%requestsI(irequestplag), statusplag, global%mpierr )
130 IF (global%mpierr /= err_none) &
131 CALL
errorstop( global,err_mpi_trouble,__line__ )
133 CALL mpi_wait( pplag%requestsR(irequestplag), statusplag, global%mpierr )
134 IF (global%mpierr /= err_none) &
135 CALL
errorstop( global,err_mpi_trouble,__line__ )
subroutine registerfunction(global, funName, fileName)
subroutine plag_cleardatasendrequests(regions, iReg)
subroutine errorstop(global, errorCode, errorLine, addMessage)
subroutine deregisterfunction(global)