3 ! (C) 1993
by Argonne National Laboratory and Mississipi State University.
4 ! All rights reserved. See COPYRIGHT in top-level directory.
9 ! It really is not possible to make a perfect include file that can
10 ! be used
by both F77 and F90
compilers, but
this is close. We have removed
11 ! continuation
lines (allows free
form input in F90); systems whose
13 ! globally replace a C in the first column
with !; the resulting file
14 ! should work
for both Fortran 77 and Fortran 90.
16 ! If your Fortran compiler supports !
for comments, you can run
this
20 ! We have also removed the
use of
contractions (involving the single quote)
21 ! character because some users
use .F instead of .f
files (to invoke the
22 ! cpp preprocessor) and further, their preprocessor is determined to find
23 ! matching single quote
pairs (and probably
double quotes; given the
24 ! different rules in C and Fortran,
this sounds like a disaster). Rather than
25 ! take the position that the poor users should
get a better
system, we
26 ! have removed the text that caused problems. Of
course, the users SHOULD
27 !
get a better system...
39 PARAMETER (
MPI_ERR_RANK=6,MPI_ERR_ROOT=7,MPI_ERR_GROUP=8)
41 PARAMETER (MPI_ERR_ARG=12,MPI_ERR_UNKNOWN=13)
44 PARAMETER (MPI_ERR_PENDING=18,MPI_ERR_REQUEST=19)
45 PARAMETER (MPI_ERR_LASTCODE=1073741823)
48 parameter (MPI_UNDEFINED = (-32766))
51 PARAMETER (MPI_GRAPH = 1, MPI_CART = 2)
53 PARAMETER ( MPI_PROC_NULL = (-1) )
56 PARAMETER ( MPI_BSEND_OVERHEAD = 512 )
59 PARAMETER(MPI_SOURCE=2, MPI_TAG=3, MPI_ERROR=4)
61 PARAMETER (MPI_STATUS_SIZE=4)
63 PARAMETER (MPI_MAX_PROCESSOR_NAME=256)
64 PARAMETER (MPI_MAX_ERROR_STRING=512)
66 PARAMETER (MPI_MAX_NAME_STRING=63)
69 PARAMETER (MPI_COMM_NULL=0)
72 PARAMETER (MPI_DATATYPE_NULL = 0)
75 PARAMETER (MPI_ERRHANDLER_NULL = 0)
78 PARAMETER (MPI_GROUP_NULL = 0)
81 PARAMETER (MPI_KEYVAL_INVALID = 0)
84 PARAMETER (MPI_REQUEST_NULL = 0)
87 PARAMETER (MPI_IDENT=0, MPI_CONGRUENT=1, MPI_SIMILAR=2)
88 PARAMETER (MPI_UNEQUAL=3)
91 ! beginning of the common
block. The point-to-point and collective
92 ! routines know about
MPI_BOTTOM, but MPI_TYPE_STRUCT as yet does not.
95 ! Until the underlying MPI library implements the C version of
these
96 ! (a null pointer),
these are declared as arrays of MPI_STATUS_SIZE
99 ! Their values are zero
if they are not available. Note that
100 ! using
these reduces the portability of
code (though may enhance
101 ! portability between Crays and other systems)
106 INTEGER MPI_STATUSES_IGNORE(MPI_STATUS_SIZE)
120 PARAMETER (MPI_ERRORS_ARE_FATAL=119)
121 PARAMETER (MPI_ERRORS_RETURN=120)
123 PARAMETER (MPI_COMPLEX=23,MPI_DOUBLE_COMPLEX=24,MPI_LOGICAL=25)
124 PARAMETER (MPI_REAL=26,MPI_DOUBLE_PRECISION=27,MPI_INTEGER=28)
125 PARAMETER (MPI_2INTEGER=29,MPI_2COMPLEX=30,MPI_2DOUBLE_COMPLEX=31)
126 PARAMETER (MPI_2REAL=32,MPI_2DOUBLE_PRECISION=33,MPI_CHARACTER=1)
127 PARAMETER (MPI_BYTE=3,MPI_UB=16,MPI_LB=15,MPI_PACKED=14)
130 PARAMETER (MPI_ORDER_C=56, MPI_ORDER_FORTRAN=57)
133 PARAMETER (MPI_DISTRIBUTE_BLOCK=121, MPI_DISTRIBUTE_CYCLIC=122)
134 PARAMETER (MPI_DISTRIBUTE_NONE=123)
135 PARAMETER (MPI_DISTRIBUTE_DFLT_DARG=-49767)
137 PARAMETER (MPI_MAX_INFO_KEY=255, MPI_MAX_INFO_VAL=1024)
139 PARAMETER (MPI_INFO_NULL=0)
142 ! Optional Fortran Types. Configure attempts to determine
these.
148 PARAMETER (MPI_INTEGER1=1,MPI_INTEGER2=4)
149 PARAMETER (MPI_INTEGER4=6)
150 PARAMETER (MPI_INTEGER8=13)
151 PARAMETER (MPI_INTEGER16=0)
152 PARAMETER (MPI_REAL4=10)
153 PARAMETER (MPI_REAL8=11)
154 PARAMETER (MPI_REAL16=0)
155 PARAMETER (MPI_COMPLEX8=23)
156 PARAMETER (MPI_COMPLEX16=24)
157 PARAMETER (MPI_COMPLEX32=0)
159 ! This is now handled
with either the "pointer" extension or this same
160 !
code, appended at the end.
163 !C Without this
save, some Fortran implementations may make the common
166 !C For a Fortran90
module, we might replace /MPIPRIV/
with a simple
171 PARAMETER (MPI_MAX=100,MPI_MIN=101,MPI_SUM=102,MPI_PROD=103)
172 PARAMETER (MPI_LAND=104,MPI_BAND=105,MPI_LOR=106,MPI_BOR=107)
173 PARAMETER (MPI_LXOR=108,MPI_BXOR=109,MPI_MINLOC=110)
174 PARAMETER (MPI_MAXLOC=111, MPI_OP_NULL=0)
176 PARAMETER (MPI_GROUP_EMPTY=90,MPI_COMM_WORLD=91,MPI_COMM_SELF=92)
177 PARAMETER (MPI_TAG_UB=80,MPI_HOST=82,MPI_IO=84)
178 PARAMETER (MPI_WTIME_IS_GLOBAL=86)
181 PARAMETER (MPI_ANY_SOURCE = (-2))
183 PARAMETER (MPI_ANY_TAG = (-1))
186 PARAMETER (MPI_VERSION = 1, MPI_SUBVERSION = 2)
188 ! There are additional MPI-2 constants
190 PARAMETER (MPI_ADDRESS_KIND=4)
191 PARAMETER (MPI_OFFSET_KIND=8)
193 ! All other MPI routines are subroutines
194 ! This may cause some Fortran
compilers to complain about defined and
195 ! not used. Such
compilers should be improved.
198 ! external statements to routines that are not
provided, even
if
199 ! the routine is never called. Remove
PMPI_WTIME and PMPI_WTICK
200 !
if you have trouble
with them.
203 EXTERNAL MPI_WTIME, MPI_WTICK,PMPI_WTIME,PMPI_WTICK
205 ! The attribute
copy/delete subroutines are symbols that can be passed
209 COMMON /MPIPRIV/ MPI_BOTTOM,MPI_STATUS_IGNORE,MPI_STATUSES_IGNORE
211 ! Without this save, some Fortran implementations may make the common
214 ! For a Fortran90 module, we might replace /MPIPRIV/
with a simple
219 ! $Id: mpif.h,
v 1.1 2004/08/30 16:42:12 brtnfld Exp $
221 !
Copyright (C) 1997 University of Chicago.
222 ! See COPYRIGHT
notice in top-level directory.
231 PARAMETER (MPI_MODE_RDONLY=2, MPI_MODE_RDWR=8, MPI_MODE_WRONLY=4)
232 PARAMETER (MPI_MODE_CREATE=1, MPI_MODE_DELETE_ON_CLOSE=16)
233 PARAMETER (MPI_MODE_UNIQUE_OPEN=32, MPI_MODE_EXCL=64)
234 PARAMETER (MPI_MODE_APPEND=128, MPI_MODE_SEQUENTIAL=256)
237 PARAMETER (MPI_FILE_NULL=0)
240 PARAMETER (MPI_MAX_DATAREP_STRING=128)
243 PARAMETER (MPI_SEEK_SET=600, MPI_SEEK_CUR=602, MPI_SEEK_END=604)
246 PARAMETER (MPIO_REQUEST_NULL=0)
248 integer*8 MPI_DISPLACEMENT_CURRENT
249 PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278)
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_BYTE
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_BXOR
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed by
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL8
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_CART INTEGER MPI_PROC_NULL!INTEGER MPI_BSEND_OVERHEAD INTEGER MPI_ERROR INTEGER MPI_STATUS_SIZE INTEGER MPI_MAX_PROCESSOR_NAME
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_INTERN
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_DUP_FN COMMON MPIPRIV MPI_STATUSES_IGNORE!Without this some Fortran implementations may make the common!dynamic!For a Fortran90 we might replace MPIPRIV with a simple!SAVE MPI_BOTTOM!SAVE MPIPRIV MPI_MODE_WRONLY INTEGER MPI_MODE_UNIQUE_OPEN INTEGER MPI_MODE_EXCL INTEGER MPI_MODE_APPEND
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_DUP_FN COMMON MPIPRIV MPI_STATUSES_IGNORE!Without this some Fortran implementations may make the common!dynamic!For a Fortran90 we might replace MPIPRIV with a simple!SAVE MPI_BOTTOM!SAVE MPIPRIV MPI_MODE_WRONLY INTEGER MPI_MODE_DELETE_ON_CLOSE
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_COMM_WORLD
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_CART INTEGER MPI_PROC_NULL!INTEGER MPI_BSEND_OVERHEAD INTEGER MPI_TAG
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_UNKNOWN
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_COMPLEX
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_ADDRESS_KIND
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_CART INTEGER MPI_PROC_NULL!INTEGER MPI_BSEND_OVERHEAD INTEGER MPI_ERROR INTEGER MPI_STATUS_SIZE INTEGER MPI_MAX_ERROR_STRING INTEGER MPI_MAX_NAME_STRING!INTEGER MPI_COMM_NULL!INTEGER MPI_DATATYPE_NULL INTEGER MPI_ERRHANDLER_NULL INTEGER MPI_GROUP_NULL INTEGER MPI_KEYVAL_INVALID INTEGER MPI_REQUEST_NULL!INTEGER MPI_UNEQUAL!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 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_BLOCK
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and 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
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_COMM_SELF
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_CHARACTER
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX8
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_MAX
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2COMPLEX
here we put it at the!beginning of the common block The point to point and collective!routines know about MPI_BOTTOM
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of course
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_NULL_DELETE_FN
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_BUFFER
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_MIN
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_DOUBLE_COMPLEX
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_SUCCESS
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to use
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of 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
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types MPI_INTEGER1
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_HOST
C by Argonne National Laboratory and Mississipi State University!All rights reserved See COPYRIGHT in top level directory!user include file for MPI with no dependencies!It really is not possible to make a perfect include file that can!be used by both F77 and F90 but this is close We have removed!continuation lines(allows free form input in F90)
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_DUP_FN COMMON MPIPRIV MPI_STATUSES_IGNORE!Without this some Fortran implementations may make the common!dynamic!For a Fortran90 we might replace MPIPRIV with a simple!SAVE MPI_BOTTOM!SAVE MPIPRIV MPI_MODE_RDWR
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION MPI_WTIME
here we put it at the!beginning of the common block The point to point and collective!routines know about 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)
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_CART INTEGER MPI_PROC_NULL!INTEGER MPI_BSEND_OVERHEAD INTEGER MPI_ERROR INTEGER MPI_STATUS_SIZE INTEGER MPI_MAX_ERROR_STRING INTEGER MPI_MAX_NAME_STRING!INTEGER MPI_COMM_NULL!INTEGER MPI_DATATYPE_NULL INTEGER MPI_ERRHANDLER_NULL INTEGER MPI_GROUP_NULL INTEGER MPI_KEYVAL_INVALID INTEGER MPI_REQUEST_NULL!INTEGER MPI_SIMILAR
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_DUP_FN COMMON MPIPRIV MPI_STATUSES_IGNORE!Without this some Fortran implementations may make the common!dynamic!For a Fortran90 we might replace MPIPRIV with a simple!SAVE MPI_BOTTOM!SAVE MPIPRIV MPI_MODE_WRONLY INTEGER MPI_MODE_UNIQUE_OPEN INTEGER MPI_MODE_EXCL INTEGER MPI_MODE_SEQUENTIAL!INTEGER MPI_FILE_NULL!INTEGER MPI_MAX_DATAREP_STRING!INTEGER MPI_SEEK_SET
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX16
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_OP
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_BOR
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_NONE
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_CART INTEGER MPI_PROC_NULL!INTEGER MPI_BSEND_OVERHEAD INTEGER MPI_SOURCE
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_ARE_FATAL
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_TOPOLOGY
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_GRAPH
systems whose!Fortran compilers support!instead of just C or *for comments can!globally replace a C in the first column with
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to ** copy
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_REAL
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_TAG
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_REQUEST
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright notice
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this save
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_LAND
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE POINTER::global INTEGER
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTIME
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_COMM
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_IN_STATUS
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE form
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_RANK
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_PRECISION
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_VERSION
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_NULL_COPY_FN
int system(const char *const command, const char *const module_name=0)
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_C
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_DUP_FN COMMON MPIPRIV MPI_STATUSES_IGNORE!Without this some Fortran implementations may make the common!dynamic!For a Fortran90 we might replace MPIPRIV with a simple!SAVE MPI_BOTTOM!SAVE MPIPRIV MPI_MODE_WRONLY INTEGER MPI_MODE_UNIQUE_OPEN INTEGER MPI_MODE_EXCL INTEGER MPI_MODE_SEQUENTIAL!INTEGER MPI_FILE_NULL!INTEGER MPI_MAX_DATAREP_STRING!INTEGER MPI_SEEK_CUR
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_LOR
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER2
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and MPI_REAL4
C by Argonne National Laboratory and Mississipi State University!All rights reserved See COPYRIGHT in top level directory!user include file for MPI programs
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_COUNT
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_LXOR
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUS_IGNORE
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2INTEGER
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_UB
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION MPI_WTICK
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_CART INTEGER MPI_PROC_NULL!INTEGER MPI_BSEND_OVERHEAD INTEGER MPI_ERROR INTEGER MPI_STATUS_SIZE INTEGER MPI_MAX_ERROR_STRING INTEGER MPI_MAX_NAME_STRING!INTEGER MPI_COMM_NULL!INTEGER MPI_DATATYPE_NULL INTEGER MPI_ERRHANDLER_NULL INTEGER MPI_GROUP_NULL INTEGER MPI_KEYVAL_INVALID INTEGER MPI_REQUEST_NULL!INTEGER MPI_CONGRUENT
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for comments
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_OTHER INTEGER MPI_ERR_PENDING INTEGER MPI_ERR_LASTCODE!INTEGER MPI_UNDEFINED!INTEGER MPI_CART INTEGER MPI_PROC_NULL!INTEGER MPI_BSEND_OVERHEAD INTEGER MPI_ERROR INTEGER MPI_STATUS_SIZE INTEGER MPI_MAX_ERROR_STRING INTEGER MPI_MAX_NAME_STRING!INTEGER MPI_COMM_NULL!INTEGER MPI_DATATYPE_NULL INTEGER MPI_ERRHANDLER_NULL INTEGER MPI_GROUP_NULL INTEGER MPI_KEYVAL_INVALID INTEGER MPI_REQUEST_NULL!INTEGER MPI_IDENT
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_PROD
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 we might replace MPIPRIV with a simple!C SAVE MPI_BOTTOM!C!SAVE MPIPRIV!INTEGER MPI_ANY_SOURCE INTEGER MPI_ANY_TAG!INTEGER MPI_SUBVERSION!There are additional MPI constants INTEGER MPI_OFFSET_KIND!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 even if!the routine is never called Remove PMPI_WTIME and PMPI_WTICK!if you have trouble with them!DOUBLE PRECISION PMPI_WTICK EXTERNAL PMPI_WTICK!The attribute copy delete subroutines are symbols that can be passed!to MPI routines!EXTERNAL MPI_DUP_FN COMMON MPIPRIV MPI_STATUSES_IGNORE!Without this some Fortran implementations may make the common!dynamic!For a Fortran90 we might replace MPIPRIV with a simple!SAVE MPI_BOTTOM!SAVE MPIPRIV MPI_MODE_WRONLY INTEGER MPI_MODE_UNIQUE_OPEN INTEGER MPI_MODE_CREATE
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_DIMS
C by Argonne National Laboratory and Mississipi State University!All rights reserved See COPYRIGHT in top level directory!user include file for MPI with no dependencies!It really is not possible to make a perfect include file that can!be used by both F77 and F90 compilers
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER4
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_KEY
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation ** files(the"Software")
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_SUM
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for you can run this!through sed with!sed e s C g!We have also removed the use of their preprocessor is determined to find!matching single quote we!have removed the text that caused problems Of the users SHOULD!get a better system!return codes INTEGER MPI_ERR_TYPE INTEGER MPI_ERR_ROOT INTEGER MPI_ERR_GROUP INTEGER MPI_ERR_ARG INTEGER MPI_ERR_TRUNCATE
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_PACKED
here we put it at the!beginning of the common block The point to point and collective!routines know about 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 are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_GROUP_EMPTY INTEGER MPI_BAND INTEGER MPI_MINLOC INTEGER MPI_MAXLOC INTEGER MPI_OP_NULL INTEGER MPI_ERRORS_RETURN!INTEGER MPI_ORDER_FORTRAN INTEGER MPI_DISTRIBUTE_CYCLIC INTEGER MPI_DISTRIBUTE_DFLT_DARG INTEGER MPI_MAX_INFO_VAL INTEGER MPI_INFO_NULL!Optional Fortran Types Configure attempts to determine these!INTEGER MPI_INTEGER8 INTEGER MPI_INTEGER16 INTEGER MPI_REAL16 INTEGER MPI_COMPLEX32!This is now handled with either the pointer extension or this same appended at the end!COMMON MPIPRIV MPI_STATUSES_IGNORE!C!C Without this some Fortran implementations may make the common!C dynamic!C!C For a Fortran90 module
the resulting file!should work for both Fortran and Fortran!If your Fortran compiler supports!for 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
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License **** Copyright