mpi4py.MPI — MPI for Python 3.1.4 documentation

# mpi4py.MPI

## Classes

Ancillary

`Datatype`([datatype]) | Datatype object
`Status`([status]) | Status object
`Request`([request]) | Request handle
`Prequest`([request]) | Persistent request handle
`Grequest`([request]) | Generalized request handle
`Op`([op]) | Operation object
`Group`([group]) | Group of processes
`Info`([info]) | Info object

Communication

`Comm`([comm]) | Communicator
`Intracomm`([comm]) | Intracommunicator
`Topocomm`([comm]) | Topology intracommunicator
`Cartcomm`([comm]) | Cartesian topology intracommunicator
`Graphcomm`([comm]) | General graph topology intracommunicator
`Distgraphcomm`([comm]) | Distributed graph topology intracommunicator
`Intercomm`([comm]) | Intercommunicator
`Message`([message]) | Matched message handle

One-sided operations

`Win`([win]) | Window handle

Input/Output

`File`([file]) | File handle

Error handling

`Errhandler`([errhandler]) | Error handler
`Exception`([ierr]) | Exception class

Auxiliary

`Pickle`([dumps, loads, protocol]) | Pickle/unpickle Python objects
`memory`(buf) | Memory buffer

## Functions

Version inquiry

`Get_version`() | Obtain the version number of the MPI standard supported by the implementation as a tuple `(version, subversion)`
`Get_library_version`() | Obtain the version string of the MPI library

Initialization and finalization

`Init`() | Initialize the MPI execution environment
`Init_thread`([required]) | Initialize the MPI execution environment
`Finalize`() | Terminate the MPI execution environment
`Is_initialized`() | Indicates whether `Init` has been called
`Is_finalized`() | Indicates whether `Finalize` has completed
`Query_thread`() | Return the level of thread support provided by the MPI library
`Is_thread_main`() | Indicate whether this thread called `Init` or `Init_thread`

Memory allocation

`Alloc_mem`(size[, info]) | Allocate memory for message passing and RMA
`Free_mem`(mem) | Free memory allocated with `Alloc_mem()`

Address manipulation

`Get_address`(location) | Get the address of a location in memory
`Aint_add`(base, disp) | Return the sum of base address and displacement
`Aint_diff`(addr1, addr2) | Return the difference between absolute addresses

Timer

`Wtick`() | Return the resolution of `Wtime`
`Wtime`() | Return an elapsed time on the calling processor

Error handling

`Get_error_class`(errorcode) | Convert an error code into an error class
`Get_error_string`(errorcode) | Return the error string for a given error class or error code
`Add_error_class`() | Add an error class to the known error classes
`Add_error_code`(errorclass) | Add an error code to an error class
`Add_error_string`(errorcode, string) | Associate an error string with an error class or errorcode

Dynamic process management

`Open_port`([info]) | Return an address that can be used to establish connections between groups of MPI processes
`Close_port`(port_name) | Close a port
`Publish_name`(service_name, port_name[, info]) | Publish a service name
`Unpublish_name`(service_name, port_name[, info]) | Unpublish a service name
`Lookup_name`(service_name[, info]) | Lookup a port name given a service name

Miscellanea

`Attach_buffer`(buf) | Attach a user-provided buffer for sending in buffered mode
`Detach_buffer`() | Remove an existing attached buffer
`Compute_dims`(nnodes, dims) | Return a balanced distribution of processes per coordinate direction
`Get_processor_name`() | Obtain the name of the calling processor
`Register_datarep`(datarep, read_fn, write_fn, ...) | Register user-defined data representations
`Pcontrol`(level) | Control profiling

Utilities

`get_vendor`() | Infomation about the underlying MPI implementation

## Attributes

