interface_parallel.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\utils\parallel\interface_parallel.f
00002 !
00028                      MODULE INTERFACE_PARALLEL
00029 !                    *************************
00030 !
00031 !
00032 !***********************************************************************
00033 ! PARALLEL VERSION 7.0                                  31/07/2012
00034 !***********************************************************************
00035 !
00036 !
00037 !
00038 !
00039 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00040 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00041 !
00042 !
00043       INTERFACE
00044 !
00045 !-----------------------------------------------------------------------
00046 !
00047 !     DEFINITION OF INTERFACES
00048 !
00049       SUBROUTINE ERRPVM(ERROR_NUMBER)
00050         IMPLICIT NONE
00051         INTEGER, INTENT(IN) :: ERROR_NUMBER
00052       END SUBROUTINE
00053 !
00054       SUBROUTINE GET_MPI_PARAMETERS
00055      &                   (P_INTEGER,P_REAL8,P_UB,P_COMM_WORLD,P_SUCCESS)
00056         IMPLICIT NONE
00057         INTEGER, INTENT(OUT) :: P_INTEGER,P_REAL8,P_UB
00058         INTEGER, INTENT(OUT) :: P_COMM_WORLD,P_SUCCESS
00059       END SUBROUTINE
00060 !
00061       SUBROUTINE ORG_CHARAC_TYPE1(NOMB,TRACE,CHARACTERISTIC)
00062         IMPLICIT NONE
00063         INTEGER, INTENT(IN)    :: NOMB
00064         INTEGER, INTENT(INOUT) :: CHARACTERISTIC
00065         LOGICAL, INTENT(IN)    :: TRACE
00066       END SUBROUTINE
00067 !
00068       DOUBLE PRECISION FUNCTION P_DMAX(MYPART)
00069         IMPLICIT NONE
00070         DOUBLE PRECISION, INTENT(IN) :: MYPART
00071       END FUNCTION
00072 !
00073       DOUBLE PRECISION FUNCTION P_DMIN(MYPART)
00074         IMPLICIT NONE
00075         DOUBLE PRECISION, INTENT(IN) :: MYPART
00076       END FUNCTION
00077 !
00078       DOUBLE PRECISION FUNCTION P_DSUM(MYPART)
00079         IMPLICIT NONE
00080         DOUBLE PRECISION, INTENT(IN) :: MYPART
00081       END FUNCTION
00082 !
00083       INTEGER FUNCTION P_IMAX(MYPART)
00084         IMPLICIT NONE
00085         INTEGER, INTENT(IN) :: MYPART
00086       END FUNCTION
00087 !
00088       INTEGER FUNCTION P_IMIN(MYPART)
00089         IMPLICIT NONE
00090         INTEGER, INTENT(IN) :: MYPART
00091       END FUNCTION
00092 !
00093       INTEGER FUNCTION P_ISUM(MYPART)
00094         IMPLICIT NONE
00095         INTEGER, INTENT(IN) :: MYPART
00096       END FUNCTION
00097 !
00098       SUBROUTINE P_INIT(CHAINE,NCAR,IPID,NCSIZE)
00099         IMPLICIT NONE
00100         INTEGER, INTENT(OUT)            :: NCAR,IPID,NCSIZE
00101         CHARACTER(LEN=250), INTENT(OUT) :: CHAINE
00102       END SUBROUTINE
00103 !
00104       SUBROUTINE P_IREAD(BUFFER,NBYTES,SOURCE,ITAG,IREQ)
00105         IMPLICIT NONE
00106         INTEGER, INTENT(IN) :: NBYTES,SOURCE,ITAG,IREQ
00107         DOUBLE PRECISION, INTENT(OUT) :: BUFFER(*)
00108       END SUBROUTINE
00109 !
00110       SUBROUTINE P_IREADI(BUFFER,NVAL,SOURCE,ITAG,IREQ)
00111         IMPLICIT NONE
00112         INTEGER, INTENT(IN) :: NVAL,SOURCE,ITAG,IREQ
00113         INTEGER, INTENT(OUT) :: BUFFER(NVAL)
00114       END SUBROUTINE
00115 !
00116       SUBROUTINE P_IREADI8(BUFFER,NVAL,SOURCE,ITAG,IREQ)
00117         USE DECLARATIONS_SPECIAL
00118         IMPLICIT NONE
00119         INTEGER, INTENT(IN) :: NVAL,SOURCE,ITAG,IREQ
00120         INTEGER(KIND=K8), INTENT(OUT) :: BUFFER(NVAL)
00121       END SUBROUTINE
00122 !
00123       SUBROUTINE P_IREAD_C(BUFFER,NBYTES,SOURCE,ITAG,IREQ)
00124         IMPLICIT NONE
00125         INTEGER, INTENT(IN)           :: NBYTES,SOURCE,ITAG,IREQ
00126         CHARACTER(LEN=*), INTENT(OUT) :: BUFFER
00127       END SUBROUTINE
00128 !
00129       SUBROUTINE P_IWRIT(BUFFER,NBYTES,DEST,ITAG,IREQ)
00130         IMPLICIT NONE
00131         INTEGER, INTENT(IN)          :: NBYTES,DEST,ITAG,IREQ
00132         DOUBLE PRECISION, INTENT(IN) :: BUFFER(*)
00133       END SUBROUTINE
00134 !
00135       SUBROUTINE P_IWRITI(BUFFER,NVAL,DEST,ITAG,IREQ)
00136         IMPLICIT NONE
00137         INTEGER, INTENT(IN)          :: NVAL,DEST,ITAG,IREQ
00138         INTEGER, INTENT(IN) :: BUFFER(NVAL)
00139       END SUBROUTINE
00140 !
00141       SUBROUTINE P_IWRITI8(BUFFER,NVAL,DEST,ITAG,IREQ)
00142         USE DECLARATIONS_SPECIAL
00143         IMPLICIT NONE
00144         INTEGER, INTENT(IN)          :: NVAL,DEST,ITAG,IREQ
00145         INTEGER(KIND=K8), INTENT(IN) :: BUFFER(NVAL)
00146       END SUBROUTINE
00147 !
00148       SUBROUTINE P_IWRIT_C(BUFFER,NBYTES,DEST,ITAG,IREQ)
00149         IMPLICIT NONE
00150         INTEGER, INTENT(IN)          :: NBYTES,DEST,ITAG,IREQ
00151         CHARACTER(LEN=*), INTENT(IN) :: BUFFER
00152       END
00153 !
00154       SUBROUTINE P_LSUM(IARG1,LARG2)
00155         IMPLICIT NONE
00156         INTEGER LNG,LU
00157         COMMON/INFO/LNG,LU
00158         INTEGER, INTENT(IN) :: IARG1
00159         LOGICAL, DIMENSION(IARG1), INTENT(INOUT) :: LARG2
00160       END SUBROUTINE
00161 !
00162       SUBROUTINE P_MAIL(CHAINE,NCAR)
00163         IMPLICIT NONE
00164         INTEGER, INTENT(IN)               :: NCAR
00165         CHARACTER(LEN=250), INTENT(INOUT) :: CHAINE
00166       END SUBROUTINE
00167 !
00168 !     SUBROUTINE P_MPI_ADDRESS(LOCATION,ADDRESS,IER)
00169 !       IMPLICIT NONE
00170 !       INTEGER MPI_ADDRESS_KIND       ! from mpif.h
00171 !       PARAMETER(MPI_ADDRESS_KIND=8) ! from mpif.h
00172 !       INTEGER, INTENT(IN)                     :: LOCATION
00173 !       INTEGER, INTENT(OUT)                    :: IER
00174 !       INTEGER(MPI_ADDRESS_KIND), INTENT(OUT) :: ADDRESS
00175 !     END SUBROUTINE
00176 !
00177 !     SUBROUTINE P_MPI_ADDRESS2(LOCATION,ADDRESS,IER)
00178 !       IMPLICIT NONE
00179 !       INTEGER MPI_ADDRESS_KIND       ! from mpif.h
00180 !       PARAMETER(MPI_ADDRESS_KIND=8) ! from mpif.h
00181 !       DOUBLE PRECISION, INTENT(IN)            :: LOCATION
00182 !       INTEGER, INTENT(OUT)                    :: IER
00183 !       INTEGER(MPI_ADDRESS_KIND), INTENT(OUT) :: ADDRESS
00184 !     END SUBROUTINE
00185 !
00186 !     SUBROUTINE P_MPI_ADDRESS3(LOCATION,ADDRESS,IER)
00187 !       IMPLICIT NONE
00188 !       INTEGER MPI_ADDRESS_KIND       ! from mpif.h
00189 !       PARAMETER(MPI_ADDRESS_KIND=8)  ! from mpif.h
00190 !       DOUBLE PRECISION, INTENT(IN)            :: LOCATION(*)
00191 !       INTEGER, INTENT(OUT)                    :: IER
00192 !       INTEGER(MPI_ADDRESS_KIND), INTENT(OUT) :: ADDRESS
00193 !     END SUBROUTINE
00194 !
00195       SUBROUTINE P_MPI_ALLTOALLV(I1,I2,I3,I4,I5,I6,I7,I8,I9,I10)
00196         USE DECLARATIONS_PARALLEL
00197         IMPLICIT NONE
00198         INTEGER, INTENT(IN)  :: I2(*),I3(*),I4,I6(*),I7(*),I8,I9
00199         INTEGER, INTENT(OUT) :: I10
00200         TYPE(CHARAC_TYPE), INTENT(IN)  :: I1(*)
00201         TYPE(CHARAC_TYPE), INTENT(OUT) :: I5(*)
00202       END SUBROUTINE
00203 !
00204       SUBROUTINE P_MPI_ALLTOALLV_ALG
00205      &(SEND_BUFFER,NSEND,SEND_DISPL,SEND_DATYP,RECV_BUFFER,NRECV,
00206      & RECV_DISPL,RECV_DATYP,COMM,IERR)
00207       USE DECLARATIONS_PARALLEL
00208       IMPLICIT NONE
00209       INTEGER, INTENT(IN)  :: NSEND(*),SEND_DISPL(*),SEND_DATYP,NRECV(*)
00210       INTEGER, INTENT(IN)  :: RECV_DISPL(*),RECV_DATYP,COMM
00211       INTEGER, INTENT(OUT) :: IERR
00212       TYPE(ALG_TYPE), INTENT(IN)  :: SEND_BUFFER(*)
00213       TYPE(ALG_TYPE), INTENT(OUT) :: RECV_BUFFER(*)
00214       END SUBROUTINE
00215 !
00216       SUBROUTINE P_MPI_ALLTOALLV_I(I1,I2,I3,I4,I5,I6,I7,I8,I9,I10)
00217         IMPLICIT NONE
00218         INTEGER, INTENT(IN)  :: I1(*),I2(*),I3(*),I4,I6(*),I7(*),I8,I9
00219         INTEGER, INTENT(OUT) :: I5(*),I10
00220       END SUBROUTINE
00221 !
00222       SUBROUTINE P_MPI_ALLTOALL(I1,I2,I3,I4,I5,I6,I7,I8)
00223         IMPLICIT NONE
00224         INTEGER, INTENT(IN)  :: I1(*),I2,I3,I5,I6,I7
00225         INTEGER, INTENT(OUT) :: I4(*),I8
00226       END SUBROUTINE
00227 !
00228       SUBROUTINE P_MPI_TYPE_COMMIT(I1,I2)
00229         IMPLICIT NONE
00230         INTEGER, INTENT(IN)  :: I1
00231         INTEGER, INTENT(OUT) :: I2
00232       END SUBROUTINE
00233 !
00234 !     SUBROUTINE P_MPI_TYPE_CREATE_STRUCT(I1,I2,I3,I4,I5,I6)
00235 !       IMPLICIT NONE
00236 !       INTEGER MPI_ADDRESS_KIND       ! from mpif.h
00237 !       PARAMETER (MPI_ADDRESS_KIND=8) ! from mpif.h
00238 !       INTEGER, INTENT(IN)                           :: I1,I6
00239 !       INTEGER, INTENT(OUT)                          :: I5
00240 !       INTEGER, INTENT(IN)                           :: I2(I1),I4(I1)
00241 !       INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(INOUT) :: I3(I1)
00242 !     END SUBROUTINE
00243 !
00244       SUBROUTINE P_MPI_TYPE_FREE(I1,I2)
00245         IMPLICIT NONE
00246         INTEGER, INTENT(IN)  :: I1
00247         INTEGER, INTENT(OUT) :: I2
00248       END SUBROUTINE
00249 !
00250 !     SUBROUTINE P_MPI_TYPE_GET_EXTENT(I1,I2,I3,IERR)
00251 !       IMPLICIT NONE
00252 !       INTEGER MPI_ADDRESS_KIND       ! from mpif.h
00253 !       PARAMETER (MPI_ADDRESS_KIND=8) ! from mpif.h
00254 !       INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(INOUT) :: I2,I3
00255 !       INTEGER, INTENT(INOUT)                        :: I1
00256 !       INTEGER, INTENT(OUT)                          :: IERR
00257 !     END SUBROUTINE
00258 !
00259       SUBROUTINE P_READ(BUFFER,NBYTES,SOURCE,TYPE)
00260         IMPLICIT NONE
00261         INTEGER, INTENT(IN) :: NBYTES,SOURCE,TYPE
00262         DOUBLE PRECISION, INTENT(OUT) :: BUFFER(*)
00263       END SUBROUTINE
00264 !
00265       SUBROUTINE P_WAIT_PARACO(IBUF,NB)
00266         IMPLICIT NONE
00267         INTEGER,INTENT(IN) :: IBUF(*),NB
00268       END SUBROUTINE
00269 !
00270       SUBROUTINE P_WRIT(BUFFER,NBYTES,DEST,TYPE)
00271         IMPLICIT NONE
00272         INTEGER, INTENT(IN)          :: NBYTES,DEST,TYPE
00273         DOUBLE PRECISION, INTENT(IN) :: BUFFER(*)
00274       END SUBROUTINE
00275 !
00276 !------------------------------------------------------------------------
00277 !
00278       END INTERFACE
00279 !
00280 !=======================================================================
00281 !
00282       END MODULE INTERFACE_PARALLEL

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0