mpi4py.MPI

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 0x7fb10d9841c8>`
| ANY_SOURCE = `-2`
| ANY_TAG = `-1`
| APPNUM = `1681915917`
| BAND = `<mpi4py.MPI.Op object at 0x7fb1008d64b8>`
| BOOL = `<mpi4py.MPI.Datatype object at 0x7fb10d984378>`
| BOR = `<mpi4py.MPI.Op object at 0x7fb1008d64e0>`
| BOTTOM = `0`
| BSEND_OVERHEAD = `96`
| BXOR = `<mpi4py.MPI.Op object at 0x7fb1008d6580>`
| BYTE = `<mpi4py.MPI.Datatype object at 0x7fb10d9841b0>`
| CART = `2`
| CHAR = `<mpi4py.MPI.Datatype object at 0x7fb10d984210>`
| CHARACTER = `<mpi4py.MPI.Datatype object at 0x7fb10d9845a0>`
| 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 0x7fb10d984840>`
| COMM_SELF = `<mpi4py.MPI.Intracomm object at 0x7fb10d984858>`
| COMM_TYPE_SHARED = `1`
| COMM_WORLD = `<mpi4py.MPI.Intracomm object at 0x7fb10d984870>`
| COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984618>`
| COMPLEX16 = `<mpi4py.MPI.Datatype object at 0x7fb10d9847b0>`
| COMPLEX32 = `<mpi4py.MPI.Datatype object at 0x7fb10d9847c8>`
| COMPLEX4 = `<mpi4py.MPI.Datatype object at 0x7fb10d984780>`
| COMPLEX8 = `<mpi4py.MPI.Datatype object at 0x7fb10d984798>`
| CONGRUENT = `1`
| COUNT = `<mpi4py.MPI.Datatype object at 0x7fb10d9841f8>`
| CXX_BOOL = `<mpi4py.MPI.Datatype object at 0x7fb10d9844b0>`
| CXX_DOUBLE_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d98`...``
| CXX_FLOAT_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984`...``
| CXX_LONG_DOUBLE_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb`...``
| C_BOOL = `<mpi4py.MPI.Datatype object at 0x7fb10d984378>`
| C_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984450>`
| C_DOUBLE_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984480>`
| C_FLOAT_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984468>`
| C_LONG_DOUBLE_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10`...``
| DATATYPE_NULL = `<mpi4py.MPI.Datatype object at 0x7fb10d984150>`
| 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 0x7fb10d984348>`
| DOUBLE_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984630>`
| DOUBLE_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984570>`
| DOUBLE_PRECISION = `<mpi4py.MPI.Datatype object at 0x7fb10d984600>`
| ERRHANDLER_NULL = `<mpi4py.MPI.Errhandler object at 0x7fb10d984`...``
| ERRORS_ARE_FATAL = `<mpi4py.MPI.Errhandler object at 0x7fb10d98`...``
| ERRORS_RETURN = `<mpi4py.MPI.Errhandler object at 0x7fb10d984120>`
| 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 0x7fb10d9850b0>`
| FLOAT = `<mpi4py.MPI.Datatype object at 0x7fb10d984330>`
| FLOAT_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984558>`
| F_BOOL = `<mpi4py.MPI.Datatype object at 0x7fb10d9845b8>`
| F_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984618>`
| F_DOUBLE = `<mpi4py.MPI.Datatype object at 0x7fb10d984600>`
| F_DOUBLE_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984630>`
| F_FLOAT = `<mpi4py.MPI.Datatype object at 0x7fb10d9845e8>`
| F_FLOAT_COMPLEX = `<mpi4py.MPI.Datatype object at 0x7fb10d984618>`
| F_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d9845d0>`
| GRAPH = `1`
| GROUP_EMPTY = `<mpi4py.MPI.Group object at 0x7fb10d984828>`
| GROUP_NULL = `<mpi4py.MPI.Group object at 0x7fb10d984810>`
| HOST = `1681915907`
| IDENT = `0`
| INFO_ENV = `<mpi4py.MPI.Info object at 0x7fb10d9847f8>`
| INFO_NULL = `<mpi4py.MPI.Info object at 0x7fb10d9847e0>`
| INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984270>`
| INT16_T = `<mpi4py.MPI.Datatype object at 0x7fb10d9843a8>`
| INT32_T = `<mpi4py.MPI.Datatype object at 0x7fb10d9843c0>`
| INT64_T = `<mpi4py.MPI.Datatype object at 0x7fb10d9843d8>`
| INT8_T = `<mpi4py.MPI.Datatype object at 0x7fb10d984390>`
| INTEGER = `<mpi4py.MPI.Datatype object at 0x7fb10d9845d0>`
| INTEGER1 = `<mpi4py.MPI.Datatype object at 0x7fb10d9846a8>`
| INTEGER16 = `<mpi4py.MPI.Datatype object at 0x7fb10d984708>`
| INTEGER2 = `<mpi4py.MPI.Datatype object at 0x7fb10d9846c0>`
| INTEGER4 = `<mpi4py.MPI.Datatype object at 0x7fb10d9846d8>`
| INTEGER8 = `<mpi4py.MPI.Datatype object at 0x7fb10d9846f0>`
| INT_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984528>`
| IN_PLACE = `-1`
| IO = `1681915909`
| KEYVAL_INVALID = `603979776`
| LAND = `<mpi4py.MPI.Op object at 0x7fb1008d6490>`
| LASTUSEDCODE = `1681915915`
| LB = `<mpi4py.MPI.Datatype object at 0x7fb10d984180>`
| LOCK_EXCLUSIVE = `234`
| LOCK_SHARED = `235`
| LOGICAL = `<mpi4py.MPI.Datatype object at 0x7fb10d9845b8>`
| LOGICAL1 = `<mpi4py.MPI.Datatype object at 0x7fb10d984648>`
| LOGICAL2 = `<mpi4py.MPI.Datatype object at 0x7fb10d984660>`
| LOGICAL4 = `<mpi4py.MPI.Datatype object at 0x7fb10d984678>`
| LOGICAL8 = `<mpi4py.MPI.Datatype object at 0x7fb10d984690>`
| LONG = `<mpi4py.MPI.Datatype object at 0x7fb10d984288>`
| LONG_DOUBLE = `<mpi4py.MPI.Datatype object at 0x7fb10d984360>`
| LONG_DOUBLE_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984588>`
| LONG_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984540>`
| LONG_LONG = `<mpi4py.MPI.Datatype object at 0x7fb10d9842a0>`
| LOR = `<mpi4py.MPI.Op object at 0x7fb1008d6238>`
| LXOR = `<mpi4py.MPI.Op object at 0x7fb1008d6558>`
| MAX = `<mpi4py.MPI.Op object at 0x7fb1008d63f0>`
| MAXLOC = `<mpi4py.MPI.Op object at 0x7fb1008d65d0>`
| 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 0x7fb1008e02d0>`
| MESSAGE_NULL = `<mpi4py.MPI.Message object at 0x7fb1008e0290>`
| MIN = `<mpi4py.MPI.Op object at 0x7fb1008d6418>`
| MINLOC = `<mpi4py.MPI.Op object at 0x7fb1008d65a8>`
| 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 0x7fb1008d6620>`
| OFFSET = `<mpi4py.MPI.Datatype object at 0x7fb10d9841e0>`
| OP_NULL = `<mpi4py.MPI.Op object at 0x7fb1008d63c8>`
| ORDER_C = `56`
| ORDER_F = `57`
| ORDER_FORTRAN = `57`
| PACKED = `<mpi4py.MPI.Datatype object at 0x7fb10d984198>`
| PROC_NULL = `-1`
| PROD = `<mpi4py.MPI.Op object at 0x7fb1008d6468>`
| REAL = `<mpi4py.MPI.Datatype object at 0x7fb10d9845e8>`
| REAL16 = `<mpi4py.MPI.Datatype object at 0x7fb10d984768>`
| REAL2 = `<mpi4py.MPI.Datatype object at 0x7fb10d984720>`
| REAL4 = `<mpi4py.MPI.Datatype object at 0x7fb10d984738>`
| REAL8 = `<mpi4py.MPI.Datatype object at 0x7fb10d984750>`
| REPLACE = `<mpi4py.MPI.Op object at 0x7fb1008d65f8>`
| REQUEST_NULL = `<mpi4py.MPI.Request object at 0x7fb1008e0250>`
| ROOT = `-3`
| SEEK_CUR = `602`
| SEEK_END = `604`
| SEEK_SET = `600`
| SHORT = `<mpi4py.MPI.Datatype object at 0x7fb10d984258>`
| SHORT_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984510>`
| SIGNED_CHAR = `<mpi4py.MPI.Datatype object at 0x7fb10d984240>`
| SIGNED_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d984270>`
| SIGNED_LONG = `<mpi4py.MPI.Datatype object at 0x7fb10d984288>`
| SIGNED_LONG_LONG = `<mpi4py.MPI.Datatype object at 0x7fb10d9842a0>`
| SIGNED_SHORT = `<mpi4py.MPI.Datatype object at 0x7fb10d984258>`
| SIMILAR = `2`
| SINT16_T = `<mpi4py.MPI.Datatype object at 0x7fb10d9843a8>`
| SINT32_T = `<mpi4py.MPI.Datatype object at 0x7fb10d9843c0>`
| SINT64_T = `<mpi4py.MPI.Datatype object at 0x7fb10d9843d8>`
| SINT8_T = `<mpi4py.MPI.Datatype object at 0x7fb10d984390>`
| SUBVERSION = `1`
| SUCCESS = `0`
| SUM = `<mpi4py.MPI.Op object at 0x7fb1008d6440>`
| TAG_UB = `1681915905`
| THREAD_FUNNELED = `1`
| THREAD_MULTIPLE = `3`
| THREAD_SERIALIZED = `2`
| THREAD_SINGLE = `0`
| TWOINT = `<mpi4py.MPI.Datatype object at 0x7fb10d984528>`
| TYPECLASS_COMPLEX = `3`
| TYPECLASS_INTEGER = `2`
| TYPECLASS_REAL = `1`
| UB = `<mpi4py.MPI.Datatype object at 0x7fb10d984168>`
| UINT16_T = `<mpi4py.MPI.Datatype object at 0x7fb10d984408>`
| UINT32_T = `<mpi4py.MPI.Datatype object at 0x7fb10d984420>`
| UINT64_T = `<mpi4py.MPI.Datatype object at 0x7fb10d984438>`
| UINT8_T = `<mpi4py.MPI.Datatype object at 0x7fb10d9843f0>`
| UNDEFINED = `-32766`
| UNEQUAL = `3`
| UNIVERSE_SIZE = `1681915913`
| UNSIGNED = `<mpi4py.MPI.Datatype object at 0x7fb10d9842e8>`
| UNSIGNED_CHAR = `<mpi4py.MPI.Datatype object at 0x7fb10d9842b8>`
| UNSIGNED_INT = `<mpi4py.MPI.Datatype object at 0x7fb10d9842e8>`
| UNSIGNED_LONG = `<mpi4py.MPI.Datatype object at 0x7fb10d984300>`
| UNSIGNED_LONG_LONG = `<mpi4py.MPI.Datatype object at 0x7fb10d98`...``
| UNSIGNED_SHORT = `<mpi4py.MPI.Datatype object at 0x7fb10d9842d0>`
| UNWEIGHTED = `140398193181888`
| VERSION = `3`
| WCHAR = `<mpi4py.MPI.Datatype object at 0x7fb10d984228>`
| WEIGHTS_EMPTY = `140398193181884`
| 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 0x7fb1008e0310>`
| 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 0x7fb10d98437`...``
| _typedict_c = ``{``'``?``'``:` <mpi4py.MPI.Datatype object at 0x7fb10d984`...``
| _typedict_f = ``{``'``?``'``:` <mpi4py.MPI.Datatype object at 0x7fb10d984`...``
| pickle = `<mpi4py.MPI.Pickle object at 0x7fb1008d5870>`

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 0x7fb10d9844e0>

  ### CXX_FLOAT_COMPLEX Value:
      <mpi4py.MPI.Datatype object at 0x7fb10d9844c8>

  ### CXX_LONG_DOUBLE_COMPLEX Value:
      <mpi4py.MPI.Datatype object at 0x7fb10d9844f8>

  ### C_LONG_DOUBLE_COMPLEX Value:
      <mpi4py.MPI.Datatype object at 0x7fb10d984498>

  ### ERRHANDLER_NULL Value:
      <mpi4py.MPI.Errhandler object at 0x7fb10d984108>

  ### ERRORS_ARE_FATAL Value:
      <mpi4py.MPI.Errhandler object at 0x7fb10d984138>

  ### UNSIGNED_LONG_LONG Value:
      <mpi4py.MPI.Datatype object at 0x7fb10d984318>

  ### __pyx_capi__ Value:
      {'PyMPIComm_Get': <capsule object "MPI_Comm *(PyObject *)" at 0x7fb10d
      8eede0>,
       'PyMPIComm_New': <capsule object "PyObject *(MPI_Comm)" at 0x7fb10d8e
      edb0>,
       'PyMPIDatatype_Get': <capsule object "MPI_Datatype *(PyObject *)" at
      0x7fb10d8eeae0>,
       'PyMPIDatatype_New': <capsule object "PyObject *(MPI_Datatype)" at 0x
      7fb10d8eeab0>,
      ...

  ### _typedict Value:
      {'?': <mpi4py.MPI.Datatype object at 0x7fb10d984378>,
       'B': <mpi4py.MPI.Datatype object at 0x7fb10d9842b8>,
       'D': <mpi4py.MPI.Datatype object at 0x7fb10d984480>,
       'F': <mpi4py.MPI.Datatype object at 0x7fb10d984468>,
       'G': <mpi4py.MPI.Datatype object at 0x7fb10d984498>,
       'H': <mpi4py.MPI.Datatype object at 0x7fb10d9842d0>,
       'I': <mpi4py.MPI.Datatype object at 0x7fb10d9842e8>,
       'L': <mpi4py.MPI.Datatype object at 0x7fb10d984300>,
      ...

  ### _typedict_c Value:
      {'?': <mpi4py.MPI.Datatype object at 0x7fb10d984378>,
       'B': <mpi4py.MPI.Datatype object at 0x7fb10d9842b8>,
       'D': <mpi4py.MPI.Datatype object at 0x7fb10d984480>,
       'F': <mpi4py.MPI.Datatype object at 0x7fb10d984468>,
       'G': <mpi4py.MPI.Datatype object at 0x7fb10d984498>,
       'H': <mpi4py.MPI.Datatype object at 0x7fb10d9842d0>,
       'I': <mpi4py.MPI.Datatype object at 0x7fb10d9842e8>,
       'L': <mpi4py.MPI.Datatype object at 0x7fb10d984300>,
      ...

  ### _typedict_f Value:
      {'?': <mpi4py.MPI.Datatype object at 0x7fb10d9845b8>,
       'c': <mpi4py.MPI.Datatype object at 0x7fb10d984618>,
       'c16': <mpi4py.MPI.Datatype object at 0x7fb10d9847b0>,
       'c32': <mpi4py.MPI.Datatype object at 0x7fb10d9847c8>,
       'c8': <mpi4py.MPI.Datatype object at 0x7fb10d984798>,
       'd': <mpi4py.MPI.Datatype object at 0x7fb10d984600>,
       'i': <mpi4py.MPI.Datatype object at 0x7fb10d9845d0>,
       'i1': <mpi4py.MPI.Datatype object at 0x7fb10d9846a8>,
      ...