/usr/lib/mpich/include/mpif.h is in libmpich1.0-dev 1.2.7-10ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | !
!
! (C) 1993 by Argonne National Laboratory and Mississipi State University.
! All rights reserved. See COPYRIGHT in top-level directory.
!
!
! user include file for MPI programs, with no dependencies
!
! It really is not possible to make a perfect include file that can
! be used by both F77 and F90 compilers, but this is close. We have removed
! continuation lines (allows free form input in F90); systems whose
! Fortran compilers support ! instead of just C or * for comments can
! globally replace a C in the first column with !; the resulting file
! should work for both Fortran 77 and Fortran 90.
!
! If your Fortran compiler supports ! for comments, you can run this
! through sed with
! sed -e 's/^C/\!/g'
!
! We have also removed the use of contractions (involving the single quote)
! character because some users use .F instead of .f files (to invoke the
! cpp preprocessor) and further, their preprocessor is determined to find
! matching single quote pairs (and probably double quotes; given the
! different rules in C and Fortran, this sounds like a disaster). Rather than
! take the position that the poor users should get a better system, we
! have removed the text that caused problems. Of course, the users SHOULD
! get a better system...
!
! return codes
INTEGER MPI_SUCCESS,MPI_ERR_BUFFER,MPI_ERR_COUNT,MPI_ERR_TYPE
INTEGER MPI_ERR_TAG,MPI_ERR_COMM,MPI_ERR_RANK,MPI_ERR_ROOT
INTEGER MPI_ERR_GROUP
INTEGER MPI_ERR_OP,MPI_ERR_TOPOLOGY,MPI_ERR_DIMS,MPI_ERR_ARG
INTEGER MPI_ERR_UNKNOWN,MPI_ERR_TRUNCATE,MPI_ERR_OTHER
INTEGER MPI_ERR_INTERN,MPI_ERR_IN_STATUS,MPI_ERR_PENDING
INTEGER MPI_ERR_REQUEST, MPI_ERR_LASTCODE
PARAMETER (MPI_SUCCESS=0,MPI_ERR_BUFFER=1,MPI_ERR_COUNT=2)
PARAMETER (MPI_ERR_TYPE=3,MPI_ERR_TAG=4,MPI_ERR_COMM=5)
PARAMETER (MPI_ERR_RANK=6,MPI_ERR_ROOT=7,MPI_ERR_GROUP=8)
PARAMETER (MPI_ERR_OP=9,MPI_ERR_TOPOLOGY=10,MPI_ERR_DIMS=11)
PARAMETER (MPI_ERR_ARG=12,MPI_ERR_UNKNOWN=13)
PARAMETER (MPI_ERR_TRUNCATE=14,MPI_ERR_OTHER=15)
PARAMETER (MPI_ERR_INTERN=16,MPI_ERR_IN_STATUS=17)
PARAMETER (MPI_ERR_PENDING=18,MPI_ERR_REQUEST=19)
PARAMETER (MPI_ERR_LASTCODE=1073741823)
!
INTEGER MPI_UNDEFINED
parameter (MPI_UNDEFINED = (-32766))
!
INTEGER MPI_GRAPH, MPI_CART
PARAMETER (MPI_GRAPH = 1, MPI_CART = 2)
INTEGER MPI_PROC_NULL
PARAMETER ( MPI_PROC_NULL = (-1) )
!
INTEGER MPI_BSEND_OVERHEAD
PARAMETER ( MPI_BSEND_OVERHEAD = 512 )
INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
PARAMETER(MPI_SOURCE=2, MPI_TAG=3, MPI_ERROR=4)
INTEGER MPI_STATUS_SIZE
PARAMETER (MPI_STATUS_SIZE=4)
INTEGER MPI_MAX_PROCESSOR_NAME, MPI_MAX_ERROR_STRING
PARAMETER (MPI_MAX_PROCESSOR_NAME=256)
PARAMETER (MPI_MAX_ERROR_STRING=512)
INTEGER MPI_MAX_NAME_STRING
PARAMETER (MPI_MAX_NAME_STRING=63)
INTEGER MPI_MAX_PORT_NAME
PARAMETER (MPI_MAX_PORT_NAME=256)
!
INTEGER MPI_COMM_NULL
PARAMETER (MPI_COMM_NULL=0)
!
INTEGER MPI_DATATYPE_NULL
PARAMETER (MPI_DATATYPE_NULL = 0)
INTEGER MPI_ERRHANDLER_NULL
PARAMETER (MPI_ERRHANDLER_NULL = 0)
INTEGER MPI_GROUP_NULL
PARAMETER (MPI_GROUP_NULL = 0)
INTEGER MPI_KEYVAL_INVALID
PARAMETER (MPI_KEYVAL_INVALID = 0)
INTEGER MPI_REQUEST_NULL
PARAMETER (MPI_REQUEST_NULL = 0)
!
INTEGER MPI_IDENT, MPI_CONGRUENT, MPI_SIMILAR, MPI_UNEQUAL
PARAMETER (MPI_IDENT=0, MPI_CONGRUENT=1, MPI_SIMILAR=2)
PARAMETER (MPI_UNEQUAL=3)
!
! MPI_BOTTOM needs to be a known address; here we put it at the
! beginning of the common block. The point-to-point and collective
! routines know about MPI_BOTTOM, but MPI_TYPE_STRUCT as yet does not.
!
! MPI_STATUS_IGNORE and MPI_STATUSES_IGNORE are similar objects
! Until the underlying MPI library implements the C version of these
! (a null pointer), these are declared as arrays of MPI_STATUS_SIZE
!
! The types MPI_INTEGER1,2,4 and MPI_REAL4,8 are OPTIONAL.
! Their values are zero if they are not available. Note that
! using these reduces the portability of code (though may enhance
! portability between Crays and other systems)
!
INTEGER MPI_TAG_UB, MPI_HOST, MPI_IO
INTEGER MPI_BOTTOM
INTEGER MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
INTEGER MPI_STATUSES_IGNORE(MPI_STATUS_SIZE)
INTEGER MPI_INTEGER, MPI_REAL, MPI_DOUBLE_PRECISION
INTEGER MPI_COMPLEX, MPI_DOUBLE_COMPLEX,MPI_LOGICAL
INTEGER MPI_CHARACTER, MPI_BYTE, MPI_2INTEGER, MPI_2REAL
INTEGER MPI_2DOUBLE_PRECISION, MPI_2COMPLEX, MPI_2DOUBLE_COMPLEX
INTEGER MPI_UB, MPI_LB
INTEGER MPI_PACKED, MPI_WTIME_IS_GLOBAL
INTEGER MPI_COMM_WORLD, MPI_COMM_SELF, MPI_GROUP_EMPTY
INTEGER MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_BAND
INTEGER MPI_LOR, MPI_BOR, MPI_LXOR, MPI_BXOR, MPI_MINLOC
INTEGER MPI_MAXLOC
INTEGER MPI_OP_NULL
INTEGER MPI_ERRORS_ARE_FATAL, MPI_ERRORS_RETURN
!
PARAMETER (MPI_ERRORS_ARE_FATAL=119)
PARAMETER (MPI_ERRORS_RETURN=120)
!
PARAMETER (MPI_COMPLEX=23,MPI_DOUBLE_COMPLEX=24,MPI_LOGICAL=25)
PARAMETER (MPI_REAL=26,MPI_DOUBLE_PRECISION=27,MPI_INTEGER=28)
PARAMETER (MPI_2INTEGER=29,MPI_2COMPLEX=30,MPI_2DOUBLE_COMPLEX=31)
PARAMETER (MPI_2REAL=32,MPI_2DOUBLE_PRECISION=33,MPI_CHARACTER=1)
PARAMETER (MPI_BYTE=3,MPI_UB=16,MPI_LB=15,MPI_PACKED=14)
INTEGER MPI_ORDER_C, MPI_ORDER_FORTRAN
PARAMETER (MPI_ORDER_C=56, MPI_ORDER_FORTRAN=57)
INTEGER MPI_DISTRIBUTE_BLOCK, MPI_DISTRIBUTE_CYCLIC
INTEGER MPI_DISTRIBUTE_NONE, MPI_DISTRIBUTE_DFLT_DARG
PARAMETER (MPI_DISTRIBUTE_BLOCK=121, MPI_DISTRIBUTE_CYCLIC=122)
PARAMETER (MPI_DISTRIBUTE_NONE=123)
PARAMETER (MPI_DISTRIBUTE_DFLT_DARG=-49767)
INTEGER MPI_MAX_INFO_KEY, MPI_MAX_INFO_VAL
PARAMETER (MPI_MAX_INFO_KEY=255, MPI_MAX_INFO_VAL=1024)
INTEGER MPI_INFO_NULL
PARAMETER (MPI_INFO_NULL=0)
!
! Optional Fortran Types. Configure attempts to determine these.
!
INTEGER MPI_INTEGER1, MPI_INTEGER2, MPI_INTEGER4, MPI_INTEGER8
INTEGER MPI_INTEGER16
INTEGER MPI_REAL4, MPI_REAL8, MPI_REAL16
INTEGER MPI_COMPLEX8, MPI_COMPLEX16, MPI_COMPLEX32
PARAMETER (MPI_INTEGER1=1,MPI_INTEGER2=4)
PARAMETER (MPI_INTEGER4=6)
PARAMETER (MPI_INTEGER8=8)
PARAMETER (MPI_INTEGER16=0)
PARAMETER (MPI_REAL4=10)
PARAMETER (MPI_REAL8=11)
PARAMETER (MPI_REAL16=12)
PARAMETER (MPI_COMPLEX8=23)
PARAMETER (MPI_COMPLEX16=24)
PARAMETER (MPI_COMPLEX32=0)
!
! This is now handled with either the "pointer" extension or this same
! code, appended at the end.
! COMMON /MPIPRIV/ MPI_BOTTOM,MPI_STATUS_IGNORE,MPI_STATUSES_IGNORE
!C
!C Without this save, some Fortran implementations may make the common
!C dynamic!
!C
!C For a Fortran90 module, we might replace /MPIPRIV/ with a simple
!C SAVE MPI_BOTTOM
!C
! SAVE /MPIPRIV/
!
PARAMETER (MPI_MAX=100,MPI_MIN=101,MPI_SUM=102,MPI_PROD=103)
PARAMETER (MPI_LAND=104,MPI_BAND=105,MPI_LOR=106,MPI_BOR=107)
PARAMETER (MPI_LXOR=108,MPI_BXOR=109,MPI_MINLOC=110)
PARAMETER (MPI_MAXLOC=111, MPI_OP_NULL=0)
!
PARAMETER (MPI_GROUP_EMPTY=90,MPI_COMM_WORLD=91,MPI_COMM_SELF=92)
PARAMETER (MPI_TAG_UB=80,MPI_HOST=82,MPI_IO=84)
PARAMETER (MPI_WTIME_IS_GLOBAL=86)
!
INTEGER MPI_ANY_SOURCE
PARAMETER (MPI_ANY_SOURCE = (-2))
INTEGER MPI_ANY_TAG
PARAMETER (MPI_ANY_TAG = (-1))
!
INTEGER MPI_VERSION, MPI_SUBVERSION
PARAMETER (MPI_VERSION = 1, MPI_SUBVERSION = 2)
!
! There are additional MPI-2 constants
INTEGER MPI_ADDRESS_KIND, MPI_OFFSET_KIND
PARAMETER (MPI_ADDRESS_KIND=8)
PARAMETER (MPI_OFFSET_KIND=8)
!
! All other MPI routines are subroutines
! This may cause some Fortran compilers to complain about defined and
! not used. Such compilers should be improved.
!
! Some Fortran compilers will not link programs that contain
! external statements to routines that are not provided, even if
! the routine is never called. Remove PMPI_WTIME and PMPI_WTICK
! if you have trouble with them.
!
DOUBLE PRECISION MPI_WTIME, MPI_WTICK,PMPI_WTIME,PMPI_WTICK
EXTERNAL MPI_WTIME, MPI_WTICK,PMPI_WTIME,PMPI_WTICK
!
! The attribute copy/delete subroutines are symbols that can be passed
! to MPI routines
!
EXTERNAL MPI_NULL_COPY_FN, MPI_NULL_DELETE_FN, MPI_DUP_FN
COMMON /MPIPRIV/ MPI_BOTTOM,MPI_STATUS_IGNORE,MPI_STATUSES_IGNORE
!
! Without this save, some Fortran implementations may make the common
! dynamic!
!
! For a Fortran90 module, we might replace /MPIPRIV/ with a simple
! SAVE MPI_BOTTOM
!
SAVE /MPIPRIV/
!
! $Id: mpiof.h.in,v 1.3 1999/08/06 18:33:09 thakur Exp $
!
! Copyright (C) 1997 University of Chicago.
! See COPYRIGHT notice in top-level directory.
!
!
! user include file for Fortran MPI-IO programs
!
INTEGER MPI_MODE_RDONLY, MPI_MODE_RDWR, MPI_MODE_WRONLY
INTEGER MPI_MODE_DELETE_ON_CLOSE, MPI_MODE_UNIQUE_OPEN
INTEGER MPI_MODE_CREATE, MPI_MODE_EXCL
INTEGER MPI_MODE_APPEND, MPI_MODE_SEQUENTIAL
PARAMETER (MPI_MODE_RDONLY=2, MPI_MODE_RDWR=8, MPI_MODE_WRONLY=4)
PARAMETER (MPI_MODE_CREATE=1, MPI_MODE_DELETE_ON_CLOSE=16)
PARAMETER (MPI_MODE_UNIQUE_OPEN=32, MPI_MODE_EXCL=64)
PARAMETER (MPI_MODE_APPEND=128, MPI_MODE_SEQUENTIAL=256)
!
INTEGER MPI_FILE_NULL
PARAMETER (MPI_FILE_NULL=0)
!
INTEGER MPI_MAX_DATAREP_STRING
PARAMETER (MPI_MAX_DATAREP_STRING=128)
!
INTEGER MPI_SEEK_SET, MPI_SEEK_CUR, MPI_SEEK_END
PARAMETER (MPI_SEEK_SET=600, MPI_SEEK_CUR=602, MPI_SEEK_END=604)
!
INTEGER MPIO_REQUEST_NULL
PARAMETER (MPIO_REQUEST_NULL=0)
!
integer*8 MPI_DISPLACEMENT_CURRENT
PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278)
!
!
!
!
!
!
!
|