Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add more definition to fortran (so that LU works).
[simgrid.git] / include / smpi / mpif.h
1 ! -*- fortran -*-
2 ! Copyright (c) 2010. The SimGrid Team.
3 ! All rights reserved.
4
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.
7
8 ! SMPI's Fortran 77 include file
9
10       integer MPI_THREAD_SINGLE, MPI_THREAD_FUNNELED,
11      >        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)
16
17       integer MPI_MAX_PROCESSOR_NAME, MPI_MAX_ERROR_STRING, 
18      >        MPI_MAX_DATAREP_STRIN, MPI_MAX_INFO_KEY,
19      >        MPI_MAX_INFO_VAL, MPI_MAX_OBJECT_NAME, MPI_MAX_PORT_NAME,
20      >        MPI_ANY_SOURCE, MPI_PROC_NULL, MPI_ANY_TAG, MPI_UNDEFINED
21       parameter(MPI_MAX_PROCESSOR_NAME=100)
22       parameter(MPI_MAX_ERROR_STRING=100)
23       parameter(MPI_MAX_DATAREP_STRIN =100)
24       parameter(MPI_MAX_INFO_KEY=100)
25       parameter(MPI_MAX_INFO_VAL=100)
26       parameter(MPI_MAX_OBJECT_NAME=100)
27       parameter(MPI_MAX_PORT_NAME=100)
28       parameter(MPI_ANY_SOURCE=-1)
29       parameter(MPI_PROC_NULL=-2)
30       parameter(MPI_ANY_TAG=-1)
31       parameter(MPI_UNDEFINED=-1)
32
33       integer MPI_SUCCESS, MPI_ERR_COMM, MPI_ERR_ARG, MPI_ERR_TYPE,
34      >        MPI_ERR_REQUEST, MPI_ERR_INTERN, MPI_ERR_COUNT,
35      >        MPI_ERR_RANK, MPI_ERR_OTHER,
36      >        MPI_ERR_TAG, MPI_ERR_TRUNCATE, MPI_ERR_GROUP, MPI_ERR_OP,
37      >        MPI_IDENT, MPI_SIMILAR, MPI_UNEQUAL, MPI_CONGRUENT,
38      >        MPI_WTIME_IS_GLOBAL
39       parameter(MPI_SUCCESS=0)
40       parameter(MPI_ERR_COMM=1)
41       parameter(MPI_ERR_ARG=2)
42       parameter(MPI_ERR_TYPE=3)
43       parameter(MPI_ERR_REQUEST=4)
44       parameter(MPI_ERR_INTERN=5)
45       parameter(MPI_ERR_COUNT=6)
46       parameter(MPI_ERR_RANK=7)
47       parameter(MPI_ERR_TAG=8)
48       parameter(MPI_ERR_TRUNCATE=9)
49       parameter(MPI_ERR_GROUP=10)
50       parameter(MPI_ERR_OP=11)
51       parameter(MPI_ERR_OTHER=12)
52       parameter(MPI_IDENT=0)
53       parameter(MPI_SIMILAR=1)
54       parameter(MPI_UNEQUAL=2)
55       parameter(MPI_CONGRUENT=3)
56       parameter(MPI_WTIME_IS_GLOBAL=1)
57
58 ! These should be ordered as in smpi_f77.c
59       integer MPI_COMM_NULL, MPI_COMM_WORLD, MPI_COMM_SELF
60       parameter(MPI_COMM_NULL=-1)
61       parameter(MPI_COMM_SELF=-2)
62       parameter(MPI_COMM_WORLD=0)
63
64 ! This should be equal to the number of int fields in MPI_Status
65       integer MPI_STATUS_SIZE
66       parameter(MPI_STATUS_SIZE=4)
67
68       integer MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
69       common/smpi/ MPI_STATUS_IGNORE
70
71       integer MPI_REQUEST_NULL
72       parameter(MPI_REQUEST_NULL=-1)
73
74 ! These should be ordered as in smpi_f77.c
75       integer MPI_DATATYPE_NULL, MPI_BYTE, MPI_CHARACTER, MPI_LOGICAL,
76      >        MPI_INTEGER, MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4,
77      >        MPI_INTEGER8, MPI_REAL, MPI_REAL4, MPI_REAL8,
78      >        MPI_DOUBLE_PRECISION, MPI_COMPLEX, MPI_DOUBLE_COMPLEX,
79      >        MPI_2INTEGER, MPI_LOGICAL1, MPI_LOGICAL2, MPI_LOGICAL4,
80      >        MPI_LOGICAL8
81       parameter(MPI_DATATYPE_NULL=-1)
82       parameter(MPI_BYTE=0)
83       parameter(MPI_CHARACTER=1)
84       parameter(MPI_LOGICAL=2)
85       parameter(MPI_INTEGER=3)
86       parameter(MPI_INTEGER1=4)
87       parameter(MPI_INTEGER2=5)
88       parameter(MPI_INTEGER4=6)
89       parameter(MPI_INTEGER8=7)
90       parameter(MPI_REAL=8)
91       parameter(MPI_REAL4=9)
92       parameter(MPI_REAL8=10)
93       parameter(MPI_DOUBLE_PRECISION=11)
94       parameter(MPI_COMPLEX=12)
95       parameter(MPI_DOUBLE_COMPLEX=13)
96       parameter(MPI_2INTEGER=14)
97       parameter(MPI_LOGICAL1=15)
98       parameter(MPI_LOGICAL2=16)
99       parameter(MPI_LOGICAL4=17)
100       parameter(MPI_LOGICAL8=18)
101
102 ! These should be ordered as in smpi_f77.c
103       integer MPI_OP_NULL,MPI_MAX, MPI_MIN, MPI_MAXLOC, MPI_MINLOC,
104      >        MPI_SUM, MPI_PROD, MPI_LAND, MPI_LOR, MPI_LXOR, MPI_BAND,
105      >        MPI_BOR, MPI_BXOR
106       parameter(MPI_OP_NULL=-1)
107       parameter(MPI_MAX=0)
108       parameter(MPI_MIN=1)
109       parameter(MPI_MAXLOC=2)
110       parameter(MPI_MINLOC=3)
111       parameter(MPI_SUM=4)
112       parameter(MPI_PROD=5)
113       parameter(MPI_LAND=6)
114       parameter(MPI_LOR=7)
115       parameter(MPI_LXOR=8)
116       parameter(MPI_BAND=9)
117       parameter(MPI_BOR=10)
118       parameter(MPI_BXOR=11)
119
120       external MPI_INIT, MPI_FINALIZE, MPI_ABORT,
121      >         MPI_COMM_RANK, MPI_COMM_SIZE, MPI_COMM_DUP, MPI_COMM_SPLIT
122      >         MPI_SEND_INIT, MPI_ISEND, MPI_SEND,
123      >         MPI_RECV_INIT, MPI_IRECV, MPI_RECV,
124      >         MPI_START, MPI_STARTALL,
125      >         MPI_WAIT, MPI_WAITANY, MPI_WAITALL,
126      >         MPI_BCAST, MPI_BARRIER, MPI_REDUCE, MPI_ALLREDUCE,
127      >         MPI_SCATTER, MPI_GATHER, MPI_ALLGATHER, MPI_SCAN,
128      >         MPI_ALLTOALL
129
130       external MPI_WTIME
131       double precision MPI_WTIME