2 ! Copyright (c) 2010. The SimGrid Team.
5 ! This program is free software; you can redistribute it and/or modify it
6 ! under the terms of the license (GNU LGPL) which comes with this package.
8 ! SMPI's Fortran 77 include file
10 integer MPI_THREAD_SINGLE, MPI_THREAD_FUNNELED
11 integer MPI_THREAD_SERIALIZED, MPI_THREAD_MULTIPLE
12 parameter(MPI_THREAD_SINGLE=0)
13 parameter(MPI_THREAD_FUNNELED=1)
14 parameter(MPI_THREAD_SERIALIZED=2)
15 parameter(MPI_THREAD_MULTIPLE=3)
17 integer MPI_MAX_PROCESSOR_NAME, MPI_MAX_ERROR_STRING
18 integer MPI_MAX_DATAREP_STRIN, MPI_MAX_INFO_KEY
19 integer MPI_MAX_INFO_VAL, MPI_MAX_OBJECT_NAME, MPI_MAX_PORT_NAME
20 integer MPI_ANY_SOURCE, MPI_PROC_NULL, MPI_ANY_TAG, MPI_UNDEFINED
21 integer MPI_TAG_UB, MPI_TAG_LB
22 parameter(MPI_MAX_PROCESSOR_NAME=100)
23 parameter(MPI_MAX_ERROR_STRING=100)
24 parameter(MPI_MAX_DATAREP_STRIN =100)
25 parameter(MPI_MAX_INFO_KEY=100)
26 parameter(MPI_MAX_INFO_VAL=100)
27 parameter(MPI_MAX_OBJECT_NAME=100)
28 parameter(MPI_MAX_PORT_NAME=100)
29 parameter(MPI_ANY_SOURCE=-1)
30 parameter(MPI_PROC_NULL=-2)
31 parameter(MPI_ANY_TAG=-1)
32 parameter(MPI_UNDEFINED=-1)
33 parameter(MPI_TAG_UB=0)
34 parameter(MPI_TAG_LB=0)
36 integer MPI_SUCCESS, MPI_ERR_COMM, MPI_ERR_ARG, MPI_ERR_TYPE
37 integer MPI_ERR_REQUEST, MPI_ERR_INTERN, MPI_ERR_COUNT
38 integer MPI_ERR_RANK, MPI_ERR_OTHER, MPI_ERR_UNKNOWN
39 integer MPI_ERR_TAG, MPI_ERR_TRUNCATE, MPI_ERR_GROUP, MPI_ERR_OP
40 integer MPI_IDENT, MPI_SIMILAR, MPI_UNEQUAL, MPI_CONGRUENT
41 integer MPI_WTIME_IS_GLOBAL
42 parameter(MPI_SUCCESS=0)
43 parameter(MPI_ERR_COMM=1)
44 parameter(MPI_ERR_ARG=2)
45 parameter(MPI_ERR_TYPE=3)
46 parameter(MPI_ERR_REQUEST=4)
47 parameter(MPI_ERR_INTERN=5)
48 parameter(MPI_ERR_COUNT=6)
49 parameter(MPI_ERR_RANK=7)
50 parameter(MPI_ERR_TAG=8)
51 parameter(MPI_ERR_TRUNCATE=9)
52 parameter(MPI_ERR_GROUP=10)
53 parameter(MPI_ERR_OP=11)
54 parameter(MPI_ERR_OTHER=12)
55 parameter(MPI_ERR_UNKNOWN=13)
56 parameter(MPI_IDENT=0)
57 parameter(MPI_SIMILAR=1)
58 parameter(MPI_UNEQUAL=2)
59 parameter(MPI_CONGRUENT=3)
60 parameter(MPI_WTIME_IS_GLOBAL=1)
62 ! These should be ordered as in smpi_f77.c
63 integer MPI_COMM_NULL, MPI_COMM_WORLD, MPI_COMM_SELF
64 parameter(MPI_COMM_NULL=-1)
65 parameter(MPI_COMM_SELF=-2)
66 parameter(MPI_COMM_WORLD=0)
68 ! This should be equal to the number of int fields in MPI_Status
69 integer MPI_STATUS_SIZE, MPI_STATUSES_IGNORE
70 parameter(MPI_STATUS_SIZE=4)
71 parameter(MPI_STATUSES_IGNORE=0)
73 integer MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
74 common/smpi/ MPI_STATUS_IGNORE
76 integer MPI_REQUEST_NULL
77 parameter(MPI_REQUEST_NULL=-1)
79 ! These should be ordered as in smpi_f77.c
80 integer MPI_DATATYPE_NULL, MPI_BYTE, MPI_CHARACTER, MPI_LOGICAL
81 integer MPI_INTEGER, MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4
82 integer MPI_INTEGER8, MPI_REAL, MPI_REAL4, MPI_REAL8
83 integer MPI_DOUBLE_PRECISION, MPI_COMPLEX, MPI_DOUBLE_COMPLEX
84 integer MPI_2INTEGER, MPI_LOGICAL1, MPI_LOGICAL2, MPI_LOGICAL4
85 integer MPI_LOGICAL8, MPI_2REAL, MPI_2DOUBLE_PRECISION
86 parameter(MPI_DATATYPE_NULL=-1)
88 parameter(MPI_CHARACTER=1)
89 parameter(MPI_LOGICAL=2)
90 parameter(MPI_INTEGER=3)
91 parameter(MPI_INTEGER1=4)
92 parameter(MPI_INTEGER2=5)
93 parameter(MPI_INTEGER4=6)
94 parameter(MPI_INTEGER8=7)
96 parameter(MPI_REAL4=9)
97 parameter(MPI_REAL8=10)
98 parameter(MPI_DOUBLE_PRECISION=11)
99 parameter(MPI_COMPLEX=12)
100 parameter(MPI_DOUBLE_COMPLEX=13)
101 parameter(MPI_2INTEGER=14)
102 parameter(MPI_LOGICAL1=15)
103 parameter(MPI_LOGICAL2=16)
104 parameter(MPI_LOGICAL4=17)
105 parameter(MPI_LOGICAL8=18)
106 parameter(MPI_2REAL=19)
107 parameter(MPI_2DOUBLE_PRECISION=19)
109 ! These should be ordered as in smpi_f77.c
110 integer MPI_OP_NULL,MPI_MAX, MPI_MIN, MPI_MAXLOC, MPI_MINLOC
111 integer MPI_SUM, MPI_PROD, MPI_LAND, MPI_LOR, MPI_LXOR, MPI_BAND
112 integer MPI_BOR, MPI_BXOR
113 parameter(MPI_OP_NULL=-1)
116 parameter(MPI_MAXLOC=2)
117 parameter(MPI_MINLOC=3)
119 parameter(MPI_PROD=5)
120 parameter(MPI_LAND=6)
122 parameter(MPI_LXOR=8)
123 parameter(MPI_BAND=9)
124 parameter(MPI_BOR=10)
125 parameter(MPI_BXOR=11)
127 external MPI_INIT, MPI_FINALIZE, MPI_ABORT
128 external MPI_COMM_RANK, MPI_COMM_SIZE, MPI_COMM_DUP, MPI_COMM_SPLIT
129 external MPI_SEND_INIT, MPI_ISEND, MPI_SEND
130 external MPI_RECV_INIT, MPI_IRECV, MPI_RECV
131 external MPI_START, MPI_STARTALL
132 external MPI_WAIT, MPI_WAITANY, MPI_WAITALL
133 external MPI_BCAST, MPI_BARRIER, MPI_REDUCE, MPI_ALLREDUCE
134 external MPI_SCATTER, MPI_GATHER, MPI_ALLGATHER, MPI_SCAN
135 external MPI_ALLTOALL, MPI_GATHERV, MPI_SENDRECV
140 double precision MPI_WTIME
141 double precision MPI_WTICK