Package mpi4py :: Module MPI
[hide private]
[frames] | no frames]

Module MPI

Message Passing Interface
Classes [hide private]
Cartcomm
Cartesian topology intracommunicator
Comm
Communicator
Datatype
Datatype
Distgraphcomm
Distributed graph topology intracommunicator
Errhandler
Error Handler
Exception
Exception
File
File
Graphcomm
General graph topology intracommunicator
Grequest
Generalized request
Group
Group
Info
Info
Intercomm
Intercommunicator
Intracomm
Intracommunicator
Message
Message
Op
Op
Prequest
Persistent request
Request
Request
Status
Status
Topocomm
Topology intracommunicator
Win
Window
memory
Memory
Functions [hide private]
 
Add_error_class()
Add an error class to the known error classes
 
Add_error_code(int errorclass)
Add an error code to an error class
 
Add_error_string(int errorcode, string)
Associate an error string with an error class or errorcode
 
Aint_add(Aint base, Aint disp)
Return the sum of base address and displacement
 
Aint_diff(Aint addr1, Aint addr2)
Return the difference between absolute addresses
 
Alloc_mem(Aint size, Info info=INFO_NULL)
Allocate memory for message passing and RMA
 
Attach_buffer(buf)
Attach a user-provided buffer for sending in buffered mode
 
Close_port(port_name)
Close a port
 
Compute_dims(int nnodes, dims)
Return a balanced distribution of processes per coordinate direction
 
Detach_buffer()
Remove an existing attached buffer
 
Finalize()
Terminate the MPI execution environment
 
Free_mem(mem)
Free memory allocated with Alloc\_mem()
 
Get_address(location)
Get the address of a location in memory
 
Get_error_class(int errorcode)
Convert an error code into an error class
 
Get_error_string(int errorcode)
Return the error string for a given error class or error code
 
Get_library_version()
Obtain the version string of the MPI library
 
Get_processor_name()
Obtain the name of the calling processor
 
Get_version()
Obtain the version number of the MPI standard supported by the implementation as a tuple (version, subversion)
 
Init()
Initialize the MPI execution environment
 
Init_thread(int required=THREAD_MULTIPLE)
Initialize the MPI execution environment
 
Is_finalized()
Indicates whether Finalize has completed
 
Is_initialized()
Indicates whether Init has been called
 
Is_thread_main()
Indicate whether this thread called Init or Init_thread
 
Lookup_name(service_name, info=INFO_NULL)
Lookup a port name given a service name
 
Open_port(Info info=INFO_NULL)
Return an address that can be used to establish connections between groups of MPI processes
 
Pcontrol(int level)
Control profiling
 
Publish_name(service_name, port_name, info=INFO_NULL)
Publish a service name
 
Query_thread()
Return the level of thread support provided by the MPI library
 
Register_datarep(datarep, read_fn, write_fn, extent_fn)
Register user-defined data representations
 
Unpublish_name(service_name, port_name, info=INFO_NULL)
Unpublish a service name
 
Wtick()
Return the resolution of Wtime
 
Wtime()
Return an elapsed time on the calling processor
 
_addressof(arg)
Memory address of the underlying MPI handle
 
_handleof(arg)
Unsigned integer value with the underlying MPI handle
 
_lock_table(Comm comm)
Internal communicator lock table
 
_set_abort_status(status)
Helper for python -m mpi4py.run ...
 
_sizeof(arg)
Size in bytes of the underlying MPI handle
 
_typecode(Datatype datatype)
Map MPI datatype to typecode string
 