`UNDEFINED` | `int` `UNDEFINED`
`ANY_SOURCE` | `int` `ANY_SOURCE`
`ANY_TAG` | `int` `ANY_TAG`
`PROC_NULL` | `int` `PROC_NULL`
`ROOT` | `int` `ROOT`
`BOTTOM` | `Bottom` `BOTTOM`
`IN_PLACE` | `InPlace` `IN_PLACE`
`KEYVAL_INVALID` | `int` `KEYVAL_INVALID`
`TAG_UB` | `int` `TAG_UB`
`HOST` | `int` `HOST`
`IO` | `int` `IO`
`WTIME_IS_GLOBAL` | `int` `WTIME_IS_GLOBAL`
`UNIVERSE_SIZE` | `int` `UNIVERSE_SIZE`
`APPNUM` | `int` `APPNUM`
`LASTUSEDCODE` | `int` `LASTUSEDCODE`
`WIN_BASE` | `int` `WIN_BASE`
`WIN_SIZE` | `int` `WIN_SIZE`
`WIN_DISP_UNIT` | `int` `WIN_DISP_UNIT`
`WIN_CREATE_FLAVOR` | `int` `WIN_CREATE_FLAVOR`
`WIN_FLAVOR` | `int` `WIN_FLAVOR`
`WIN_MODEL` | `int` `WIN_MODEL`
`SUCCESS` | `int` `SUCCESS`
`ERR_LASTCODE` | `int` `ERR_LASTCODE`
`ERR_COMM` | `int` `ERR_COMM`
`ERR_GROUP` | `int` `ERR_GROUP`
`ERR_TYPE` | `int` `ERR_TYPE`
`ERR_REQUEST` | `int` `ERR_REQUEST`
`ERR_OP` | `int` `ERR_OP`
`ERR_BUFFER` | `int` `ERR_BUFFER`
`ERR_COUNT` | `int` `ERR_COUNT`
`ERR_TAG` | `int` `ERR_TAG`
`ERR_RANK` | `int` `ERR_RANK`
`ERR_ROOT` | `int` `ERR_ROOT`
`ERR_TRUNCATE` | `int` `ERR_TRUNCATE`
`ERR_IN_STATUS` | `int` `ERR_IN_STATUS`
`ERR_PENDING` | `int` `ERR_PENDING`
`ERR_TOPOLOGY` | `int` `ERR_TOPOLOGY`
`ERR_DIMS` | `int` `ERR_DIMS`
`ERR_ARG` | `int` `ERR_ARG`
`ERR_OTHER` | `int` `ERR_OTHER`
`ERR_UNKNOWN` | `int` `ERR_UNKNOWN`
`ERR_INTERN` | `int` `ERR_INTERN`
`ERR_INFO` | `int` `ERR_INFO`
`ERR_FILE` | `int` `ERR_FILE`
`ERR_WIN` | `int` `ERR_WIN`
`ERR_KEYVAL` | `int` `ERR_KEYVAL`
`ERR_INFO_KEY` | `int` `ERR_INFO_KEY`
`ERR_INFO_VALUE` | `int` `ERR_INFO_VALUE`
`ERR_INFO_NOKEY` | `int` `ERR_INFO_NOKEY`
`ERR_ACCESS` | `int` `ERR_ACCESS`
`ERR_AMODE` | `int` `ERR_AMODE`
`ERR_BAD_FILE` | `int` `ERR_BAD_FILE`
`ERR_FILE_EXISTS` | `int` `ERR_FILE_EXISTS`
`ERR_FILE_IN_USE` | `int` `ERR_FILE_IN_USE`
`ERR_NO_SPACE` | `int` `ERR_NO_SPACE`
`ERR_NO_SUCH_FILE` | `int` `ERR_NO_SUCH_FILE`
`ERR_IO` | `int` `ERR_IO`
`ERR_READ_ONLY` | `int` `ERR_READ_ONLY`
`ERR_CONVERSION` | `int` `ERR_CONVERSION`
`ERR_DUP_DATAREP` | `int` `ERR_DUP_DATAREP`
`ERR_UNSUPPORTED_DATAREP` | `int` `ERR_UNSUPPORTED_DATAREP`
`ERR_UNSUPPORTED_OPERATION` | `int` `ERR_UNSUPPORTED_OPERATION`
`ERR_NAME` | `int` `ERR_NAME`
`ERR_NO_MEM` | `int` `ERR_NO_MEM`
`ERR_NOT_SAME` | `int` `ERR_NOT_SAME`
`ERR_PORT` | `int` `ERR_PORT`
`ERR_QUOTA` | `int` `ERR_QUOTA`
`ERR_SERVICE` | `int` `ERR_SERVICE`
`ERR_SPAWN` | `int` `ERR_SPAWN`
`ERR_BASE` | `int` `ERR_BASE`
`ERR_SIZE` | `int` `ERR_SIZE`
`ERR_DISP` | `int` `ERR_DISP`
`ERR_ASSERT` | `int` `ERR_ASSERT`
`ERR_LOCKTYPE` | `int` `ERR_LOCKTYPE`
`ERR_RMA_CONFLICT` | `int` `ERR_RMA_CONFLICT`
`ERR_RMA_SYNC` | `int` `ERR_RMA_SYNC`
`ERR_RMA_RANGE` | `int` `ERR_RMA_RANGE`
`ERR_RMA_ATTACH` | `int` `ERR_RMA_ATTACH`
`ERR_RMA_SHARED` | `int` `ERR_RMA_SHARED`
`ERR_RMA_FLAVOR` | `int` `ERR_RMA_FLAVOR`
`ORDER_C` | `int` `ORDER_C`
`ORDER_F` | `int` `ORDER_F`
`ORDER_FORTRAN` | `int` `ORDER_FORTRAN`
`TYPECLASS_INTEGER` | `int` `TYPECLASS_INTEGER`
`TYPECLASS_REAL` | `int` `TYPECLASS_REAL`
`TYPECLASS_COMPLEX` | `int` `TYPECLASS_COMPLEX`
`DISTRIBUTE_NONE` | `int` `DISTRIBUTE_NONE`
`DISTRIBUTE_BLOCK` | `int` `DISTRIBUTE_BLOCK`
`DISTRIBUTE_CYCLIC` | `int` `DISTRIBUTE_CYCLIC`
`DISTRIBUTE_DFLT_DARG` | `int` `DISTRIBUTE_DFLT_DARG`
`COMBINER_NAMED` | `int` `COMBINER_NAMED`
`COMBINER_DUP` | `int` `COMBINER_DUP`
`COMBINER_CONTIGUOUS` | `int` `COMBINER_CONTIGUOUS`
`COMBINER_VECTOR` | `int` `COMBINER_VECTOR`
`COMBINER_HVECTOR` | `int` `COMBINER_HVECTOR`
`COMBINER_INDEXED` | `int` `COMBINER_INDEXED`
`COMBINER_HINDEXED` | `int` `COMBINER_HINDEXED`
`COMBINER_INDEXED_BLOCK` | `int` `COMBINER_INDEXED_BLOCK`
`COMBINER_HINDEXED_BLOCK` | `int` `COMBINER_HINDEXED_BLOCK`
`COMBINER_STRUCT` | `int` `COMBINER_STRUCT`
`COMBINER_SUBARRAY` | `int` `COMBINER_SUBARRAY`
`COMBINER_DARRAY` | `int` `COMBINER_DARRAY`
`COMBINER_RESIZED` | `int` `COMBINER_RESIZED`
`COMBINER_F90_REAL` | `int` `COMBINER_F90_REAL`
`COMBINER_F90_COMPLEX` | `int` `COMBINER_F90_COMPLEX`
`COMBINER_F90_INTEGER` | `int` `COMBINER_F90_INTEGER`
`IDENT` | `int` `IDENT`
`CONGRUENT` | `int` `CONGRUENT`
`SIMILAR` | `int` `SIMILAR`
`UNEQUAL` | `int` `UNEQUAL`
`CART` | `int` `CART`
`GRAPH` | `int` `GRAPH`
`DIST_GRAPH` | `int` `DIST_GRAPH`
`UNWEIGHTED` | `int` `UNWEIGHTED`
`WEIGHTS_EMPTY` | `int` `WEIGHTS_EMPTY`
`COMM_TYPE_SHARED` | `int` `COMM_TYPE_SHARED`
`BSEND_OVERHEAD` | `int` `BSEND_OVERHEAD`
`WIN_FLAVOR_CREATE` | `int` `WIN_FLAVOR_CREATE`
`WIN_FLAVOR_ALLOCATE` | `int` `WIN_FLAVOR_ALLOCATE`
`WIN_FLAVOR_DYNAMIC` | `int` `WIN_FLAVOR_DYNAMIC`
`WIN_FLAVOR_SHARED` | `int` `WIN_FLAVOR_SHARED`
`WIN_SEPARATE` | `int` `WIN_SEPARATE`
`WIN_UNIFIED` | `int` `WIN_UNIFIED`
`MODE_NOCHECK` | `int` `MODE_NOCHECK`
`MODE_NOSTORE` | `int` `MODE_NOSTORE`
`MODE_NOPUT` | `int` `MODE_NOPUT`
`MODE_NOPRECEDE` | `int` `MODE_NOPRECEDE`
`MODE_NOSUCCEED` | `int` `MODE_NOSUCCEED`
`LOCK_EXCLUSIVE` | `int` `LOCK_EXCLUSIVE`
`LOCK_SHARED` | `int` `LOCK_SHARED`
`MODE_RDONLY` | `int` `MODE_RDONLY`
`MODE_WRONLY` | `int` `MODE_WRONLY`
`MODE_RDWR` | `int` `MODE_RDWR`
`MODE_CREATE` | `int` `MODE_CREATE`
`MODE_EXCL` | `int` `MODE_EXCL`
`MODE_DELETE_ON_CLOSE` | `int` `MODE_DELETE_ON_CLOSE`
`MODE_UNIQUE_OPEN` | `int` `MODE_UNIQUE_OPEN`
`MODE_SEQUENTIAL` | `int` `MODE_SEQUENTIAL`
`MODE_APPEND` | `int` `MODE_APPEND`
`SEEK_SET` | `int` `SEEK_SET`
`SEEK_CUR` | `int` `SEEK_CUR`
`SEEK_END` | `int` `SEEK_END`
`DISPLACEMENT_CURRENT` | `int` `DISPLACEMENT_CURRENT`
`DISP_CUR` | `int` `DISP_CUR`
`THREAD_SINGLE` | `int` `THREAD_SINGLE`
`THREAD_FUNNELED` | `int` `THREAD_FUNNELED`
`THREAD_SERIALIZED` | `int` `THREAD_SERIALIZED`
`THREAD_MULTIPLE` | `int` `THREAD_MULTIPLE`
`VERSION` | `int` `VERSION`
`SUBVERSION` | `int` `SUBVERSION`
`MAX_PROCESSOR_NAME` | `int` `MAX_PROCESSOR_NAME`
`MAX_ERROR_STRING` | `int` `MAX_ERROR_STRING`
`MAX_PORT_NAME` | `int` `MAX_PORT_NAME`
`MAX_INFO_KEY` | `int` `MAX_INFO_KEY`
`MAX_INFO_VAL` | `int` `MAX_INFO_VAL`
`MAX_OBJECT_NAME` | `int` `MAX_OBJECT_NAME`
`MAX_DATAREP_STRING` | `int` `MAX_DATAREP_STRING`
`MAX_LIBRARY_VERSION_STRING` | `int` `MAX_LIBRARY_VERSION_STRING`
`DATATYPE_NULL` | `Datatype` `DATATYPE_NULL`
`UB` | `Datatype` `UB`
`LB` | `Datatype` `LB`
`PACKED` | `Datatype` `PACKED`
`BYTE` | `Datatype` `BYTE`
`AINT` | `Datatype` `AINT`
`OFFSET` | `Datatype` `OFFSET`
`COUNT` | `Datatype` `COUNT`
`CHAR` | `Datatype` `CHAR`
`WCHAR` | `Datatype` `WCHAR`
`SIGNED_CHAR` | `Datatype` `SIGNED_CHAR`
`SHORT` | `Datatype` `SHORT`
`INT` | `Datatype` `INT`
`LONG` | `Datatype` `LONG`
`LONG_LONG` | `Datatype` `LONG_LONG`
`UNSIGNED_CHAR` | `Datatype` `UNSIGNED_CHAR`
`UNSIGNED_SHORT` | `Datatype` `UNSIGNED_SHORT`
`UNSIGNED` | `Datatype` `UNSIGNED`
`UNSIGNED_LONG` | `Datatype` `UNSIGNED_LONG`
`UNSIGNED_LONG_LONG` | `Datatype` `UNSIGNED_LONG_LONG`
`FLOAT` | `Datatype` `FLOAT`
`DOUBLE` | `Datatype` `DOUBLE`
`LONG_DOUBLE` | `Datatype` `LONG_DOUBLE`
`C_BOOL` | `Datatype` `C_BOOL`
`INT8_T` | `Datatype` `INT8_T`
`INT16_T` | `Datatype` `INT16_T`
`INT32_T` | `Datatype` `INT32_T`
`INT64_T` | `Datatype` `INT64_T`
`UINT8_T` | `Datatype` `UINT8_T`
`UINT16_T` | `Datatype` `UINT16_T`
`UINT32_T` | `Datatype` `UINT32_T`
`UINT64_T` | `Datatype` `UINT64_T`
`C_COMPLEX` | `Datatype` `C_COMPLEX`
`C_FLOAT_COMPLEX` | `Datatype` `C_FLOAT_COMPLEX`
`C_DOUBLE_COMPLEX` | `Datatype` `C_DOUBLE_COMPLEX`
`C_LONG_DOUBLE_COMPLEX` | `Datatype` `C_LONG_DOUBLE_COMPLEX`
`CXX_BOOL` | `Datatype` `CXX_BOOL`
`CXX_FLOAT_COMPLEX` | `Datatype` `CXX_FLOAT_COMPLEX`
`CXX_DOUBLE_COMPLEX` | `Datatype` `CXX_DOUBLE_COMPLEX`
`CXX_LONG_DOUBLE_COMPLEX` | `Datatype` `CXX_LONG_DOUBLE_COMPLEX`
`SHORT_INT` | `Datatype` `SHORT_INT`
`INT_INT` | `Datatype` `INT_INT`
`TWOINT` | `Datatype` `TWOINT`
`LONG_INT` | `Datatype` `LONG_INT`
`FLOAT_INT` | `Datatype` `FLOAT_INT`
`DOUBLE_INT` | `Datatype` `DOUBLE_INT`
`LONG_DOUBLE_INT` | `Datatype` `LONG_DOUBLE_INT`
`CHARACTER` | `Datatype` `CHARACTER`
`LOGICAL` | `Datatype` `LOGICAL`
`INTEGER` | `Datatype` `INTEGER`
`REAL` | `Datatype` `REAL`
`DOUBLE_PRECISION` | `Datatype` `DOUBLE_PRECISION`
`COMPLEX` | `Datatype` `COMPLEX`
`DOUBLE_COMPLEX` | `Datatype` `DOUBLE_COMPLEX`
`LOGICAL1` | `Datatype` `LOGICAL1`
`LOGICAL2` | `Datatype` `LOGICAL2`
`LOGICAL4` | `Datatype` `LOGICAL4`
`LOGICAL8` | `Datatype` `LOGICAL8`
`INTEGER1` | `Datatype` `INTEGER1`
`INTEGER2` | `Datatype` `INTEGER2`
`INTEGER4` | `Datatype` `INTEGER4`
`INTEGER8` | `Datatype` `INTEGER8`
`INTEGER16` | `Datatype` `INTEGER16`
`REAL2` | `Datatype` `REAL2`
`REAL4` | `Datatype` `REAL4`
`REAL8` | `Datatype` `REAL8`
`REAL16` | `Datatype` `REAL16`
`COMPLEX4` | `Datatype` `COMPLEX4`
`COMPLEX8` | `Datatype` `COMPLEX8`
`COMPLEX16` | `Datatype` `COMPLEX16`
`COMPLEX32` | `Datatype` `COMPLEX32`
`UNSIGNED_INT` | `Datatype` `UNSIGNED_INT`
`SIGNED_SHORT` | `Datatype` `SIGNED_SHORT`
`SIGNED_INT` | `Datatype` `SIGNED_INT`
`SIGNED_LONG` | `Datatype` `SIGNED_LONG`
`SIGNED_LONG_LONG` | `Datatype` `SIGNED_LONG_LONG`
`BOOL` | `Datatype` `BOOL`
`SINT8_T` | `Datatype` `SINT8_T`
`SINT16_T` | `Datatype` `SINT16_T`
`SINT32_T` | `Datatype` `SINT32_T`
`SINT64_T` | `Datatype` `SINT64_T`
`F_BOOL` | `Datatype` `F_BOOL`
`F_INT` | `Datatype` `F_INT`
`F_FLOAT` | `Datatype` `F_FLOAT`
`F_DOUBLE` | `Datatype` `F_DOUBLE`
`F_COMPLEX` | `Datatype` `F_COMPLEX`
`F_FLOAT_COMPLEX` | `Datatype` `F_FLOAT_COMPLEX`
`F_DOUBLE_COMPLEX` | `Datatype` `F_DOUBLE_COMPLEX`
`REQUEST_NULL` | `Request` `REQUEST_NULL`
`MESSAGE_NULL` | `Message` `MESSAGE_NULL`
`MESSAGE_NO_PROC` | `Message` `MESSAGE_NO_PROC`
`OP_NULL` | `Op` `OP_NULL`
`MAX` | `Op` `MAX`
`MIN` | `Op` `MIN`
`SUM` | `Op` `SUM`
`PROD` | `Op` `PROD`
`LAND` | `Op` `LAND`
`BAND` | `Op` `BAND`
`LOR` | `Op` `LOR`
`BOR` | `Op` `BOR`
`LXOR` | `Op` `LXOR`
`BXOR` | `Op` `BXOR`
`MAXLOC` | `Op` `MAXLOC`
`MINLOC` | `Op` `MINLOC`
`REPLACE` | `Op` `REPLACE`
`NO_OP` | `Op` `NO_OP`
`GROUP_NULL` | `Group` `GROUP_NULL`
`GROUP_EMPTY` | `Group` `GROUP_EMPTY`
`INFO_NULL` | `Info` `INFO_NULL`
`INFO_ENV` | `Info` `INFO_ENV`
`ERRHANDLER_NULL` | `Errhandler` `ERRHANDLER_NULL`
`ERRORS_RETURN` | `Errhandler` `ERRORS_RETURN`
`ERRORS_ARE_FATAL` | `Errhandler` `ERRORS_ARE_FATAL`
`COMM_NULL` | `Comm` `COMM_NULL`
`COMM_SELF` | `Intracomm` `COMM_SELF`
`COMM_WORLD` | `Intracomm` `COMM_WORLD`
`WIN_NULL` | `Win` `WIN_NULL`
`FILE_NULL` | `File` `FILE_NULL`
`pickle` | `Pickle` `pickle`