The TELEMAC-MASCARET system  trunk
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 !
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
subroutine p_iwriti(BUFFER, NVAL, DEST, ITAG, IREQ)
Definition: p_iwriti.F:7