Blame doc/mansrc/mpiconsts.txt

Packit 0848f5
This file contains the raw material for a file of the MPI defined
Packit 0848f5
constants
Packit 0848f5
Packit 0848f5
The data could be organized to look like an enum - or add something to
Packit 0848f5
doctext that say "make each value in a list into an index entry to the
Packit 0848f5
same page.
Packit 0848f5
Packit 0848f5
Doctext could also use a way to include an index to the corresponding
Packit 0848f5
page in the standard, perhaps by using an *input* index file (generated,
Packit 0848f5
perhaps, from the index entries in the LaTeX for the definition index entry).
Packit 0848f5
Packit 0848f5
Needs to be updated for MPI-2 and MPI-3
Packit 0848f5
Packit 0848f5
/*N Datatypes
Packit 0848f5
   Data types:
Packit 0848f5
   Note that the Fortran types should only be used in Fortran programs,
Packit 0848f5
   and the C types should only be used in C programs.  For example,
Packit 0848f5
   it is in error to use 'MPI_INT' for a Fortran INTEGER.
Packit 0848f5
   Datatypes are of type 'MPI_Datatype' in C, type 'INTEGER' in Fortran,
Packit 0848f5
   and 'Type(MPI_Datatype)' in Fortran08
Packit 0848f5
N*/
Packit 0848f5
Packit 0848f5
We may want to enlarge on some of these.  For example, the description of
Packit 0848f5
communicators could include information from the standard, and/or links to the
Packit 0848f5
standard.
Packit 0848f5
Packit 0848f5
/*D
Packit 0848f5
   Constants - Meaning of MPI''s defined constants
Packit 0848f5
Packit 0848f5
.N Datatypes
Packit 0848f5
Packit 0848f5
   C datatypes:
Packit 0848f5
+I  MPI_CHAR - char
Packit 0848f5
.  MPI_SIGNED_CHAR - signed char
Packit 0848f5
.  MPI_UNSIGNED_CHAR - unsigned char
Packit 0848f5
.  MPI_BYTE - See standard; like unsigned char
Packit 0848f5
.  MPI_WCHAR - wide character (wchar_t)
Packit 0848f5
.  MPI_SHORT - short
Packit 0848f5
.  MPI_UNSIGNED_SHORT - unsigned short
Packit 0848f5
.  MPI_INT   - int
Packit 0848f5
.  MPI_UNSIGNED - unsigned int
Packit 0848f5
.  MPI_LONG - long
Packit 0848f5
.  MPI_UNSIGNED_LONG - unsigned long
Packit 0848f5
.  MPI_LONG_LONG_INT - long long
Packit 0848f5
.  MPI_LONG_LONG - synonyn for 'MPI_LONG_LONG_INT'
Packit 0848f5
.  MPI_UNSIGNED_LONG_LONG - unsigned long long
Packit 0848f5
.  MPI_FLOAT - float
Packit 0848f5
.  MPI_DOUBLE - double
Packit 0848f5
.  MPI_LONG_DOUBLE  - long double (some systems may not implement this)
Packit 0848f5
.  MPI_INT8_T  - int8_t
Packit 0848f5
.  MPI_INT16_T - int16_t
Packit 0848f5
.  MPI_INT32_T - int32_t
Packit 0848f5
.  MPI_INT64_T - int64_t
Packit 0848f5
.  MPI_UINT8_T  - uint8_t
Packit 0848f5
.  MPI_UINT16_T - uint16_t
Packit 0848f5
.  MPI_UINT32_T - uint32_t
Packit 0848f5
.  MPI_UINT64_T - uint64_t
Packit 0848f5
.  MPI_C_BOOL -  _Bool
Packit 0848f5
.  MPI_C_FLOAT_COMPLEX - float _Complex
Packit 0848f5
.  MPI_C_COMPLEX - float _Complex
Packit 0848f5
.  MPI_C_DOUBLE_COMPLEX - double _Complex
Packit 0848f5
-  MPI_C_LONG_DOUBLE_COMPLEX - long double _Complex
Packit 0848f5
Packit 0848f5
Packit 0848f5
   The following are datatypes for the MPI functions 'MPI_MAXLOC' and
Packit 0848f5
   'MPI_MINLOC'.
Packit 0848f5
+I  MPI_FLOAT_INT - 'struct { float, int }'
Packit 0848f5
.  MPI_LONG_INT  - 'struct { long, int }'
Packit 0848f5
.  MPI_DOUBLE_INT - 'struct { double, int }'
Packit 0848f5
.  MPI_SHORT_INT  - 'struct { short, int }'
Packit 0848f5
.  MPI_2INT       - 'struct { int, int }'
Packit 0848f5
-  MPI_LONG_DOUBLE_INT - 'struct { long double, int }'; this
Packit 0848f5
  is an `optional` type, and may be set to 'MPI_DATATYPE_NULL'
Packit 0848f5
Packit 0848f5
Packit 0848f5
   Special datatypes for C and Fortran
Packit 0848f5
+I MPI_PACKED - For 'MPI_Pack' and 'MPI_Unpack'
Packit 0848f5
. MPI_UB - For 'MPI_Type_struct'; an upper-bound indicator.  Removed in MPI 3
Packit 0848f5
- MPI_LB - For 'MPI_Type_struct'; a lower-bound indicator. Removed in MPI 3
Packit 0848f5
Packit 0848f5
  Fortran datatypes:
Packit 0848f5
+I MPI_REAL - 'REAL'
Packit 0848f5
. MPI_INTEGER - 'INTEGER'
Packit 0848f5
. MPI_LOGICAL - 'LOGICAL'
Packit 0848f5
. MPI_DOUBLE_PRECISION - 'DOUBLE PRECISION'
Packit 0848f5
. MPI_COMPLEX - 'COMPLEX'
Packit 0848f5
- MPI_DOUBLE_COMPLEX - 'complex*16' (or 'complex*32') where supported.
Packit 0848f5
Packit 0848f5
  The following datatypes are optional
Packit 0848f5
+I MPI_INTEGER1  - 'integer*1' if supported
Packit 0848f5
. MPI_INTEGER2  - 'integer*2' if supported
Packit 0848f5
. MPI_INTEGER4  - 'integer*4' if supported
Packit 0848f5
. MPI_INTEGER8  - 'integer*8' if supported
Packit 0848f5
. MPI_INTEGER16 - 'integer*16' if supported
Packit 0848f5
. MPI_REAL4     - 'real*4' if supported
Packit 0848f5
- MPI_REAL8     - 'real*8' if supported
Packit 0848f5
. MPI_REAL16    - 'real*16' if supported
Packit 0848f5
. MPI_COMPLEX8  - 'complex*8' if supported
Packit 0848f5
. MPI_COMPLEX16 - 'complex*16' if supported
Packit 0848f5
- MPI_COMPLEX32 - 'complex*32' if supported
Packit 0848f5
Packit 0848f5
   The following are datatypes for the MPI functions 'MPI_MAXLOC' and
Packit 0848f5
   'MPI_MINLOC'.  In Fortran, these datatype always consist of
Packit 0848f5
   two elements of the same Fortran type.
Packit 0848f5
+I MPI_2INTEGER - 'INTEGER,INTEGER'
Packit 0848f5
. MPI_2REAL    - 'REAL, REAL'
Packit 0848f5
- MPI_2DOUBLE_PRECISION - 'DOUBLE PRECISION, DOUBLE PRECISION'
Packit 0848f5
Packit 0848f5
 MPI Datatypes for MPI Types
Packit 0848f5
+I MPI_AINT - Datatype for an 'MPI_Aint'
Packit 0848f5
. MPI_OFFSET - Datatype for an 'MPI_Offset'
Packit 0848f5
- MPI_COUNT - Datatype for an 'MPI_Count'
Packit 0848f5
Packit 0848f5
 MPI Datatype Combiner Names:
Packit 0848f5
+I MPI_COMBINER_NAMED            - a named predefined datatype
Packit 0848f5
. MPI_COMBINER_DUP              - MPI_TYPE_DUP
Packit 0848f5
. MPI_COMBINER_CONTIGUOUS       - MPI_TYPE_CONTIGUOUS
Packit 0848f5
. MPI_COMBINER_VECTOR           - MPI_TYPE_VECTOR
Packit 0848f5
. MPI_COMBINER_HVECTOR_INTEGER  - Removed in MPI-3
Packit 0848f5
. MPI_COMBINER_HVECTOR          - MPI_TYPE_CREATE_HVECTOR
Packit 0848f5
. MPI_COMBINER_INDEXED          - MPI_TYPE_INDEXED
Packit 0848f5
. MPI_COMBINER_HINDEXED_INTEGER - Removed in MPI-3
Packit 0848f5
. MPI_COMBINER_HINDEXED         - MPI_TYPE_CREATE_HINDEXED
Packit 0848f5
. MPI_COMBINER_INDEXED_BLOCK    - MPI_TYPE_CREATE_INDEXED_BLOCK
Packit 0848f5
. MPI_COMBINER_STRUCT_INTEGER   - Removed in MPI-3
Packit 0848f5
. MPI_COMBINER_STRUCT           - MPI_TYPE_CREATE_STRUCT
Packit 0848f5
. MPI_COMBINER_SUBARRAY         - MPI_TYPE_CREATE_SUBARRAY
Packit 0848f5
. MPI_COMBINER_DARRAY           - MPI_TYPE_CREATE_DARRAY
Packit 0848f5
. MPI_COMBINER_F90_REAL         - MPI_TYPE_CREATE_F90_REAL
Packit 0848f5
. MPI_COMBINER_F90_COMPLEX      - MPI_TYPE_CREATE_F90_COMPLEX
Packit 0848f5
. MPI_COMBINER_F90_INTEGER      - MPI_TYPE_CREATE_F90_INTEGER
Packit 0848f5
. MPI_COMBINER_RESIZED          - MPI_TYPE_CREATE_RESIZED
Packit 0848f5
- MPI_COMBINER_HINDEXED_BLOCK   - MPI_TYPE_CREATE_HINDEXED_BLOCK
Packit 0848f5
Packit 0848f5
 MPI Datatype Type Classes:
Packit 0848f5
 MPI Type classes used with routines to return Fortran types with defined
Packit 0848f5
 precision and range
Packit 0848f5
+I MPI_TYPECLASS_REAL    - 'REAL'
Packit 0848f5
. MPI_TYPECLASS_INTEGER - 'INTEGER'
Packit 0848f5
- MPI_TYPECLASS_COMPLEX - 'COMPLEX'
Packit 0848f5
Packit 0848f5
 MPI Darray and Subarray Values:
Packit 0848f5
 These values are used to create a datatype with the 'DARRAY' and 'SUBARRAY'
Packit 0848f5
 constructors.
Packit 0848f5
+I MPI_ORDER_C              - Row-major order (as used by C)
Packit 0848f5
. MPI_ORDER_FORTRAN        - Column-major order (as used by Fortran)
Packit 0848f5
. MPI_DISTRIBUTE_BLOCK     - Block distribution
Packit 0848f5
. MPI_DISTRIBUTE_CYCLIC    - Cyclic distribution
Packit 0848f5
. MPI_DISTRIBUTE_NONE      - This dimension is not distributed
Packit 0848f5
- MPI_DISTRIBUTE_DFLT_DARG - Use the default distribution
Packit 0848f5
Packit 0848f5
 Communicators:
Packit 0848f5
 Communicators are of type 'MPI_Comm' in C, 'INTEGER' in Fortran, and
Packit 0848f5
 'Type(MPI_Comm)' in Fortran08
Packit 0848f5
+I MPI_COMM_WORLD - Contains all of the processes
Packit 0848f5
- MPI_COMM_SELF - Contains only the calling process
Packit 0848f5
Packit 0848f5
 Kind of communicator for 'MPI_COMM_SPLIT_TYPE':
Packit 0848f5
.I MPI_COMM_TYPE_SHARED - All processes that can share memory are grouped into
Packit 0848f5
 the same communicator.
Packit 0848f5
Packit 0848f5
 Groups:
Packit 0848f5
 Groups are of type 'MPI_Group' in C, 'INTEGER' in Fortran,
Packit 0848f5
 and 'Type(MPI_Group)' in Fortran08
Packit 0848f5
Packit 0848f5
.I MPI_GROUP_EMPTY - A group containing no members.
Packit 0848f5
Packit 0848f5
   Results of the compare operations on groups and communicators:
Packit 0848f5
+I  MPI_IDENT - Identical
Packit 0848f5
.  MPI_CONGRUENT  - (only for 'MPI_COMM_COMPARE') The groups are identical
Packit 0848f5
.  MPI_SIMILAR - Same members, but in a different order
Packit 0848f5
-  MPI_UNEQUAL - Different
Packit 0848f5
Packit 0848f5
Packit 0848f5
 Collective operations:
Packit 0848f5
 The collective combination operations (e.g., 'MPI_REDUCE', 'MPI_ALLREDUCE',
Packit 0848f5
 'MPI_REDUCE_SCATTER', and 'MPI_SCAN') take a combination operation.
Packit 0848f5
 This operation is of type 'MPI_Op' in C and of type 'INTEGER' in Fortran.
Packit 0848f5
 The predefined operations are
Packit 0848f5
Packit 0848f5
+I  MPI_MAX - return the maximum
Packit 0848f5
.  MPI_MIN - return the minumum
Packit 0848f5
.  MPI_SUM - return the sum
Packit 0848f5
.  MPI_PROD - return the product
Packit 0848f5
.  MPI_LAND - return the logical and
Packit 0848f5
.  MPI_BAND - return the bitwise and
Packit 0848f5
.  MPI_LOR - return the logical or
Packit 0848f5
.  MPI_BOR - return the bitwise of
Packit 0848f5
.  MPI_LXOR - return the logical exclusive or
Packit 0848f5
.  MPI_BXOR - return the bitwise exclusive or
Packit 0848f5
.  MPI_MINLOC - return the minimum and the location (actually, the value of
Packit 0848f5
                the second element of the structure where the minimum of
Packit 0848f5
                the first is found)
Packit 0848f5
.  MPI_MAXLOC - return the maximum and the location
Packit 0848f5
.  MPI_REPLACE - replace b with a
Packit 0848f5
-  MPI_NO_OP - perform no operation
Packit 0848f5
Packit 0848f5
Notes on collective operations:
Packit 0848f5
Packit 0848f5
The reduction functions ('MPI_Op') do not return an error value.  As a result,
Packit 0848f5
if the functions detect an error, all they can do is either call 'MPI_Abort'
Packit 0848f5
or silently skip the problem.  Thus, if you change the error handler from
Packit 0848f5
'MPI_ERRORS_ARE_FATAL' to something else, for example, 'MPI_ERRORS_RETURN',
Packit 0848f5
then no error may be indicated.
Packit 0848f5
Packit 0848f5
The reason for this is the performance problems in ensuring that
Packit 0848f5
all collective routines return the same error value.
Packit 0848f5
Packit 0848f5
Note that not all datatypes are valid for these functions.  For example,
Packit 0848f5
'MPI_COMPLEX' is not valid for 'MPI_MAX' and 'MPI_MIN'.  In addition, the MPI
Packit 0848f5
1.1 standard did not include the C types 'MPI_CHAR' and 'MPI_UNSIGNED_CHAR'
Packit 0848f5
among the lists of arithmetic types for operations like 'MPI_SUM'.  However,
Packit 0848f5
since the C type 'char' is an integer type (like 'short'), it should have been
Packit 0848f5
included.  The MPI Forum will probably include 'char' and 'unsigned char'
Packit 0848f5
as a clarification to MPI 1.1; until then, users are advised that MPI
Packit 0848f5
implementations may not accept 'MPI_CHAR' and 'MPI_UNSIGNED_CHAR' as valid
Packit 0848f5
datatypes for 'MPI_SUM', 'MPI_PROD', etc.  MPICH does allow these datatypes.
Packit 0848f5
Packit 0848f5
 Permanent key values:
Packit 0848f5
 These are the same in C and Fortran
Packit 0848f5
Packit 0848f5
+I MPI_TAG_UB - Largest tag value
Packit 0848f5
. MPI_HOST - Rank of process that is host, if any
Packit 0848f5
. MPI_IO - Rank of process that can do I/O
Packit 0848f5
. MPI_WTIME_IS_GLOBAL - Has value 1 if 'MPI_WTIME' is globally synchronized.
Packit 0848f5
. MPI_UNIVERSE_SIZE - Number of available processes.  See the standard for
Packit 0848f5
   a description of limitations on this value
Packit 0848f5
. MPI_LASTUSEDCODE - Last used MPI error code (check - code or class?)
Packit 0848f5
- MPI_APPNUM - Application number, starting from 0.  See the standard for
Packit 0848f5
 'MPI_COMM_SPAWN_MULTIPLE' and 'mpiexec' for details
Packit 0848f5
Packit 0848f5
  Null objects:
Packit 0848f5
+I  MPI_COMM_NULL          - Null communicator
Packit 0848f5
.  MPI_OP_NULL            - Null operation
Packit 0848f5
.  MPI_GROUP_NULL         - Null group
Packit 0848f5
.  MPI_DATATYPE_NULL      - Null datatype
Packit 0848f5
.  MPI_REQUEST_NULL       - Null request
Packit 0848f5
.  MPI_ERRHANDLER_NULL    - Null error handler
Packit 0848f5
.  MPI_WIN_NULL           - Null window handle
Packit 0848f5
.  MPI_FILE_NULL          - Null file handle
Packit 0848f5
.  MPI_INFO_NULL          - Null info handle
Packit 0848f5
.  MPI_MESSAGE_NULL       - Null message handle
Packit 0848f5
.  MPI_ARGV_NULL          - Empty ARGV value for spawn commands
Packit 0848f5
.  MPI_ARGVS_NULL         - Empty ARGV array for spawn-multiple command
Packit 0848f5
.  MPI_T_ENUM_NULL        - Null MPI_T enum
Packit 0848f5
.  MPI_T_CVAR_HANDLE_NULL - Null MPI_T control variable handle
Packit 0848f5
.  MPI_T_PVAR_HANDLE_NULL - Null MPI_T performance variable handle
Packit 0848f5
-  MPI_T_PVAR_SESSION_NULL- Null MPI_T performance variable session handle
Packit 0848f5
Packit 0848f5
 Predefined Constants:
Packit 0848f5
+I MPI_MAX_PROCESSOR_NAME         - Maximum length of name returned by
Packit 0848f5
 'MPI_GET_PROCESSOR_NAME'
Packit 0848f5
. MPI_MAX_ERROR_STRING           - Maximum length of string return by
Packit 0848f5
 'MPI_ERROR_STRING'
Packit 0848f5
. MPI_MAX_LIBRARY_VERSION_STRING - Maximum length of string returned by
Packit 0848f5
 'MPI_GET_LIBRARY_VERSION_STRING'???
Packit 0848f5
. MPI_MAX_PORT_NAME              - Maximum length of a port
Packit 0848f5
. MPI_MAX_OBJECT_NAME            - Maximum length of an object (?)
Packit 0848f5
. MPI_MAX_INFO_KEY               - Maximum length of an info key
Packit 0848f5
. MPI_MAX_INFO_VAL               - Maximum length of an info value
Packit 0848f5
. MPI_UNDEFINED                  - Used by many routines to indicated
Packit 0848f5
  undefined or unknown integer value
Packit 0848f5
. MPI_UNDEFINED_RANK             - Unknown rank
Packit 0848f5
. MPI_KEYVAL_INVALID             - Special keyval that may be used to detect
Packit 0848f5
   uninitialized keyvals.
Packit 0848f5
. MPI_BSEND_OVERHEAD             - Add this to the size of a 'MPI_BSEND'
Packit 0848f5
   buffer for each outstanding message
Packit 0848f5
. MPI_PROC_NULL                  - This rank may be used to send or receive from no-one.
Packit 0848f5
. MPI_ANY_SOURCE                 - In a receive, accept a message from anyone.
Packit 0848f5
. MPI_ANY_TAG                    - In a receive, accept a message with any tag value.
Packit 0848f5
. MPI_BOTTOM                     - May be used to indicate the bottom of the address space
Packit 0848f5
. MPI_IN_PLACE                   - Special location for buffer in some
Packit 0848f5
  collective communication routines
Packit 0848f5
. MPI_VERSION                    - Numeric value of MPI version (e.g., 3)
Packit 0848f5
- MPI_SUBVERSION                 - Numeric value of MPI subversion (e.g., 1)
Packit 0848f5
Packit 0848f5
  Topology types:
Packit 0848f5
+I MPI_CART       - Cartesian grid
Packit 0848f5
. MPI_GRAPH      - General graph
Packit 0848f5
- MPI_DIST_GRAPH - General distributed graph
Packit 0848f5
Packit 0848f5
  Special values for distributed graph:
Packit 0848f5
+I MPI_UNWEIGHTED    - Indicates that the edges are unweighted
Packit 0848f5
- MPI_WEIGHTS_EMPTY - Special address that indicates no array of weights
Packit 0848f5
 information
Packit 0848f5
Packit 0848f5
 File Modes:
Packit 0848f5
+I MPI_MODE_RDONLY          - Read only
Packit 0848f5
. MPI_MODE_RDWR            - Read and write
Packit 0848f5
. MPI_MODE_WRONLY          - Write only
Packit 0848f5
. MPI_MODE_CREATE          - Create the file if it does not exist
Packit 0848f5
. MPI_MODE_EXCL            - It is an error if creating a file that already
Packit 0848f5
 exists
Packit 0848f5
. MPI_MODE_DELETE_ON_CLOSE - Delete the file on close
Packit 0848f5
. MPI_MODE_UNIQUE_OPEN     - The file will not be concurrently opened elsewhere
Packit 0848f5
. MPI_MODE_APPEND          - The initial position of all file pointers is at
Packit 0848f5
 the end of the file
Packit 0848f5
- MPI_MODE_SEQUENTIAL      - File will only be accessed sequentially
Packit 0848f5
Packit 0848f5
 File Displacement:
Packit 0848f5
.I MPI_DISPLACEMENT_CURRENT - Use with files opened with mode
Packit 0848f5
 'MPI_MODE_SEQUENTIAL' in calls to 'MPI_FILE_SET_VIEW'
Packit 0848f5
Packit 0848f5
File Positioning:
Packit 0848f5
+I MPI_SEEK_SET             - Set the pointer to 'offset'
Packit 0848f5
. MPI_SEEK_CUR             - Set the pointer to the current position plus 'offset'
Packit 0848f5
- MPI_SEEK_END             - Set the pointer to the end of the file plus 'offset'
Packit 0848f5
Packit 0848f5
Window attributes:
Packit 0848f5
+I MPI_WIN_BASE - window base address.
Packit 0848f5
. MPI_WIN_SIZE - window size, in bytes
Packit 0848f5
. MPI_WIN_DISP_UNIT - displacement unit associated with the window
Packit 0848f5
. MPI_WIN_CREATE_FLAVOR - how the window was created
Packit 0848f5
- MPI_WIN_MODEL - memory model for window
Packit 0848f5
Packit 0848f5
Window flavors:
Packit 0848f5
+I MPI_WIN_FLAVOR_CREATE   - Window was created with MPI_WIN_CREATE.
Packit 0848f5
. MPI_WIN_FLAVOR_ALLOCATE - Window was created with MPI_WIN_ALLOCATE.
Packit 0848f5
. MPI_WIN_FLAVOR_DYNAMIC  - Window was created with MPI_WIN_CREATE_DYNAMIC.
Packit 0848f5
- MPI_WIN_FLAVOR_SHARED   - Window was created with MPI_WIN_ALLOCATE_SHARED.
Packit 0848f5
Packit 0848f5
Window Memory Model:
Packit 0848f5
+I MPI_WIN_SEPARATE - Separate public and private copies of window memory
Packit 0848f5
- MPI_WIN_UNIFIED - The publich and private copies are identical (by which
Packit 0848f5
 we mean that updates are eventually observed without additional RMA operations)
Packit 0848f5
Packit 0848f5
Window Lock Types:
Packit 0848f5
+I MPI_LOCK_EXCLUSIVE - Only one process at a time will execute accesses
Packit 0848f5
 within the lock
Packit 0848f5
- MPI_LOCK_SHARED - Not exclusive; multiple processes may execute accesses
Packit 0848f5
 within the lock
Packit 0848f5
Packit 0848f5
Window Assertions:
Packit 0848f5
 See section 11.5 in MPI 3.1 for a detailed description of each of these
Packit 0848f5
 assertion values.
Packit 0848f5
+I MPI_MODE_NOCHECK      - The matching calls to MPI_WIN_POST or MPI_WIN_START
Packit 0848f5
 have already completed, or no process holds or will attempt to acquire, a
Packit 0848f5
 conflicting lock.
Packit 0848f5
. MPI_MODE_NOSTORE      - The local window has not been updated by stores
Packit 0848f5
 since the last synchronization
Packit 0848f5
. MPI_MODE_NOPUT        - The local window will not be updated by put or
Packit 0848f5
 accumulate until the next synchronization
Packit 0848f5
. MPI_MODE_NOPRECEDE    - The fence does not complete any locally issued RMA
Packit 0848f5
 calls
Packit 0848f5
- MPI_MODE_NOSUCCEED    - The fence does not start any locally issued RMA calls
Packit 0848f5
Packit 0848f5
Predefined Info Object:
Packit 0848f5
.I MPI_INFO_ENV - Contains the execution environment
Packit 0848f5
Packit 0848f5
 MPI Status:
Packit 0848f5
 The 'MPI_Status' datatype is a structure in C.  The three elements for use
Packit 0848f5
 by programmers are
Packit 0848f5
+I  MPI_SOURCE - Who sent the message
Packit 0848f5
.  MPI_TAG - What tag the message was sent with
Packit 0848f5
-  MPI_ERROR - Any error return (only when the error returned by the routine
Packit 0848f5
  has error class 'MPI_ERR_IN_STATUS')
Packit 0848f5
Packit 0848f5
+I MPI_STATUS_IGNORE   - Ignore a single 'MPI_Status' argument
Packit 0848f5
- MPI_STATUSES_IGNORE - Ignore an array of 'MPI_Status'
Packit 0848f5
Packit 0848f5
Special value for error codes array:
Packit 0848f5
.I MPI_ERRCODES_IGNORE - Ignore an array of error codes
Packit 0848f5
Packit 0848f5
 MPI_T Constants:
Packit 0848f5
+I    MPI_T_VERBOSITY_USER_BASIC     - Basic information of interest to users
Packit 0848f5
.    MPI_T_VERBOSITY_USER_DETAIL    - Detailed information of interest to users
Packit 0848f5
.    MPI_T_VERBOSITY_USER_ALL       - All remaining information of interest to users
Packit 0848f5
.    MPI_T_VERBOSITY_TUNER_BASIC    - Basic information required for tuning
Packit 0848f5
.    MPI_T_VERBOSITY_TUNER_DETAIL   - Detailed information required for tuning
Packit 0848f5
.    MPI_T_VERBOSITY_TUNER_ALL      - All remaining information required for tuning
Packit 0848f5
.    MPI_T_VERBOSITY_MPIDEV_BASIC   - Basic information for MPI implementors
Packit 0848f5
Packit 0848f5
Packit 0848f5
.    MPI_T_VERBOSITY_MPIDEV_DETAIL  - Detailed information for MPI implementors
Packit 0848f5
.    MPI_T_VERBOSITY_MPIDEV_ALL     - All remaining information for MPI implementors
Packit 0848f5
.    MPI_T_BIND_NO_OBJECT           - Applies globally to entire MPI process
Packit 0848f5
.    MPI_T_BIND_MPI_COMM            - MPI communicators
Packit 0848f5
.    MPI_T_BIND_MPI_DATATYPE        - MPI datatypes
Packit 0848f5
.    MPI_T_BIND_MPI_ERRHANDLER      - MPI error handlers
Packit 0848f5
.    MPI_T_BIND_MPI_FILE            - MPI file handles
Packit 0848f5
.    MPI_T_BIND_MPI_GROUP           - MPI groups
Packit 0848f5
.    MPI_T_BIND_MPI_OP              - MPI reduction operators
Packit 0848f5
.    MPI_T_BIND_MPI_REQUEST         - MPI requests
Packit 0848f5
.    MPI_T_BIND_MPI_WIN             - MPI windows for one-sided communication
Packit 0848f5
.    MPI_T_BIND_MPI_MESSAGE         - MPI message object
Packit 0848f5
.    MPI_T_BIND_MPI_INFO            - MPI info object
Packit 0848f5
.    MPI_T_SCOPE_CONSTANT           -read-only, value is constant
Packit 0848f5
.    MPI_T_SCOPE_READONLY           - read-only, cannot be written, but can
Packit 0848f5
 change
Packit 0848f5
.    MPI_T_SCOPE_LOCAL              - may be writeable, writing is a local
Packit 0848f5
 operation
Packit 0848f5
.    MPI_T_SCOPE_GROUP              - may be writeable, must be done to a
Packit 0848f5
 group of processes, all processes in a group must be set to consistent values
Packit 0848f5
.    MPI_T_SCOPE_GROUP_EQ           - may be writeable, must be done to a
Packit 0848f5
 group of processes, all processes in a group must be set to the same value
Packit 0848f5
.    MPI_T_SCOPE_ALL                - may be writeable, must be done to all
Packit 0848f5
 processes, all connected processes must be set to consistent values
Packit 0848f5
.    MPI_T_SCOPE_ALL_EQ             - may be writeable, must be done to all
Packit 0848f5
 processes, all connected processes must be set to the same value
Packit 0848f5
.    MPI_T_PVAR_CLASS_STATE         - set of discrete states (MPI_INT)
Packit 0848f5
.    MPI_T_PVAR_CLASS_LEVEL         - utilization level of a resource
Packit 0848f5
.    MPI_T_PVAR_CLASS_SIZE          - size of a resource
Packit 0848f5
.    MPI_T_PVAR_CLASS_PERCENTAGE    - percentage utilization of a resource
Packit 0848f5
.    MPI_T_PVAR_CLASS_HIGHWATERMARK - high watermark of a resource
Packit 0848f5
.    MPI_T_PVAR_CLASS_LOWWATERMARK  - low watermark of a resource
Packit 0848f5
.    MPI_T_PVAR_CLASS_COUNTER       - number of occurances of an event
Packit 0848f5
.    MPI_T_PVAR_CLASS_AGGREGATE     - aggregate value over an event (e.g.,
Packit 0848f5
 sum of all memory allocations)
Packit 0848f5
.    MPI_T_PVAR_CLASS_TIMER         - aggretate time spent executing event
Packit 0848f5
-    MPI_T_PVAR_CLASS_GENERIC       - used for any other time of performance
Packit 0848f5
 variable
Packit 0848f5
Packit 0848f5
 Thread levels:
Packit 0848f5
+I MPI_THREAD_SINGLE     - Only one thread executes
Packit 0848f5
. MPI_THREAD_FUNNELED   - Only the main thread makes MPI calls
Packit 0848f5
. MPI_THREAD_SERIALIZED - Only one thread at a time makes MPI calls
Packit 0848f5
- MPI_THREAD_MULTIPLE   - Multiple threads may make MPI calls
Packit 0848f5
Packit 0848f5
 Special MPI types and functions:
Packit 0848f5
Packit 0848f5
+I MPI_Aint   - C type that holds any valid address.
Packit 0848f5
. MPI_Count  - C type that holds any valid count.
Packit 0848f5
. MPI_Offset - C type that holds any valid file offset.
Packit 0848f5
. MPI_Handler_function - C function for handling errors (see
Packit 0848f5
 'MPI_Errhandler_create') .
Packit 0848f5
. MPI_User_function - C function to combine values (see collective operations
Packit 0848f5
 and 'MPI_Op_create')
Packit 0848f5
. MPI_Copy_function - Function to copy attributes (see 'MPI_Keyval_create')
Packit 0848f5
. MPI_Delete_function - Function to delete attributes (see 'MPI_Keyval_create')
Packit 0848f5
. MPI_ERRORS_ARE_FATAL - Error handler that forces exit on error
Packit 0848f5
- MPI_ERRORS_RETURN - Error handler that returns error codes (as value of
Packit 0848f5
 MPI routine in C and through last argument in Fortran)
Packit 0848f5
Packit 0848f5
 MPI Attribute Default Functions:
Packit 0848f5
+I MPI_COMM_NULL_COPY_FN - Predefined attribute copy function for communicators
Packit 0848f5
. MPI_COMM_NULL_DELETE_FN - Predefined attribute delete function for communicators
Packit 0848f5
. MPI_COMM_DUP_FN  - Predefined attribute duplicate function for communicators
Packit 0848f5
. MPI_WIN_NULL_COPY_FN - Predefined attribute copy function for windows
Packit 0848f5
. MPI_WIN_NULL_DELETE_FN - Predefined attribute delete function for windows
Packit 0848f5
. MPI_WIN_DUP_FN   - Predefined attribute duplicate function for windows
Packit 0848f5
. MPI_TYPE_NULL_COPY_FN - Predefined attribute copy function for datatypes
Packit 0848f5
. MPI_TYPE_NULL_DELETE_FN - Predefined attribute delete function for datatypes
Packit 0848f5
- MPI_TYPE_DUP_FN - Predefined attribute duplicate function for datatypes
Packit 0848f5
Packit 0848f5
 MPI-1 Attribute Default Functions:
Packit 0848f5
+I MPI_NULL_COPY_FN - Predefined copy function
Packit 0848f5
. MPI_NULL_DELETE_FN - Predefined delete function
Packit 0848f5
- MPI_DUP_FN - Predefined duplication function
Packit 0848f5
Packit 0848f5
 MPI Error classes:
Packit 0848f5
+I   MPI_SUCCESS               - Successful return code
Packit 0848f5
.   MPI_ERR_BUFFER            - Invalid buffer pointer
Packit 0848f5
.   MPI_ERR_COUNT             - Invalid count argument
Packit 0848f5
.   MPI_ERR_TYPE              - Invalid datatype argument
Packit 0848f5
.   MPI_ERR_TAG               - Invalid tag argument
Packit 0848f5
.   MPI_ERR_COMM              - Invalid communicator
Packit 0848f5
.   MPI_ERR_RANK              - Invalid rank
Packit 0848f5
.   MPI_ERR_ROOT              - Invalid root
Packit 0848f5
.   MPI_ERR_GROUP             - Null group passed to function
Packit 0848f5
.   MPI_ERR_OP                - Invalid operation
Packit 0848f5
.   MPI_ERR_TOPOLOGY          - Invalid topology
Packit 0848f5
.   MPI_ERR_DIMS              - Illegal dimension argument
Packit 0848f5
.   MPI_ERR_ARG               - Invalid argument
Packit 0848f5
.   MPI_ERR_UNKNOWN           - Unknown error
Packit 0848f5
.   MPI_ERR_TRUNCATE          - Message truncated on receive
Packit 0848f5
.   MPI_ERR_OTHER             - Other error; use Error_string
Packit 0848f5
.   MPI_ERR_INTERN            - Internal error code
Packit 0848f5
.   MPI_ERR_IN_STATUS         - Look in status for error value
Packit 0848f5
.   MPI_ERR_PENDING           - Pending request
Packit 0848f5
.   MPI_ERR_REQUEST           - Invalid mpi_request handle
Packit 0848f5
.   MPI_ERR_ACCESS            - Permission denied
Packit 0848f5
.   MPI_ERR_AMODE             - Error related to the amode passed to
Packit 0848f5
 'MPI_FILE_OPEN'
Packit 0848f5
.   MPI_ERR_BAD_FILE          - Invalid file name (e.g., path name too long)
Packit 0848f5
.   MPI_ERR_CONVERSION        - An error occurred in a user supplied data
Packit 0848f5
 conversion function
Packit 0848f5
.   MPI_ERR_DUP_DATAREP       - Conversion functions could not be registered
Packit 0848f5
 because a data representation identifier that was already defined was passed
Packit 0848f5
 to 'MPI_REGISTER_DATAREP'
Packit 0848f5
.   MPI_ERR_FILE_EXISTS       - File exists
Packit 0848f5
.   MPI_ERR_FILE_IN_USE       - File operation could not be completed, as
Packit 0848f5
 the file is currently open by some process
Packit 0848f5
.   MPI_ERR_FILE              - Invalid file handle
Packit 0848f5
.   MPI_ERR_IO                - Other I/O error
Packit 0848f5
.   MPI_ERR_NO_SPACE          - Not enough space
Packit 0848f5
.   MPI_ERR_NO_SUCH_FILE      - File does not exist
Packit 0848f5
.   MPI_ERR_READ_ONLY         - Read-only file or file system
Packit 0848f5
.   MPI_ERR_UNSUPPORTED_DATAREP - Unsupported datarep passed to
Packit 0848f5
 'MPI_FILE_SET_VIEW'
Packit 0848f5
.   MPI_ERR_INFO              - Invalid info argument
Packit 0848f5
.   MPI_ERR_INFO_KEY          - Key longer than MPI_MAX_INFO_KEY
Packit 0848f5
.   MPI_ERR_INFO_VALUE        - Value longer than MPI_MAX_INFO_VAL
Packit 0848f5
.   MPI_ERR_INFO_NOKEY        - Invalid key passed to MPI_INFO_DELETE
Packit 0848f5
.   MPI_ERR_NAME              - Invalid service name passed to MPI_LOOKUP_NAME
Packit 0848f5
.   MPI_ERR_NO_MEM            - Alloc_mem could not allocate memory
Packit 0848f5
.   MPI_ERR_NOT_SAME          - Collective argument not identical on all
Packit 0848f5
 processes, or collective routines called in a different order by different
Packit 0848f5
 processes
Packit 0848f5
.   MPI_ERR_PORT              - Invalid port name passed to MPI_COMM_CONNECT
Packit 0848f5
.   MPI_ERR_QUOTA             - Quota exceeded
Packit 0848f5
.   MPI_ERR_SERVICE           - Invalid service name passed to MPI_UNPUBLISH_NAME
Packit 0848f5
.   MPI_ERR_SPAWN             - Error in spawning processes
Packit 0848f5
.   MPI_ERR_UNSUPPORTED_OPERATION - Unsupported operation, such as seeking on
Packit 0848f5
 a file which supports sequential access only
Packit 0848f5
.   MPI_ERR_WIN               - Invalid win argument
Packit 0848f5
.   MPI_ERR_BASE              - Invalid base passed to MPI_FREE_MEM
Packit 0848f5
.   MPI_ERR_LOCKTYPE          - Invalid locktype argument
Packit 0848f5
.   MPI_ERR_KEYVAL            - Erroneous attribute key
Packit 0848f5
.   MPI_ERR_RMA_CONFLICT      - Conflicting accesses to window
Packit 0848f5
.   MPI_ERR_RMA_SYNC          - Wrong synchronization of RMA calls
Packit 0848f5
.   MPI_ERR_SIZE              - Invalid size argument
Packit 0848f5
.   MPI_ERR_DISP              - Invalid disp argument
Packit 0848f5
.   MPI_ERR_ASSERT            - Invalid assert argument
Packit 0848f5
.   MPI_ERR_RMA_RANGE         - Target memory is not part of the window (in
Packit 0848f5
 the case of a window created with MPI_WIN_CREATE_DYNAMIC, target memory is
Packit 0848f5
 not attached)
Packit 0848f5
.   MPI_ERR_RMA_ATTACH        - Memory cannot be attached (e.g., because of
Packit 0848f5
 resource exhaustion)
Packit 0848f5
.   MPI_ERR_RMA_SHARED        - Memory cannot be shared (e.g., some process in
Packit 0848f5
 the group of the specified communicator cannot expose shared memory)
Packit 0848f5
.   MPI_ERR_RMA_FLAVOR        - Passed window has the wrong flavor for the
Packit 0848f5
 called function
Packit 0848f5
-   MPI_ERR_LASTCODE          - Last error code -- always at end
Packit 0848f5
Packit 0848f5
Error codes for MPI_T:
Packit 0848f5
Packit 0848f5
+I MPI_T_ERR_MEMORY            - Out of memory
Packit 0848f5
. MPI_T_ERR_NOT_INITIALIZED   - Interface not initialized
Packit 0848f5
. MPI_T_ERR_CANNOT_INIT       - Interface not in the state to be initialized
Packit 0848f5
. MPI_T_ERR_INVALID_INDEX     - The index is invalid or has been deleted
Packit 0848f5
. MPI_T_ERR_INVALID_ITEM      - Item index queried is out of range
Packit 0848f5
. MPI_T_ERR_INVALID_HANDLE    - The handle is invalid
Packit 0848f5
. MPI_T_ERR_OUT_OF_HANDLES    - No more handles available
Packit 0848f5
. MPI_T_ERR_OUT_OF_SESSIONS   - No more sessions available
Packit 0848f5
. MPI_T_ERR_INVALID_SESSION   - Session argument is not valid
Packit 0848f5
. MPI_T_ERR_CVAR_SET_NOT_NOW  - Cvar can''t be set at this moment
Packit 0848f5
. MPI_T_ERR_CVAR_SET_NEVER    - Cvar can''t be set until end of execution
Packit 0848f5
. MPI_T_ERR_PVAR_NO_STARTSTOP - Pvar can''t be started or stopped
Packit 0848f5
. MPI_T_ERR_PVAR_NO_WRITE     - Pvar can''t be written or reset
Packit 0848f5
. MPI_T_ERR_PVAR_NO_ATOMIC    - Pvar can''t be R/W atomically
Packit 0848f5
. MPI_T_ERR_INVALID_NAME      - Name doesn''t match
Packit 0848f5
- MPI_T_ERR_INVALID           - Invalid use of the interface or bad parameter
Packit 0848f5
 values(s)
Packit 0848f5
Packit 0848f5
D*/
Packit 0848f5
Packit 0848f5