get_vendor()
Infomation about the underlying MPI implementation
Variables [hide private]
  AINT = <mpi4py.MPI.Datatype object at 0x7f47bfcc11c8>
  ANY_SOURCE = -2
  ANY_TAG = -1
  APPNUM = 1681915917
  BAND = <mpi4py.MPI.Op object at 0x7f47b2c13490>
  BOOL = <mpi4py.MPI.Datatype object at 0x7f47bfcc1378>
  BOR = <mpi4py.MPI.Op object at 0x7f47b2c134b8>
  BOTTOM = 0
  BSEND_OVERHEAD = 96
  BXOR = <mpi4py.MPI.Op object at 0x7f47b2c13558>
  BYTE = <mpi4py.MPI.Datatype object at 0x7f47bfcc11b0>
  CART = 2
  CHAR = <mpi4py.MPI.Datatype object at 0x7f47bfcc1210>
  CHARACTER = <mpi4py.MPI.Datatype object at 0x7f47bfcc15a0>
  COMBINER_CONTIGUOUS = 3
  COMBINER_DARRAY = 14
  COMBINER_DUP = 2
  COMBINER_F90_COMPLEX = 16
  COMBINER_F90_INTEGER = 17
  COMBINER_F90_REAL = 15
  COMBINER_HINDEXED = 9
  COMBINER_HINDEXED_BLOCK = 19
  COMBINER_HVECTOR = 6
  COMBINER_INDEXED = 7
  COMBINER_INDEXED_BLOCK = 10
  COMBINER_NAMED = 1
  COMBINER_RESIZED = 18
  COMBINER_STRUCT = 12
  COMBINER_SUBARRAY = 13
  COMBINER_VECTOR = 4
  COMM_NULL = <mpi4py.MPI.Comm object at 0x7f47bfcc1840>
  COMM_SELF = <mpi4py.MPI.Intracomm object at 0x7f47bfcc1858>
  COMM_TYPE_SHARED = 1
  COMM_WORLD = <mpi4py.MPI.Intracomm object at 0x7f47bfcc1870>
  COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1618>
  COMPLEX16 = <mpi4py.MPI.Datatype object at 0x7f47bfcc17b0>
  COMPLEX32 = <mpi4py.MPI.Datatype object at 0x7f47bfcc17c8>
  COMPLEX4 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1780>
  COMPLEX8 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1798>
  CONGRUENT = 1
  COUNT = <mpi4py.MPI.Datatype object at 0x7f47bfcc11f8>
  CXX_BOOL = <mpi4py.MPI.Datatype object at 0x7f47bfcc14b0>
  CXX_DOUBLE_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc...
  CXX_FLOAT_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1...
  CXX_LONG_DOUBLE_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f4...
  C_BOOL = <mpi4py.MPI.Datatype object at 0x7f47bfcc1378>
  C_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1450>
  C_DOUBLE_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1480>
  C_FLOAT_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1468>
  C_LONG_DOUBLE_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47b...
  DATATYPE_NULL = <mpi4py.MPI.Datatype object at 0x7f47bfcc1150>
  DISPLACEMENT_CURRENT = -54278278
  DISP_CUR = -54278278
  DISTRIBUTE_BLOCK = 121
  DISTRIBUTE_CYCLIC = 122
  DISTRIBUTE_DFLT_DARG = -49767
  DISTRIBUTE_NONE = 123
  DIST_GRAPH = 3
  DOUBLE = <mpi4py.MPI.Datatype object at 0x7f47bfcc1348>
  DOUBLE_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1630>
  DOUBLE_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1570>
  DOUBLE_PRECISION = <mpi4py.MPI.Datatype object at 0x7f47bfcc1600>
  ERRHANDLER_NULL = <mpi4py.MPI.Errhandler object at 0x7f47bfcc1...
  ERRORS_ARE_FATAL = <mpi4py.MPI.Errhandler object at 0x7f47bfcc...
  ERRORS_RETURN = <mpi4py.MPI.Errhandler object at 0x7f47bfcc1120>
  ERR_ACCESS = 20
  ERR_AMODE = 21
  ERR_ARG = 12
  ERR_ASSERT = 53
  ERR_BAD_FILE = 22
  ERR_BASE = 46
  ERR_BUFFER = 1
  ERR_COMM = 5
  ERR_CONVERSION = 23
  ERR_COUNT = 2
  ERR_DIMS = 11
  ERR_DISP = 52
  ERR_DUP_DATAREP = 24
  ERR_FILE = 27
  ERR_FILE_EXISTS = 25
  ERR_FILE_IN_USE = 26
  ERR_GROUP = 8
  ERR_INFO = 28
  ERR_INFO_KEY = 29
  ERR_INFO_NOKEY = 31
  ERR_INFO_VALUE = 30
  ERR_INTERN = 16
  ERR_IN_STATUS = 17
  ERR_IO = 32
  ERR_KEYVAL = 48
  ERR_LASTCODE = 1073741823
  ERR_LOCKTYPE = 47
  ERR_NAME = 33
  ERR_NOT_SAME = 35
  ERR_NO_MEM = 34
  ERR_NO_SPACE = 36
  ERR_NO_SUCH_FILE = 37
  ERR_OP = 9
  ERR_OTHER = 15
  ERR_PENDING = 18
  ERR_PORT = 38
  ERR_QUOTA = 39
  ERR_RANK = 6
  ERR_READ_ONLY = 40
  ERR_REQUEST = 19
  ERR_RMA_ATTACH = 56
  ERR_RMA_CONFLICT = 49
  ERR_RMA_FLAVOR = 58
  ERR_RMA_RANGE = 55
  ERR_RMA_SHARED = 57
  ERR_RMA_SYNC = 50
  ERR_ROOT = 7
  ERR_SERVICE = 41
  ERR_SIZE = 51
  ERR_SPAWN = 42
  ERR_TAG = 4
  ERR_TOPOLOGY = 10
  ERR_TRUNCATE = 14
  ERR_TYPE = 3
  ERR_UNKNOWN = 13
  ERR_UNSUPPORTED_DATAREP = 43
  ERR_UNSUPPORTED_OPERATION = 44
  ERR_WIN = 45
  FILE_NULL = <mpi4py.MPI.File object at 0x7f47bfcc20b0>
  FLOAT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1330>
  FLOAT_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1558>
  F_BOOL = <mpi4py.MPI.Datatype object at 0x7f47bfcc15b8>
  F_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1618>
  F_DOUBLE = <mpi4py.MPI.Datatype object at 0x7f47bfcc1600>
  F_DOUBLE_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1630>
  F_FLOAT = <mpi4py.MPI.Datatype object at 0x7f47bfcc15e8>
  F_FLOAT_COMPLEX = <mpi4py.MPI.Datatype object at 0x7f47bfcc1618>
  F_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc15d0>
  GRAPH = 1
  GROUP_EMPTY = <mpi4py.MPI.Group object at 0x7f47bfcc1828>
  GROUP_NULL = <mpi4py.MPI.Group object at 0x7f47bfcc1810>
  HOST = 1681915907
  IDENT = 0
  INFO_ENV = <mpi4py.MPI.Info object at 0x7f47bfcc17f8>
  INFO_NULL = <mpi4py.MPI.Info object at 0x7f47bfcc17e0>
  INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1270>
  INT16_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc13a8>
  INT32_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc13c0>
  INT64_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc13d8>
  INT8_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc1390>
  INTEGER = <mpi4py.MPI.Datatype object at 0x7f47bfcc15d0>
  INTEGER1 = <mpi4py.MPI.Datatype object at 0x7f47bfcc16a8>
  INTEGER16 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1708>
  INTEGER2 = <mpi4py.MPI.Datatype object at 0x7f47bfcc16c0>
  INTEGER4 = <mpi4py.MPI.Datatype object at 0x7f47bfcc16d8>
  INTEGER8 = <mpi4py.MPI.Datatype object at 0x7f47bfcc16f0>
  INT_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1528>
  IN_PLACE = -1
  IO = 1681915909
  KEYVAL_INVALID = 603979776
  LAND = <mpi4py.MPI.Op object at 0x7f47b2c13468>
  LASTUSEDCODE = 1681915915
  LB = <mpi4py.MPI.Datatype object at 0x7f47bfcc1180>
  LOCK_EXCLUSIVE = 234
  LOCK_SHARED = 235
  LOGICAL = <mpi4py.MPI.Datatype object at 0x7f47bfcc15b8>
  LOGICAL1 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1648>
  LOGICAL2 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1660>
  LOGICAL4 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1678>
  LOGICAL8 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1690>
  LONG = <mpi4py.MPI.Datatype object at 0x7f47bfcc1288>
  LONG_DOUBLE = <mpi4py.MPI.Datatype object at 0x7f47bfcc1360>
  LONG_DOUBLE_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1588>
  LONG_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1540>
  LONG_LONG = <mpi4py.MPI.Datatype object at 0x7f47bfcc12a0>
  LOR = <mpi4py.MPI.Op object at 0x7f47b2c13210>
  LXOR = <mpi4py.MPI.Op object at 0x7f47b2c13530>
  MAX = <mpi4py.MPI.Op object at 0x7f47b2c133c8>
  MAXLOC = <mpi4py.MPI.Op object at 0x7f47b2c135a8>
  MAX_DATAREP_STRING = 128
  MAX_ERROR_STRING = 512
  MAX_INFO_KEY = 255
  MAX_INFO_VAL = 1024
  MAX_LIBRARY_VERSION_STRING = 8192
  MAX_OBJECT_NAME = 128
  MAX_PORT_NAME = 256
  MAX_PROCESSOR_NAME = 128
  MESSAGE_NO_PROC = <mpi4py.MPI.Message object at 0x7f47b2c1d2d0>
  MESSAGE_NULL = <mpi4py.MPI.Message object at 0x7f47b2c1d290>
  MIN = <mpi4py.MPI.Op object at 0x7f47b2c133f0>
  MINLOC = <mpi4py.MPI.Op object at 0x7f47b2c13580>
  MODE_APPEND = 128
  MODE_CREATE = 1
  MODE_DELETE_ON_CLOSE = 16
  MODE_EXCL = 64
  MODE_NOCHECK = 1024
  MODE_NOPRECEDE = 8192
  MODE_NOPUT = 4096
  MODE_NOSTORE = 2048
  MODE_NOSUCCEED = 16384
  MODE_RDONLY = 2
  MODE_RDWR = 8
  MODE_SEQUENTIAL = 256
  MODE_UNIQUE_OPEN = 32
  MODE_WRONLY = 4
  NO_OP = <mpi4py.MPI.Op object at 0x7f47b2c135f8>
  OFFSET = <mpi4py.MPI.Datatype object at 0x7f47bfcc11e0>
  OP_NULL = <mpi4py.MPI.Op object at 0x7f47b2c133a0>
  ORDER_C = 56
  ORDER_F = 57
  ORDER_FORTRAN = 57
  PACKED = <mpi4py.MPI.Datatype object at 0x7f47bfcc1198>
  PROC_NULL = -1
  PROD = <mpi4py.MPI.Op object at 0x7f47b2c13440>
  REAL = <mpi4py.MPI.Datatype object at 0x7f47bfcc15e8>
  REAL16 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1768>
  REAL2 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1720>
  REAL4 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1738>
  REAL8 = <mpi4py.MPI.Datatype object at 0x7f47bfcc1750>
  REPLACE = <mpi4py.MPI.Op object at 0x7f47b2c135d0>
  REQUEST_NULL = <mpi4py.MPI.Request object at 0x7f47b2c1d250>
  ROOT = -3
  SEEK_CUR = 602
  SEEK_END = 604
  SEEK_SET = 600
  SHORT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1258>
  SHORT_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1510>
  SIGNED_CHAR = <mpi4py.MPI.Datatype object at 0x7f47bfcc1240>
  SIGNED_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1270>
  SIGNED_LONG = <mpi4py.MPI.Datatype object at 0x7f47bfcc1288>
  SIGNED_LONG_LONG = <mpi4py.MPI.Datatype object at 0x7f47bfcc12a0>
  SIGNED_SHORT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1258>
  SIMILAR = 2
  SINT16_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc13a8>
  SINT32_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc13c0>
  SINT64_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc13d8>
  SINT8_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc1390>
  SUBVERSION = 1
  SUCCESS = 0
  SUM = <mpi4py.MPI.Op object at 0x7f47b2c13418>
  TAG_UB = 1681915905
  THREAD_FUNNELED = 1
  THREAD_MULTIPLE = 3
  THREAD_SERIALIZED = 2
  THREAD_SINGLE = 0
  TWOINT = <mpi4py.MPI.Datatype object at 0x7f47bfcc1528>
  TYPECLASS_COMPLEX = 3
  TYPECLASS_INTEGER = 2
  TYPECLASS_REAL = 1
  UB = <mpi4py.MPI.Datatype object at 0x7f47bfcc1168>
  UINT16_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc1408>
  UINT32_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc1420>
  UINT64_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc1438>
  UINT8_T = <mpi4py.MPI.Datatype object at 0x7f47bfcc13f0>
  UNDEFINED = -32766
  UNEQUAL = 3
  UNIVERSE_SIZE = 1681915913
  UNSIGNED = <mpi4py.MPI.Datatype object at 0x7f47bfcc12e8>
  UNSIGNED_CHAR = <mpi4py.MPI.Datatype object at 0x7f47bfcc12b8>
  UNSIGNED_INT = <mpi4py.MPI.Datatype object at 0x7f47bfcc12e8>
  UNSIGNED_LONG = <mpi4py.MPI.Datatype object at 0x7f47bfcc1300>
  UNSIGNED_LONG_LONG = <mpi4py.MPI.Datatype object at 0x7f47bfcc...
  UNSIGNED_SHORT = <mpi4py.MPI.Datatype object at 0x7f47bfcc12d0>
  UNWEIGHTED = 139945916396736
  VERSION = 3
  WCHAR = <mpi4py.MPI.Datatype object at 0x7f47bfcc1228>
  WEIGHTS_EMPTY = 139945916396732
  WIN_BASE = 1711276033
  WIN_CREATE_FLAVOR = 1711276039
  WIN_DISP_UNIT = 1711276037
  WIN_FLAVOR = 1711276039
  WIN_FLAVOR_ALLOCATE = 2
  WIN_FLAVOR_CREATE = 1
  WIN_FLAVOR_DYNAMIC = 3
  WIN_FLAVOR_SHARED = 4
  WIN_MODEL = 1711276041
  WIN_NULL = <mpi4py.MPI.Win object at 0x7f47b2c1d310>
  WIN_SEPARATE = 1
  WIN_SIZE = 1711276035
  WIN_UNIFIED = 2
  WTIME_IS_GLOBAL = 1681915911
  __pyx_capi__ = {'PyMPIComm_Get': <capsule object "MPI_Comm *(P...
  _keyval_registry = {'Comm': {}, 'Datatype': {}, 'Win': {}}
  _typedict = {'?': <mpi4py.MPI.Datatype object at 0x7f47bfcc137...
  _typedict_c = {'?': <mpi4py.MPI.Datatype object at 0x7f47bfcc1...
  _typedict_f = {'?': <mpi4py.MPI.Datatype object at 0x7f47bfcc1...
  pickle = <mpi4py.MPI.Pickle object at 0x7f47b2c12870>
Function Details [hide private]

get_vendor()

 
Infomation about the underlying MPI implementation
Returns:
  • a string with the name of the MPI implementation
  • an integer 3-tuple version (major, minor, micro)

Variables Details [hide private]

CXX_DOUBLE_COMPLEX

Value:
<mpi4py.MPI.Datatype object at 0x7f47bfcc14e0>

CXX_FLOAT_COMPLEX

Value:
<mpi4py.MPI.Datatype object at 0x7f47bfcc14c8>

CXX_LONG_DOUBLE_COMPLEX

Value:
<mpi4py.MPI.Datatype object at 0x7f47bfcc14f8>

C_LONG_DOUBLE_COMPLEX

Value:
<mpi4py.MPI.Datatype object at 0x7f47bfcc1498>

ERRHANDLER_NULL

Value:
<mpi4py.MPI.Errhandler object at 0x7f47bfcc1108>

ERRORS_ARE_FATAL

Value:
<mpi4py.MPI.Errhandler object at 0x7f47bfcc1138>

UNSIGNED_LONG_LONG

Value:
<mpi4py.MPI.Datatype object at 0x7f47bfcc1318>

__pyx_capi__

Value:
{'PyMPIComm_Get': <capsule object "MPI_Comm *(PyObject *)" at 0x7f47bf\
c2be10>,
 'PyMPIComm_New': <capsule object "PyObject *(MPI_Comm)" at 0x7f47bfc2\
bde0>,
 'PyMPIDatatype_Get': <capsule object "MPI_Datatype *(PyObject *)" at \
0x7f47bfc2bb10>,
 'PyMPIDatatype_New': <capsule object "PyObject *(MPI_Datatype)" at 0x\
7f47bfc2bae0>,
...

_typedict

Value:
{'?': <mpi4py.MPI.Datatype object at 0x7f47bfcc1378>,
 'B': <mpi4py.MPI.Datatype object at 0x7f47bfcc12b8>,
 'D': <mpi4py.MPI.Datatype object at 0x7f47bfcc1480>,
 'F': <mpi4py.MPI.Datatype object at 0x7f47bfcc1468>,
 'G': <mpi4py.MPI.Datatype object at 0x7f47bfcc1498>,
 'H': <mpi4py.MPI.Datatype object at 0x7f47bfcc12d0>,
 'I': <mpi4py.MPI.Datatype object at 0x7f47bfcc12e8>,
 'L': <mpi4py.MPI.Datatype object at 0x7f47bfcc1300>,
...

_typedict_c

Value:
{'?': <mpi4py.MPI.Datatype object at 0x7f47bfcc1378>,
 'B': <mpi4py.MPI.Datatype object at 0x7f47bfcc12b8>,
 'D': <mpi4py.MPI.Datatype object at 0x7f47bfcc1480>,
 'F': <mpi4py.MPI.Datatype object at 0x7f47bfcc1468>,
 'G': <mpi4py.MPI.Datatype object at 0x7f47bfcc1498>,
 'H': <mpi4py.MPI.Datatype object at 0x7f47bfcc12d0>,
 'I': <mpi4py.MPI.Datatype object at 0x7f47bfcc12e8>,
 'L': <mpi4py.MPI.Datatype object at 0x7f47bfcc1300>,
...

_typedict_f

Value:
{'?': <mpi4py.MPI.Datatype object at 0x7f47bfcc15b8>,
 'c': <mpi4py.MPI.Datatype object at 0x7f47bfcc1618>,
 'c16': <mpi4py.MPI.Datatype object at 0x7f47bfcc17b0>,
 'c32': <mpi4py.MPI.Datatype object at 0x7f47bfcc17c8>,
 'c8': <mpi4py.MPI.Datatype object at 0x7f47bfcc1798>,
 'd': <mpi4py.MPI.Datatype object at 0x7f47bfcc1600>,
 'i': <mpi4py.MPI.Datatype object at 0x7f47bfcc15d0>,
 'i1': <mpi4py.MPI.Datatype object at 0x7f47bfcc16a8>,
...