The TELEMAC-MASCARET system
trunk
sources
utils
parallel
p_iwriti.F
Go to the documentation of this file.
1
! *******************
2
SUBROUTINE
p_iwriti
3
! *******************
4
!
5
&(buffer,nval,dest,itag,ireq)
6
!
7
!***********************************************************************
8
! PARALLEL V8P0
9
!***********************************************************************
10
!
11
!brief EXCHANGES VALUES BETWEEN PROCESSORS.
12
!
13
!history J-M HERVOUET (EDF R&D, LNHE)
14
!+ 19/11/2013
15
!+ V7P0
16
!+ A mere copy of P_IWRIT by Pascal Vezolles for integers. However
17
!+ NBYTES changed into NVAL to avoid *4 in the calls.
18
!
19
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
!| BUFFER |-->| BUFFER / PUFFERFELD
21
!| DEST |-->| DESTINATION DES DONNEES
22
!| | | TID OF THE DEST. / KNOTEN-ID DES EMPFAENGERS
23
!| IREQ |<->| NUMERO DE REQUEST POUR MPI_ISEND
24
!| ITAG |-->| MESSAGE TAG
25
!| NVAL |-->| NUMBER OF VALUES TO BE TRANSMITTED
26
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27
!
28
USE
declarations_parallel
29
USE
declarations_special
30
IMPLICIT NONE
31
!
32
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33
!
34
INTEGER
,
INTENT(IN)
:: NVAL,DEST,ITAG
35
INTEGER
,
INTENT(INOUT)
:: IREQ
36
INTEGER
,
INTENT(IN)
:: BUFFER(nval)
37
!
38
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
39
!
40
#if defined HAVE_MPI
41
INTEGER
IER
42
!
43
!-----------------------------------------------------------------------
44
!
45
! 4: TO BE PARAMETERISED ????
46
CALL
mpi_isend(buffer,nval*4,mpi_byte,dest,itag,
47
&
comm
,ireq,ier)
48
!
49
IF
(ier.NE.0)
THEN
50
WRITE
(
lu
,*)
'P_IWRITI: ERROR IN MPI_ISEND'
51
WRITE
(
lu
,*)
'MPI ERROR '
,ier
52
CALL
plante(1)
53
stop
54
ENDIF
55
#else
56
WRITE
(
lu
,*)
'CALL OF P_IWRITI IN ITS VOID VERSION'
57
#endif
58
!
59
!----------------------------------------------------------------------
60
!
61
RETURN
62
END
declarations_special
Definition:
declarations_special.F:3
declarations_parallel::comm
integer comm
Definition:
declarations_parallel.F:53
declarations_special::lu
integer lu
Definition:
declarations_special.F:45
declarations_parallel
Definition:
declarations_parallel.F:3
p_iwriti
subroutine p_iwriti(BUFFER, NVAL, DEST, ITAG, IREQ)
Definition:
p_iwriti.F:7