The TELEMAC-MASCARET system  trunk
p_iwriti8.F
Go to the documentation of this file.
1 ! ********************
2  SUBROUTINE p_iwriti8
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 !+ 09/05/2014
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 !
30  IMPLICIT NONE
31 !
32 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33 !
34  INTEGER, INTENT(IN) :: NVAL,DEST,ITAG
35  INTEGER, INTENT(INOUT) :: IREQ
36  INTEGER(KIND=K8), INTENT(IN) :: BUFFER(nval)
37 !
38 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
39 !
40 #if defined HAVE_MPI
41  INTEGER IER
42 !
43 !-----------------------------------------------------------------------
44 !
45 ! 8: TO BE PARAMETERISED ????
46  CALL mpi_isend(buffer,nval*8,mpi_byte,dest,itag,
47  & comm,ireq,ier)
48 !
49  IF(ier.NE.0) THEN
50  WRITE(lu,*) 'P_IWRITI8: ERROR IN MPI_ISEND'
51  WRITE(lu,*) 'MPI ERROR ',ier
52  stop
53  ENDIF
54 #else
55  WRITE(lu,*) 'CALL OF P_IWRITI8 IN ITS VOID VERSION'
56 #endif
57 !
58 !----------------------------------------------------------------------
59 !
60  RETURN
61  END
subroutine p_iwriti8(BUFFER, NVAL, DEST, ITAG, IREQ)
Definition: p_iwriti8.F:7