The TELEMAC-MASCARET system
trunk
sources
utils
parallel
p_ireadi8.F
Go to the documentation of this file.
1
! ********************
2
SUBROUTINE
p_ireadi8
3
! ********************
4
!
5
&(buffer,nval,
source
,itag,ireq)
6
!
7
!***********************************************************************
8
! PARALLEL V8P0
9
!***********************************************************************
10
!
11
!brief
12
!
13
!history J-M HERVOUET (EDF R&D, LNHE)
14
!+ 09/05/2014
15
!+ V7P0
16
!+ A mere copy of P_IREAD by Pascal Vezolles for integers. However
17
!+ NBYTES changed into NVAL to avoid *4 in the calls.
18
!
19
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
!| BUFFER |-->| BUFFER IN INTEGER 8 BYTES.
21
!| IREQ |<->| NUMERO DE REQUEST POUR MPI_IRECV
22
!| ITAG |-->| MESSAGE TAG
23
!| NVAL |-->| NUMBER OF VALUES TO BE TRANSMITTED
24
!| SOURCE |-->| ORIGINE DES DONNEES
25
!| | | TID OF THE SENDER / KNOTEN-ID DES SENDER
26
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27
!
28
USE
declarations_parallel
29
!
30
USE
declarations_special
31
IMPLICIT NONE
32
!
33
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
34
!
35
INTEGER
,
INTENT(IN)
:: NVAL,SOURCE,ITAG
36
INTEGER
,
INTENT(INOUT)
:: IREQ
37
INTEGER(KIND=K8)
,
INTENT(OUT)
:: BUFFER(nval)
38
!
39
!+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
40
!
41
#if defined HAVE_MPI
42
INTEGER
IER
43
!
44
!-----------------------------------------------------------------------
45
!
46
! RECEIVES DATA
47
!
48
!-----------------------------------------------------------------------
49
!
50
! 8: TO BE PARAMETERISED ????
51
CALL
mpi_irecv(buffer,nval*8,mpi_byte,source,itag,
52
&
comm
,ireq,ier)
53
!
54
IF
(ier.NE.0)
THEN
55
WRITE
(
lu
,*)
'P_IREADI8: ERROR IN MPI_IRECV'
56
WRITE
(
lu
,*)
'MPI ERROR '
,ier
57
CALL
plante(1)
58
stop
59
ENDIF
60
#else
61
buffer(1) = 0
62
WRITE
(
lu
,*)
'CALL OF P_IREADI8 IN ITS VOID VERSION'
63
#endif
64
!
65
!-----------------------------------------------------------------------
66
!
67
RETURN
68
END
declarations_special
Definition:
declarations_special.F:3
source
subroutine source(S0U, S0V, S0W, S1U, S1V, S1W, UN3, VN3, WSN3, WN3, VOLU, VOLUN, T3, NPOIN3, NTRAC, LT, AT, DT, PRIVE, NONHYD, NPOIN2, NSCE, ISCE, KSCE, QSCE, USCE, VSCE, MAXSCE)
Definition:
source.f:10
declarations_parallel::comm
integer comm
Definition:
declarations_parallel.F:53
declarations_special::lu
integer lu
Definition:
declarations_special.F:45
p_ireadi8
subroutine p_ireadi8(BUFFER, NVAL, SOURCE, ITAG, IREQ)
Definition:
p_ireadi8.F:7
declarations_parallel
Definition:
declarations_parallel.F:3