This is mpi4py.info, produced by makeinfo version 6.8 from mpi4py.texi.

     MPI for Python 3.1.4, Nov 02, 2022

     Lisandro Dalcin

     Copyright © 2022, Lisandro Dalcin

INFO-DIR-SECTION Miscellaneous
START-INFO-DIR-ENTRY
* mpi4py: (mpi4py.info). MPI for Python.
END-INFO-DIR-ENTRY


   Generated by Sphinx 5.3.0.


File: mpi4py.info,  Node: Top,  Next: Introduction,  Up: (dir)

MPI for Python
**************

     MPI for Python 3.1.4, Nov 02, 2022

     Lisandro Dalcin

     Copyright © 2022, Lisandro Dalcin

Abstract
========

This document describes the ‘MPI for Python’ package.  ‘MPI for Python’
provides Python bindings for the ‘Message Passing Interface’ (MPI)
standard, allowing Python applications to exploit multiple processors on
workstations, clusters and supercomputers.

This package builds on the MPI specification and provides an object
oriented interface resembling the MPI-2 C++ bindings.  It supports
point-to-point (sends, receives) and collective (broadcasts, scatters,
gathers) communication of any ‘picklable’ Python object, as well as
efficient communication of Python objects exposing the Python buffer
interface (e.g.  NumPy arrays and builtin bytes/array/memoryview
objects).

* Menu:

* Introduction::
* Overview::
* Tutorial::
* mpi4py::
* mpi4py.MPI: mpi4py MPI.
* mpi4py.futures: mpi4py futures.
* mpi4py.util: mpi4py util.
* mpi4py.run: mpi4py run.
* Reference::
* Citation::
* Installation::
* Appendix::
* Python Module Index::
* Index::

 — The Detailed Node Listing —

Introduction

* What is MPI?::
* What is Python?::
* Related Projects::

Overview

* Communicating Python Objects and Array Data::
* Communicators::
* Point-to-Point Communications::
* Collective Communications::
* Support for GPU-aware MPI::
* Dynamic Process Management::
* One-Sided Communications::
* Parallel Input/Output::
* Environmental Management::

Point-to-Point Communications

* Blocking Communications::
* Nonblocking Communications::
* Persistent Communications::

Environmental Management

* Initialization and Exit::
* Implementation Information::
* Timers::
* Error Handling::

Tutorial

* Running Python scripts with MPI::
* Point-to-Point Communication::
* Collective Communication::
* MPI-IO::
* Dynamic Process Management: Dynamic Process Management<2>.
* CUDA-aware MPI + Python GPU arrays::
* One-Sided Communications: One-Sided Communications<2>.
* Wrapping with SWIG::
* Wrapping with F2Py::

mpi4py

* Runtime configuration options::
* Environment variables::
* Miscellaneous functions::

mpi4py.MPI

* Classes::
* Functions::
* Attributes::

mpi4py.futures

* concurrent.futures: concurrent futures.
* MPIPoolExecutor::
* MPICommExecutor::
* Command line::
* Examples::

mpi4py.util

* mpi4py.util.pkl5: mpi4py util pkl5.
* mpi4py.util.dtlib: mpi4py util dtlib.

mpi4py.util.pkl5

* Examples: Examples<2>.

mpi4py.run

* Interface options::

Reference

* mpi4py.MPI: mpi4py MPI<2>.

mpi4py.MPI

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

Installation

* Requirements::
* Using pip::
* Using distutils::
* Testing::

Appendix

* MPI-enabled Python interpreter::
* Building MPI from sources::



File: mpi4py.info,  Node: Introduction,  Next: Overview,  Prev: Top,  Up: Top

1 Introduction
**************

Over the last years, high performance computing has become an affordable
resource to many more researchers in the scientific community than ever
before.  The conjunction of quality open source software and commodity
hardware strongly influenced the now widespread popularity of Beowulf(1)
class clusters and cluster of workstations.

Among many parallel computational models, message-passing has proven to
be an effective one.  This paradigm is specially suited for (but not
limited to) distributed memory architectures and is used in today’s most
demanding scientific and engineering application related to modeling,
simulation, design, and signal processing.  However, portable
message-passing parallel programming used to be a nightmare in the past
because of the many incompatible options developers were faced to.
Fortunately, this situation definitely changed after the MPI Forum
released its standard specification.

High performance computing is traditionally associated with software
development using compiled languages.  However, in typical applications
programs, only a small part of the code is time-critical enough to
require the efficiency of compiled languages.  The rest of the code is
generally related to memory management, error handling, input/output,
and user interaction, and those are usually the most error prone and
time-consuming lines of code to write and debug in the whole development
process.  Interpreted high-level languages can be really advantageous
for this kind of tasks.

For implementing general-purpose numerical computations, MATLAB (2) is
the dominant interpreted programming language.  In the open source side,
Octave and Scilab are well known, freely distributed software packages
providing compatibility with the MATLAB language.  In this work, we
present MPI for Python, a new package enabling applications to exploit
multiple processors using standard MPI “look and feel” in Python
scripts.

* Menu:

* What is MPI?::
* What is Python?::
* Related Projects::

   ---------- Footnotes ----------

   (1) https://www.beowulf.org/

   (2) MATLAB is a registered trademark of The MathWorks, Inc.


File: mpi4py.info,  Node: What is MPI?,  Next: What is Python?,  Up: Introduction

1.1 What is MPI?
================

MPI(1), *note [mpi-using]: c. *note [mpi-ref]: d. the ‘Message Passing
Interface’, is a standardized and portable message-passing system
designed to function on a wide variety of parallel computers.  The
standard defines the syntax and semantics of library routines and allows
users to write portable programs in the main scientific programming
languages (Fortran, C, or C++).

Since its release, the MPI specification *note [mpi-std1]: e. *note
[mpi-std2]: f. has become the leading standard for message-passing
libraries for parallel computers.  Implementations are available from
vendors of high-performance computers and from well known open source
projects like MPICH(2) *note [mpi-mpich]: 10. and Open MPI(3) *note
[mpi-openmpi]: 11.

   ---------- Footnotes ----------

   (1) https://www.mpi-forum.org/

   (2) https://www.mpich.org/

   (3) https://www.open-mpi.org/


File: mpi4py.info,  Node: What is Python?,  Next: Related Projects,  Prev: What is MPI?,  Up: Introduction

1.2 What is Python?
===================

Python(1) is a modern, easy to learn, powerful programming language.  It
has efficient high-level data structures and a simple but effective
approach to object-oriented programming with dynamic typing and dynamic
binding.  It supports modules and packages, which encourages program
modularity and code reuse.  Python’s elegant syntax, together with its
interpreted nature, make it an ideal language for scripting and rapid
application development in many areas on most platforms.

The Python interpreter and the extensive standard library are available
in source or binary form without charge for all major platforms, and can
be freely distributed.  It is easily extended with new functions and
data types implemented in C or C++.  Python is also suitable as an
extension language for customizable applications.

Python is an ideal candidate for writing the higher-level parts of
large-scale scientific applications *note [Hinsen97]: 13. and driving
simulations in parallel architectures *note [Beazley97]: 14. like
clusters of PC’s or SMP’s.  Python codes are quickly developed, easily
maintained, and can achieve a high degree of integration with other
libraries written in compiled languages.

   ---------- Footnotes ----------

   (1) https://www.python.org/


File: mpi4py.info,  Node: Related Projects,  Prev: What is Python?,  Up: Introduction

1.3 Related Projects
====================

As this work started and evolved, some ideas were borrowed from well
known MPI and Python related open source projects from the Internet.

   * OOMPI(1)

        + It has no relation with Python, but is an excellent object
          oriented approach to MPI.

        + It is a C++ class library specification layered on top of the
          C bindings that encapsulates MPI into a functional class
          hierarchy.

        + It provides a flexible and intuitive interface by adding some
          abstractions, like ‘Ports’ and ‘Messages’, which enrich and
          simplify the syntax.

   * Pypar(2)

        + Its interface is rather minimal.  There is no support for
          communicators or process topologies.

        + It does not require the Python interpreter to be modified or
          recompiled, but does not permit interactive parallel runs.

        + General (‘picklable’) Python objects of any type can be
          communicated.  There is good support for numeric arrays,
          practically full MPI bandwidth can be achieved.

   * pyMPI(3)

        + It rebuilds the Python interpreter providing a built-in module
          for message passing.  It does permit interactive parallel
          runs, which are useful for learning and debugging.

        + It provides an interface suitable for basic parallel
          programing.  There is not full support for defining new
          communicators or process topologies.

        + General (picklable) Python objects can be messaged between
          processors.  There is not support for numeric arrays.

   * Scientific Python(4)

        + It provides a collection of Python modules that are useful for
          scientific computing.

        + There is an interface to MPI and BSP (‘Bulk Synchronous
          Parallel programming’).

        + The interface is simple but incomplete and does not resemble
          the MPI specification.  There is support for numeric arrays.

Additionally, we would like to mention some available tools for
scientific computing and software development with Python.

   + NumPy(5) is a package that provides array manipulation and
     computational capabilities similar to those found in IDL, MATLAB,
     or Octave.  Using NumPy, it is possible to write many efficient
     numerical data processing applications directly in Python without
     using any C, C++ or Fortran code.

   + SciPy(6) is an open source library of scientific tools for Python,
     gathering a variety of high level science and engineering modules
     together as a single package.  It includes modules for graphics and
     plotting, optimization, integration, special functions, signal and
     image processing, genetic algorithms, ODE solvers, and others.

   + Cython(7) is a language that makes writing C extensions for the
     Python language as easy as Python itself.  The Cython language is
     very close to the Python language, but Cython additionally supports
     calling C functions and declaring C types on variables and class
     attributes.  This allows the compiler to generate very efficient C
     code from Cython code.  This makes Cython the ideal language for
     wrapping for external C libraries, and for fast C modules that
     speed up the execution of Python code.

   + SWIG(8) is a software development tool that connects programs
     written in C and C++ with a variety of high-level programming
     languages like Perl, Tcl/Tk, Ruby and Python.  Issuing header files
     to SWIG is the simplest approach to interfacing C/C++ libraries
     from a Python module.

(mpi-std1) MPI Forum.  MPI: A Message Passing Interface Standard.
International Journal of Supercomputer Applications, volume 8, number
3-4, pages 159-416, 1994.

(mpi-std2) MPI Forum.  MPI: A Message Passing Interface Standard.  High
Performance Computing Applications, volume 12, number 1-2, pages 1-299,
1998.

(mpi-using) William Gropp, Ewing Lusk, and Anthony Skjellum.  Using MPI:
portable parallel programming with the message-passing interface.  MIT
Press, 1994.

(mpi-ref) Mark Snir, Steve Otto, Steven Huss-Lederman, David Walker, and
Jack Dongarra.  MPI - The Complete Reference, volume 1, The MPI Core.
MIT Press, 2nd.  edition, 1998.

(mpi-mpich) W. Gropp, E. Lusk, N. Doss, and A. Skjellum.  A
high-performance, portable implementation of the MPI message passing
interface standard.  Parallel Computing, 22(6):789-828, September 1996.

(mpi-openmpi) Edgar Gabriel, Graham E. Fagg, George Bosilca, Thara
Angskun, Jack J. Dongarra, Jeffrey M. Squyres, Vishal Sahay, Prabhanjan
Kambadur, Brian Barrett, Andrew Lumsdaine, Ralph H. Castain, David J.
Daniel, Richard L. Graham, and Timothy S. Woodall.  Open MPI: Goals,
Concept, and Design of a Next Generation MPI Implementation.  In
Proceedings, 11th European PVM/MPI Users’ Group Meeting, Budapest,
Hungary, September 2004.

(Hinsen97) Konrad Hinsen.  The Molecular Modelling Toolkit: a case study
of a large scientific application in Python.  In Proceedings of the 6th
International Python Conference, pages 29-35, San Jose, Ca., October
1997.

(Beazley97) David M. Beazley and Peter S. Lomdahl.  Feeding a
large-scale physics application to Python.  In Proceedings of the 6th
International Python Conference, pages 21-29, San Jose, Ca., October
1997.

   ---------- Footnotes ----------

   (1) 
https://web.archive.org/web/20100614170656/http://www.osl.iu.edu/research/oompi/overview.php

   (2) https://github.com/daleroberts/pypar

   (3) https://sourceforge.net/projects/pympi/

   (4) http://dirac.cnrs-orleans.fr/ScientificPython.html

   (5) https://numpy.org/

   (6) https://scipy.org/

   (7) https://cython.org/

   (8) http://www.swig.org/


File: mpi4py.info,  Node: Overview,  Next: Tutorial,  Prev: Introduction,  Up: Top

2 Overview
**********

MPI for Python provides an object oriented approach to message passing
which grounds on the standard MPI-2 C++ bindings.  The interface was
designed with focus in translating MPI syntax and semantics of standard
MPI-2 bindings for C++ to Python.  Any user of the standard C/C++ MPI
bindings should be able to use this module without need of learning a
new interface.

* Menu:

* Communicating Python Objects and Array Data::
* Communicators::
* Point-to-Point Communications::
* Collective Communications::
* Support for GPU-aware MPI::
* Dynamic Process Management::
* One-Sided Communications::
* Parallel Input/Output::
* Environmental Management::


File: mpi4py.info,  Node: Communicating Python Objects and Array Data,  Next: Communicators,  Up: Overview

2.1 Communicating Python Objects and Array Data
===============================================

The Python standard library supports different mechanisms for data
persistence.  Many of them rely on disk storage, but ‘pickling’ and
‘marshaling’ can also work with memory buffers.

The pickle(1) modules provide user-extensible facilities to serialize
general Python objects using ASCII or binary formats.  The marshal(2)
module provides facilities to serialize built-in Python objects using a
binary format specific to Python, but independent of machine
architecture issues.

‘MPI for Python’ can communicate any built-in or user-defined Python
object taking advantage of the features provided by the pickle(3)
module.  These facilities will be routinely used to build binary
representations of objects to communicate (at sending processes), and
restoring them back (at receiving processes).

Although simple and general, the serialization approach (i.e.,
‘pickling’ and ‘unpickling’) previously discussed imposes important
overheads in memory as well as processor usage, especially in the
scenario of objects with large memory footprints being communicated.
Pickling general Python objects, ranging from primitive or container
built-in types to user-defined classes, necessarily requires computer
resources.  Processing is also needed for dispatching the appropriate
serialization method (that depends on the type of the object) and doing
the actual packing.  Additional memory is always needed, and if its
total amount is not known ‘a priori’, many reallocations can occur.
Indeed, in the case of large numeric arrays, this is certainly
unacceptable and precludes communication of objects occupying half or
more of the available memory resources.

‘MPI for Python’ supports direct communication of any object exporting
the single-segment buffer interface.  This interface is a standard
Python mechanism provided by some types (e.g., strings and numeric
arrays), allowing access in the C side to a contiguous memory buffer
(i.e., address and length) containing the relevant data.  This feature,
in conjunction with the capability of constructing user-defined MPI
datatypes describing complicated memory layouts, enables the
implementation of many algorithms involving multidimensional numeric
arrays (e.g., image processing, fast Fourier transforms, finite
difference schemes on structured Cartesian grids) directly in Python,
with negligible overhead, and almost as fast as compiled Fortran, C, or
C++ codes.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/pickle.html#module-pickle

   (2) https://docs.python.org/3/library/marshal.html#module-marshal

   (3) https://docs.python.org/3/library/pickle.html#module-pickle


File: mpi4py.info,  Node: Communicators,  Next: Point-to-Point Communications,  Prev: Communicating Python Objects and Array Data,  Up: Overview

2.2 Communicators
=================

In ‘MPI for Python’, *note Comm: 1a. is the base class of communicators.
The *note Intracomm: 1b. and *note Intercomm: 1c. classes are sublcasses
of the *note Comm: 1a. class.  The *note Comm.Is_inter: 1d. method (and
*note Comm.Is_intra: 1e, provided for convenience but not part of the
MPI specification) is defined for communicator objects and can be used
to determine the particular communicator class.

The two predefined intracommunicator instances are available: *note
COMM_SELF: 1f. and *note COMM_WORLD: 20.  From them, new communicators
can be created as needed.

The number of processes in a communicator and the calling process rank
can be respectively obtained with methods *note Comm.Get_size: 21. and
*note Comm.Get_rank: 22.  The associated process group can be retrieved
from a communicator by calling the *note Comm.Get_group: 23. method,
which returns an instance of the *note Group: 24. class.  Set operations
with *note Group: 24. objects like like *note Group.Union: 25, *note
Group.Intersection: 26. and *note Group.Difference: 27. are fully
supported, as well as the creation of new communicators from these
groups using *note Comm.Create: 28. and *note Comm.Create_group: 29.

New communicator instances can be obtained with the *note Comm.Clone:
2a, *note Comm.Dup: 2b. and *note Comm.Split: 2c. methods, as well
methods *note Intracomm.Create_intercomm: 2d. and *note Intercomm.Merge:
2e.

Virtual topologies (*note Cartcomm: 2f, *note Graphcomm: 30. and *note
Distgraphcomm: 31. classes, which are specializations of the *note
Intracomm: 1b. class) are fully supported.  New instances can be
obtained from intracommunicator instances with factory methods *note
Intracomm.Create_cart: 32. and *note Intracomm.Create_graph: 33.


File: mpi4py.info,  Node: Point-to-Point Communications,  Next: Collective Communications,  Prev: Communicators,  Up: Overview

2.3 Point-to-Point Communications
=================================

Point to point communication is a fundamental capability of message
passing systems.  This mechanism enables the transmission of data
between a pair of processes, one side sending, the other receiving.

MPI provides a set of ‘send’ and ‘receive’ functions allowing the
communication of ‘typed’ data with an associated ‘tag’.  The type
information enables the conversion of data representation from one
architecture to another in the case of heterogeneous computing
environments; additionally, it allows the representation of
non-contiguous data layouts and user-defined datatypes, thus avoiding
the overhead of (otherwise unavoidable) packing/unpacking operations.
The tag information allows selectivity of messages at the receiving end.

* Menu:

* Blocking Communications::
* Nonblocking Communications::
* Persistent Communications::


File: mpi4py.info,  Node: Blocking Communications,  Next: Nonblocking Communications,  Up: Point-to-Point Communications

2.3.1 Blocking Communications
-----------------------------

MPI provides basic send and receive functions that are ‘blocking’.
These functions block the caller until the data buffers involved in the
communication can be safely reused by the application program.

In ‘MPI for Python’, the *note Comm.Send: 36, *note Comm.Recv: 37. and
*note Comm.Sendrecv: 38. methods of communicator objects provide support
for blocking point-to-point communications within *note Intracomm: 1b.
and *note Intercomm: 1c. instances.  These methods can communicate
memory buffers.  The variants *note Comm.send: 39, *note Comm.recv: 3a.
and *note Comm.sendrecv: 3b. can communicate general Python objects.


File: mpi4py.info,  Node: Nonblocking Communications,  Next: Persistent Communications,  Prev: Blocking Communications,  Up: Point-to-Point Communications

2.3.2 Nonblocking Communications
--------------------------------

On many systems, performance can be significantly increased by
overlapping communication and computation.  This is particularly true on
systems where communication can be executed autonomously by an
intelligent, dedicated communication controller.

MPI provides ‘nonblocking’ send and receive functions.  They allow the
possible overlap of communication and computation.  Non-blocking
communication always come in two parts: posting functions, which begin
the requested operation; and test-for-completion functions, which allow
to discover whether the requested operation has completed.

In ‘MPI for Python’, the *note Comm.Isend: 3d. and *note Comm.Irecv: 3e.
methods initiate send and receive operations, respectively.  These
methods return a *note Request: 3f. instance, uniquely identifying the
started operation.  Its completion can be managed using the *note
Request.Test: 40, *note Request.Wait: 41. and *note Request.Cancel: 42.
methods.  The management of *note Request: 3f. objects and associated
memory buffers involved in communication requires a careful, rather
low-level coordination.  Users must ensure that objects exposing their
memory buffers are not accessed at the Python level while they are
involved in nonblocking message-passing operations.


File: mpi4py.info,  Node: Persistent Communications,  Prev: Nonblocking Communications,  Up: Point-to-Point Communications

2.3.3 Persistent Communications
-------------------------------

Often a communication with the same argument list is repeatedly executed
within an inner loop.  In such cases, communication can be further
optimized by using persistent communication, a particular case of
nonblocking communication allowing the reduction of the overhead between
processes and communication controllers.  Furthermore , this kind of
optimization can also alleviate the extra call overheads associated to
interpreted, dynamic languages like Python.

In ‘MPI for Python’, the *note Comm.Send_init: 44. and *note
Comm.Recv_init: 45. methods create persistent requests for a send and
receive operation, respectively.  These methods return an instance of
the *note Prequest: 46. class, a subclass of the *note Request: 3f.
class.  The actual communication can be effectively started using the
*note Prequest.Start: 47. method, and its completion can be managed as
previously described.


File: mpi4py.info,  Node: Collective Communications,  Next: Support for GPU-aware MPI,  Prev: Point-to-Point Communications,  Up: Overview

2.4 Collective Communications
=============================

Collective communications allow the transmittal of data between multiple
processes of a group simultaneously.  The syntax and semantics of
collective functions is consistent with point-to-point communication.
Collective functions communicate ‘typed’ data, but messages are not
paired with an associated ‘tag’; selectivity of messages is implied in
the calling order.  Additionally, collective functions come in blocking
versions only.

The more commonly used collective communication operations are the
following.

   * Barrier synchronization across all group members.

   * Global communication functions

        + Broadcast data from one member to all members of a group.

        + Gather data from all members to one member of a group.

        + Scatter data from one member to all members of a group.

   * Global reduction operations such as sum, maximum, minimum, etc.

In ‘MPI for Python’, the *note Comm.Bcast: 49, *note Comm.Scatter: 4a,
*note Comm.Gather: 4b, *note Comm.Allgather: 4c, *note Comm.Alltoall:
4d. methods provide support for collective communications of memory
buffers.  The lower-case variants *note Comm.bcast: 4e, *note
Comm.scatter: 4f, *note Comm.gather: 50, *note Comm.allgather: 51. and
*note Comm.alltoall: 52. can communicate general Python objects.  The
vector variants (which can communicate different amounts of data to each
process) *note Comm.Scatterv: 53, *note Comm.Gatherv: 54, *note
Comm.Allgatherv: 55, *note Comm.Alltoallv: 56. and *note Comm.Alltoallw:
57. are also supported, they can only communicate objects exposing
memory buffers.

Global reducion operations on memory buffers are accessible through the
*note Comm.Reduce: 58, *note Comm.Reduce_scatter: 59, *note
Comm.Allreduce: 5a, *note Intracomm.Scan: 5b. and *note
Intracomm.Exscan: 5c. methods.  The lower-case variants *note
Comm.reduce: 5d, *note Comm.allreduce: 5e, *note Intracomm.scan: 5f. and
*note Intracomm.exscan: 60. can communicate general Python objects;
however, the actual required reduction computations are performed
sequentially at some process.  All the predefined (i.e., *note SUM: 61,
*note PROD: 62, *note MAX: 63, etc.)  reduction operations can be
applied.


File: mpi4py.info,  Node: Support for GPU-aware MPI,  Next: Dynamic Process Management,  Prev: Collective Communications,  Up: Overview

2.5 Support for GPU-aware MPI
=============================

Several MPI implementations, including Open MPI and MVAPICH, support
passing GPU pointers to MPI calls to avoid explict data movement between
the host and the device.  On the Python side, GPU arrays have been
implemented by many libraries that need GPU computation, such as CuPy,
Numba, PyTorch, and PyArrow.  In order to increase library
interoperability, two kinds of zero-copy data exchange protocols are
defined and agreed upon: DLPack(1) and CUDA Array Interface(2).  For
example, a CuPy array can be passed to a Numba CUDA-jit kernel.

‘MPI for Python’ provides an experimental support for GPU-aware MPI.
This feature requires:

  1. mpi4py is built against a GPU-aware MPI library.

  2. The Python GPU arrays are compliant with either of the protocols.

See the *note Tutorial: 65. section for further information.  We note
that

   * Whether or not a MPI call can work for GPU arrays depends on the
     underlying MPI implementation, not on mpi4py.

   * This support is currently experimental and subject to change in the
     future.

   ---------- Footnotes ----------

   (1) 
https://data-apis.org/array-api/latest/design_topics/data_interchange.html

   (2) 
https://numba.readthedocs.io/en/stable/cuda/cuda_array_interface.html


File: mpi4py.info,  Node: Dynamic Process Management,  Next: One-Sided Communications,  Prev: Support for GPU-aware MPI,  Up: Overview

2.6 Dynamic Process Management
==============================

In the context of the MPI-1 specification, a parallel application is
static; that is, no processes can be added to or deleted from a running
application after it has been started.  Fortunately, this limitation was
addressed in MPI-2.  The new specification added a process management
model providing a basic interface between an application and external
resources and process managers.

This MPI-2 extension can be really useful, especially for sequential
applications built on top of parallel modules, or parallel applications
with a client/server model.  The MPI-2 process model provides a
mechanism to create new processes and establish communication between
them and the existing MPI application.  It also provides mechanisms to
establish communication between two existing MPI applications, even when
one did not ‘start’ the other.

In ‘MPI for Python’, new independent process groups can be created by
calling the *note Intracomm.Spawn: 67. method within an
intracommunicator.  This call returns a new intercommunicator (i.e., an
*note Intercomm: 1c. instance) at the parent process group.  The child
process group can retrieve the matching intercommunicator by calling the
*note Comm.Get_parent: 68. class method.  At each side, the new
intercommunicator can be used to perform point to point and collective
communications between the parent and child groups of processes.

Alternatively, disjoint groups of processes can establish communication
using a client/server approach.  Any server application must first call
the *note Open_port: 69. function to open a ‘port’ and the *note
Publish_name: 6a. function to publish a provided ‘service’, and next
call the *note Intracomm.Accept: 6b. method.  Any client applications
can first find a published ‘service’ by calling the *note Lookup_name:
6c. function, which returns the ‘port’ where a server can be contacted;
and next call the *note Intracomm.Connect: 6d. method.  Both *note
Intracomm.Accept: 6b. and *note Intracomm.Connect: 6d. methods return an
*note Intercomm: 1c. instance.  When connection between client/server
processes is no longer needed, all of them must cooperatively call the
*note Comm.Disconnect: 6e. method.  Additionally, server applications
should release resources by calling the *note Unpublish_name: 6f. and
*note Close_port: 70. functions.


File: mpi4py.info,  Node: One-Sided Communications,  Next: Parallel Input/Output,  Prev: Dynamic Process Management,  Up: Overview

2.7 One-Sided Communications
============================

One-sided communications (also called ‘Remote Memory Access’, ‘RMA’)
supplements the traditional two-sided, send/receive based MPI
communication model with a one-sided, put/get based interface.
One-sided communication that can take advantage of the capabilities of
highly specialized network hardware.  Additionally, this extension
lowers latency and software overhead in applications written using a
shared-memory-like paradigm.

The MPI specification revolves around the use of objects called
‘windows’; they intuitively specify regions of a process’s memory that
have been made available for remote read and write operations.  The
published memory blocks can be accessed through three functions for put
(remote send), get (remote write), and accumulate (remote update or
reduction) data items.  A much larger number of functions support
different synchronization styles; the semantics of these synchronization
operations are fairly complex.

In ‘MPI for Python’, one-sided operations are available by using
instances of the *note Win: 72. class.  New window objects are created
by calling the *note Win.Create: 73. method at all processes within a
communicator and specifying a memory buffer .  When a window instance is
no longer needed, the *note Win.Free: 74. method should be called.

The three one-sided MPI operations for remote write, read and reduction
are available through calling the methods *note Win.Put: 75, *note
Win.Get: 76, and *note Win.Accumulate: 77. respectively within a *note
Win: 72. instance.  These methods need an integer rank identifying the
target process and an integer offset relative the base address of the
remote memory block being accessed.

The one-sided operations read, write, and reduction are implicitly
nonblocking, and must be synchronized by using two primary modes.
Active target synchronization requires the origin process to call the
*note Win.Start: 78. and *note Win.Complete: 79. methods at the origin
process, and target process cooperates by calling the *note Win.Post:
7a. and *note Win.Wait: 7b. methods.  There is also a collective variant
provided by the *note Win.Fence: 7c. method.  Passive target
synchronization is more lenient, only the origin process calls the *note
Win.Lock: 7d. and *note Win.Unlock: 7e. methods.  Locks are used to
protect remote accesses to the locked remote window and to protect local
load/store accesses to a locked local window.


File: mpi4py.info,  Node: Parallel Input/Output,  Next: Environmental Management,  Prev: One-Sided Communications,  Up: Overview

2.8 Parallel Input/Output
=========================

The POSIX standard provides a model of a widely portable file system.
However, the optimization needed for parallel input/output cannot be
achieved with this generic interface.  In order to ensure efficiency and
scalability, the underlying parallel input/output system must provide a
high-level interface supporting partitioning of file data among
processes and a collective interface supporting complete transfers of
global data structures between process memories and files.
Additionally, further efficiencies can be gained via support for
asynchronous input/output, strided accesses to data, and control over
physical file layout on storage devices.  This scenario motivated the
inclusion in the MPI-2 standard of a custom interface in order to
support more elaborated parallel input/output operations.

The MPI specification for parallel input/output revolves around the use
objects called ‘files’.  As defined by MPI, files are not just
contiguous byte streams.  Instead, they are regarded as ordered
collections of ‘typed’ data items.  MPI supports sequential or random
access to any integral set of these items.  Furthermore, files are
opened collectively by a group of processes.

The common patterns for accessing a shared file (broadcast, scatter,
gather, reduction) is expressed by using user-defined datatypes.
Compared to the communication patterns of point-to-point and collective
communications, this approach has the advantage of added flexibility and
expressiveness.  Data access operations (read and write) are defined for
different kinds of positioning (using explicit offsets, individual file
pointers, and shared file pointers), coordination (non-collective and
collective), and synchronism (blocking, nonblocking, and split
collective with begin/end phases).

In ‘MPI for Python’, all MPI input/output operations are performed
through instances of the *note File: 80. class.  File handles are
obtained by calling the *note File.Open: 81. method at all processes
within a communicator and providing a file name and the intended access
mode.  After use, they must be closed by calling the *note File.Close:
82. method.  Files even can be deleted by calling method *note
File.Delete: 83.

After creation, files are typically associated with a per-process
‘view’.  The view defines the current set of data visible and accessible
from an open file as an ordered set of elementary datatypes.  This data
layout can be set and queried with the *note File.Set_view: 84. and
*note File.Get_view: 85. methods respectively.

Actual input/output operations are achieved by many methods combining
read and write calls with different behavior regarding positioning,
coordination, and synchronism.  Summing up, ‘MPI for Python’ provides
the thirty (30) methods defined in MPI-2 for reading from or writing to
files using explicit offsets or file pointers (individual or shared), in
blocking or nonblocking and collective or noncollective versions.


File: mpi4py.info,  Node: Environmental Management,  Prev: Parallel Input/Output,  Up: Overview

2.9 Environmental Management
============================

* Menu:

* Initialization and Exit::
* Implementation Information::
* Timers::
* Error Handling::


File: mpi4py.info,  Node: Initialization and Exit,  Next: Implementation Information,  Up: Environmental Management

2.9.1 Initialization and Exit
-----------------------------

Module functions *note Init: 88. or *note Init_thread: 89. and *note
Finalize: 8a. provide MPI initialization and finalization respectively.
Module functions *note Is_initialized: 8b. and *note Is_finalized: 8c.
provide the respective tests for initialization and finalization.

     Note: ‘MPI_Init()’ or ‘MPI_Init_thread()’ is actually called when
     you import the *note MPI: 2. module from the *note mpi4py: 0.
     package, but only if MPI is not already initialized.  In such case,
     calling *note Init: 88. or *note Init_thread: 89. from Python is
     expected to generate an MPI error, and in turn an exception will be
     raised.

     Note: ‘MPI_Finalize()’ is registered (by using Python C/API
     function Py_AtExit()(1)) for being automatically called when Python
     processes exit, but only if *note mpi4py: 0. actually initialized
     MPI. Therefore, there is no need to call *note Finalize: 8a. from
     Python to ensure MPI finalization.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/c-api/sys.html#c.Py_AtExit


File: mpi4py.info,  Node: Implementation Information,  Next: Timers,  Prev: Initialization and Exit,  Up: Environmental Management

2.9.2 Implementation Information
--------------------------------

   * The MPI version number can be retrieved from module function *note
     Get_version: 8e.  It returns a two-integer tuple ‘(version,
     subversion)’.

   * The *note Get_processor_name: 8f. function can be used to access
     the processor name.

   * The values of predefined attributes attached to the world
     communicator can be obtained by calling the *note Comm.Get_attr:
     90. method within the *note COMM_WORLD: 20. instance.


File: mpi4py.info,  Node: Timers,  Next: Error Handling,  Prev: Implementation Information,  Up: Environmental Management

2.9.3 Timers
------------

MPI timer functionalities are available through the *note Wtime: 92. and
*note Wtick: 93. functions.


File: mpi4py.info,  Node: Error Handling,  Prev: Timers,  Up: Environmental Management

2.9.4 Error Handling
--------------------

In order facilitate handle sharing with other Python modules interfacing
MPI-based parallel libraries, the predefined MPI error handlers *note
ERRORS_RETURN: 95. and *note ERRORS_ARE_FATAL: 96. can be assigned to
and retrieved from communicators using methods *note
Comm.Set_errhandler: 97. and *note Comm.Get_errhandler: 98, and
similarly for windows and files.

When the predefined error handler *note ERRORS_RETURN: 95. is set,
errors returned from MPI calls within Python code will raise an instance
of the exception class *note Exception: 99, which is a subclass of the
standard Python exception RuntimeError(1).

     Note: After import, mpi4py overrides the default MPI rules
     governing inheritance of error handlers.  The *note ERRORS_RETURN:
     95. error handler is set in the predefined *note COMM_SELF: 1f. and
     *note COMM_WORLD: 20. communicators, as well as any new *note Comm:
     1a, *note Win: 72, or *note File: 80. instance created through
     mpi4py.  If you ever pass such handles to C/C++/Fortran library
     code, it is recommended to set the *note ERRORS_ARE_FATAL: 96.
     error handler on them to ensure MPI errors do not pass silently.

     Warning: Importing with ‘from mpi4py.MPI import *’ will cause a
     name clashing with the standard Python Exception(2) base class.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/exceptions.html#RuntimeError

   (2) https://docs.python.org/3/library/exceptions.html#Exception


File: mpi4py.info,  Node: Tutorial,  Next: mpi4py,  Prev: Overview,  Up: Top

3 Tutorial
**********

     Warning: Under construction.  Contributions very welcome!

     Tip: Rolf Rabenseifner(1) at HLRS(2) developed a comprehensive
     MPI-3.1/4.0 course with slides and a large set of exercises
     including solutions.  This material is available online(3) for
     self-study.  The slides and exercises show the C, Fortran, and
     Python (mpi4py) interfaces.  For performance reasons, most Python
     exercises use NumPy arrays and communication routines involving
     buffer-like objects.

     Tip: Victor Eijkhout(4) at TACC(5) authored the book ‘Parallel
     Programming for Science and Engineering’.  This book is available
     online in PDF(6) and HTML(7) formats.  The book covers parallel
     programming with MPI and OpenMP in C/C++ and Fortran, and MPI in
     Python using mpi4py.

‘MPI for Python’ supports convenient, ‘pickle’-based communication of
generic Python object as well as fast, near C-speed, direct array data
communication of buffer-provider objects (e.g., NumPy arrays).

   * Communication of generic Python objects

     You have to use methods with ‘all-lowercase’ names, like *note
     Comm.send: 39, *note Comm.recv: 3a, *note Comm.bcast: 4e, *note
     Comm.scatter: 4f, *note Comm.gather: 50. .  An object to be sent is
     passed as a parameter to the communication call, and the received
     object is simply the return value.

     The *note Comm.isend: 9c. and *note Comm.irecv: 9d. methods return
     *note Request: 3f. instances; completion of these methods can be
     managed using the *note Request.test: 9e. and *note Request.wait:
     9f. methods.

     The *note Comm.recv: 3a. and *note Comm.irecv: 9d. methods may be
     passed a buffer object that can be repeatedly used to receive
     messages avoiding internal memory allocation.  This buffer must be
     sufficiently large to accommodate the transmitted messages; hence,
     any buffer passed to *note Comm.recv: 3a. or *note Comm.irecv: 9d.
     must be at least as long as the ‘pickled’ data transmitted to the
     receiver.

     Collective calls like *note Comm.scatter: 4f, *note Comm.gather:
     50, *note Comm.allgather: 51, *note Comm.alltoall: 52. expect a
     single value or a sequence of *note Comm.size: a0. elements at the
     root or all process.  They return a single value, a list of *note
     Comm.size: a0. elements, or None(8).

          Note: ‘MPI for Python’ uses the ‘highest’ protocol version(9)
          available in the Python runtime (see the HIGHEST_PROTOCOL(10)
          constant in the pickle(11) module).  The default protocol can
          be changed at import time by setting the *note
          MPI4PY_PICKLE_PROTOCOL: a1. environment variable, or at
          runtime by assigning a different value to the *note PROTOCOL:
          a2. attribute of the *note pickle: a3. object within the *note
          MPI: 2. module.

   * Communication of buffer-like objects

     You have to use method names starting with an ‘upper-case’ letter,
     like *note Comm.Send: 36, *note Comm.Recv: 37, *note Comm.Bcast:
     49, *note Comm.Scatter: 4a, *note Comm.Gather: 4b.

     In general, buffer arguments to these calls must be explicitly
     specified by using a 2/3-list/tuple like ‘[data, MPI.DOUBLE]’, or
     ‘[data, count, MPI.DOUBLE]’ (the former one uses the byte-size of
     ‘data’ and the extent of the MPI datatype to define ‘count’).

     For vector collectives communication operations like *note
     Comm.Scatterv: 53. and *note Comm.Gatherv: 54, buffer arguments are
     specified as ‘[data, count, displ, datatype]’, where ‘count’ and
     ‘displ’ are sequences of integral values.

     Automatic MPI datatype discovery for NumPy/GPU arrays and PEP-3118
     buffers is supported, but limited to basic C types (all
     C/C99-native signed/unsigned integral types and single/double
     precision real/complex floating types) and availability of matching
     datatypes in the underlying MPI implementation.  In this case, the
     buffer-provider object can be passed directly as a buffer argument,
     the count and MPI datatype will be inferred.

     If mpi4py is built against a GPU-aware MPI implementation, GPU
     arrays can be passed to upper-case methods as long as they have
     either the ‘__dlpack__’ and ‘__dlpack_device__’ methods or the
     ‘__cuda_array_interface__’ attribute that are compliant with the
     respective standard specifications.  Moreover, only C-contiguous or
     Fortran-contiguous GPU arrays are supported.  It is important to
     note that GPU buffers must be fully ready before any MPI routines
     operate on them to avoid race conditions.  This can be ensured by
     using the synchronization API of your array library.  mpi4py does
     not have access to any GPU-specific functionality and thus cannot
     perform this operation automatically for users.

* Menu:

* Running Python scripts with MPI::
* Point-to-Point Communication::
* Collective Communication::
* MPI-IO::
* Dynamic Process Management: Dynamic Process Management<2>.
* CUDA-aware MPI + Python GPU arrays::
* One-Sided Communications: One-Sided Communications<2>.
* Wrapping with SWIG::
* Wrapping with F2Py::

   ---------- Footnotes ----------

   (1) https://www.hlrs.de/people/rabenseifner/

   (2) https://www.hlrs.de/

   (3) https://www.hlrs.de/training/par-prog-ws/MPI-course-material

   (4) https://tacc.utexas.edu/~eijkhout/

   (5) https://www.tacc.utexas.edu/

   (6) https://tinyurl.com/vle335course

   (7) https://tacc.utexas.edu/~eijkhout/pcse/html/index.html

   (8) https://docs.python.org/3/library/constants.html#None

   (9) https://docs.python.org/3/library/pickle.html#pickle-protocols

   (10) 
https://docs.python.org/3/library/pickle.html#pickle.HIGHEST_PROTOCOL

   (11) https://docs.python.org/3/library/pickle.html#module-pickle


File: mpi4py.info,  Node: Running Python scripts with MPI,  Next: Point-to-Point Communication,  Up: Tutorial

3.1 Running Python scripts with MPI
===================================

Most MPI programs can be run with the command ‘mpiexec’.  In practice,
running Python programs looks like:

     $ mpiexec -n 4 python script.py

to run the program with 4 processors.


File: mpi4py.info,  Node: Point-to-Point Communication,  Next: Collective Communication,  Prev: Running Python scripts with MPI,  Up: Tutorial

3.2 Point-to-Point Communication
================================

   * Python objects (pickle(1) under the hood):

          from mpi4py import MPI

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()

          if rank == 0:
              data = {'a': 7, 'b': 3.14}
              comm.send(data, dest=1, tag=11)
          elif rank == 1:
              data = comm.recv(source=0, tag=11)

   * Python objects with non-blocking communication:

          from mpi4py import MPI

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()

          if rank == 0:
              data = {'a': 7, 'b': 3.14}
              req = comm.isend(data, dest=1, tag=11)
              req.wait()
          elif rank == 1:
              req = comm.irecv(source=0, tag=11)
              data = req.wait()

   * NumPy arrays (the fast way!):

          from mpi4py import MPI
          import numpy

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()

          # passing MPI datatypes explicitly
          if rank == 0:
              data = numpy.arange(1000, dtype='i')
              comm.Send([data, MPI.INT], dest=1, tag=77)
          elif rank == 1:
              data = numpy.empty(1000, dtype='i')
              comm.Recv([data, MPI.INT], source=0, tag=77)

          # automatic MPI datatype discovery
          if rank == 0:
              data = numpy.arange(100, dtype=numpy.float64)
              comm.Send(data, dest=1, tag=13)
          elif rank == 1:
              data = numpy.empty(100, dtype=numpy.float64)
              comm.Recv(data, source=0, tag=13)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/pickle.html#module-pickle


File: mpi4py.info,  Node: Collective Communication,  Next: MPI-IO,  Prev: Point-to-Point Communication,  Up: Tutorial

3.3 Collective Communication
============================

   * Broadcasting a Python dictionary:

          from mpi4py import MPI

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()

          if rank == 0:
              data = {'key1' : [7, 2.72, 2+3j],
                      'key2' : ( 'abc', 'xyz')}
          else:
              data = None
          data = comm.bcast(data, root=0)

   * Scattering Python objects:

          from mpi4py import MPI

          comm = MPI.COMM_WORLD
          size = comm.Get_size()
          rank = comm.Get_rank()

          if rank == 0:
              data = [(i+1)**2 for i in range(size)]
          else:
              data = None
          data = comm.scatter(data, root=0)
          assert data == (rank+1)**2

   * Gathering Python objects:

          from mpi4py import MPI

          comm = MPI.COMM_WORLD
          size = comm.Get_size()
          rank = comm.Get_rank()

          data = (rank+1)**2
          data = comm.gather(data, root=0)
          if rank == 0:
              for i in range(size):
                  assert data[i] == (i+1)**2
          else:
              assert data is None

   * Broadcasting a NumPy array:

          from mpi4py import MPI
          import numpy as np

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()

          if rank == 0:
              data = np.arange(100, dtype='i')
          else:
              data = np.empty(100, dtype='i')
          comm.Bcast(data, root=0)
          for i in range(100):
              assert data[i] == i

   * Scattering NumPy arrays:

          from mpi4py import MPI
          import numpy as np

          comm = MPI.COMM_WORLD
          size = comm.Get_size()
          rank = comm.Get_rank()

          sendbuf = None
          if rank == 0:
              sendbuf = np.empty([size, 100], dtype='i')
              sendbuf.T[:,:] = range(size)
          recvbuf = np.empty(100, dtype='i')
          comm.Scatter(sendbuf, recvbuf, root=0)
          assert np.allclose(recvbuf, rank)

   * Gathering NumPy arrays:

          from mpi4py import MPI
          import numpy as np

          comm = MPI.COMM_WORLD
          size = comm.Get_size()
          rank = comm.Get_rank()

          sendbuf = np.zeros(100, dtype='i') + rank
          recvbuf = None
          if rank == 0:
              recvbuf = np.empty([size, 100], dtype='i')
          comm.Gather(sendbuf, recvbuf, root=0)
          if rank == 0:
              for i in range(size):
                  assert np.allclose(recvbuf[i,:], i)

   * Parallel matrix-vector product:

          from mpi4py import MPI
          import numpy

          def matvec(comm, A, x):
              m = A.shape[0] # local rows
              p = comm.Get_size()
              xg = numpy.zeros(m*p, dtype='d')
              comm.Allgather([x,  MPI.DOUBLE],
                             [xg, MPI.DOUBLE])
              y = numpy.dot(A, xg)
              return y


File: mpi4py.info,  Node: MPI-IO,  Next: Dynamic Process Management<2>,  Prev: Collective Communication,  Up: Tutorial

3.4 MPI-IO
==========

   * Collective I/O with NumPy arrays:

          from mpi4py import MPI
          import numpy as np

          amode = MPI.MODE_WRONLY|MPI.MODE_CREATE
          comm = MPI.COMM_WORLD
          fh = MPI.File.Open(comm, "./datafile.contig", amode)

          buffer = np.empty(10, dtype=np.int)
          buffer[:] = comm.Get_rank()

          offset = comm.Get_rank()*buffer.nbytes
          fh.Write_at_all(offset, buffer)

          fh.Close()

   * Non-contiguous Collective I/O with NumPy arrays and datatypes:

          from mpi4py import MPI
          import numpy as np

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()
          size = comm.Get_size()

          amode = MPI.MODE_WRONLY|MPI.MODE_CREATE
          fh = MPI.File.Open(comm, "./datafile.noncontig", amode)

          item_count = 10

          buffer = np.empty(item_count, dtype='i')
          buffer[:] = rank

          filetype = MPI.INT.Create_vector(item_count, 1, size)
          filetype.Commit()

          displacement = MPI.INT.Get_size()*rank
          fh.Set_view(displacement, filetype=filetype)

          fh.Write_all(buffer)
          filetype.Free()
          fh.Close()


File: mpi4py.info,  Node: Dynamic Process Management<2>,  Next: CUDA-aware MPI + Python GPU arrays,  Prev: MPI-IO,  Up: Tutorial

3.5 Dynamic Process Management
==============================

   * Compute Pi - Master (or parent, or client) side:

          #!/usr/bin/env python
          from mpi4py import MPI
          import numpy
          import sys

          comm = MPI.COMM_SELF.Spawn(sys.executable,
                                     args=['cpi.py'],
                                     maxprocs=5)

          N = numpy.array(100, 'i')
          comm.Bcast([N, MPI.INT], root=MPI.ROOT)
          PI = numpy.array(0.0, 'd')
          comm.Reduce(None, [PI, MPI.DOUBLE],
                      op=MPI.SUM, root=MPI.ROOT)
          print(PI)

          comm.Disconnect()

   * Compute Pi - Worker (or child, or server) side:

          #!/usr/bin/env python
          from mpi4py import MPI
          import numpy

          comm = MPI.Comm.Get_parent()
          size = comm.Get_size()
          rank = comm.Get_rank()

          N = numpy.array(0, dtype='i')
          comm.Bcast([N, MPI.INT], root=0)
          h = 1.0 / N; s = 0.0
          for i in range(rank, N, size):
              x = h * (i + 0.5)
              s += 4.0 / (1.0 + x**2)
          PI = numpy.array(s * h, dtype='d')
          comm.Reduce([PI, MPI.DOUBLE], None,
                      op=MPI.SUM, root=0)

          comm.Disconnect()


File: mpi4py.info,  Node: CUDA-aware MPI + Python GPU arrays,  Next: One-Sided Communications<2>,  Prev: Dynamic Process Management<2>,  Up: Tutorial

3.6 CUDA-aware MPI + Python GPU arrays
======================================

   * Reduce-to-all CuPy arrays:

          from mpi4py import MPI
          import cupy as cp

          comm = MPI.COMM_WORLD
          size = comm.Get_size()
          rank = comm.Get_rank()

          sendbuf = cp.arange(10, dtype='i')
          recvbuf = cp.empty_like(sendbuf)
          assert hasattr(sendbuf, '__cuda_array_interface__')
          assert hasattr(recvbuf, '__cuda_array_interface__')
          cp.cuda.get_current_stream().synchronize()
          comm.Allreduce(sendbuf, recvbuf)

          assert cp.allclose(recvbuf, sendbuf*size)


File: mpi4py.info,  Node: One-Sided Communications<2>,  Next: Wrapping with SWIG,  Prev: CUDA-aware MPI + Python GPU arrays,  Up: Tutorial

3.7 One-Sided Communications
============================

   * Read from (write to) the entire RMA window:

          import numpy as np
          from mpi4py import MPI
          from mpi4py.util import dtlib

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()

          datatype = MPI.FLOAT
          np_dtype = dtlib.to_numpy_dtype(datatype)
          itemsize = datatype.Get_size()

          N = 10
          win_size = N * itemsize if rank == 0 else 0
          win = MPI.Win.Allocate(win_size, comm=comm)

          buf = np.empty(N, dtype=np_dtype)
          if rank == 0:
              buf.fill(42)
              win.Lock(rank=0)
              win.Put(buf, target_rank=0)
              win.Unlock(rank=0)
              comm.Barrier()
          else:
              comm.Barrier()
              win.Lock(rank=0)
              win.Get(buf, target_rank=0)
              win.Unlock(rank=0)
              assert np.all(buf == 42)

   * Accessing a part of the RMA window using the ‘target’ argument,
     which is defined as ‘(offset, count, datatype)’:

          import numpy as np
          from mpi4py import MPI
          from mpi4py.util import dtlib

          comm = MPI.COMM_WORLD
          rank = comm.Get_rank()

          datatype = MPI.FLOAT
          np_dtype = dtlib.to_numpy_dtype(datatype)
          itemsize = datatype.Get_size()

          N = comm.Get_size() + 1
          win_size = N * itemsize if rank == 0 else 0
          win = MPI.Win.Allocate(
              size=win_size,
              disp_unit=itemsize,
              comm=comm,
          )
          if rank == 0:
              mem = np.frombuffer(win, dtype=np_dtype)
              mem[:] = np.arange(len(mem), dtype=np_dtype)
          comm.Barrier()

          buf = np.zeros(3, dtype=np_dtype)
          target = (rank, 2, datatype)
          win.Lock(rank=0)
          win.Get(buf, target_rank=0, target=target)
          win.Unlock(rank=0)
          assert np.all(buf == [rank, rank+1, 0])


File: mpi4py.info,  Node: Wrapping with SWIG,  Next: Wrapping with F2Py,  Prev: One-Sided Communications<2>,  Up: Tutorial

3.8 Wrapping with SWIG
======================

   * C source:

          /* file: helloworld.c */
          void sayhello(MPI_Comm comm)
          {
            int size, rank;
            MPI_Comm_size(comm, &size);
            MPI_Comm_rank(comm, &rank);
            printf("Hello, World! "
                   "I am process %d of %d.\n",
                   rank, size);
          }

   * SWIG interface file:

          // file: helloworld.i
          %module helloworld
          %{
          #include <mpi.h>
          #include "helloworld.c"
          }%

          %include mpi4py/mpi4py.i
          %mpi4py_typemap(Comm, MPI_Comm);
          void sayhello(MPI_Comm comm);

   * Try it in the Python prompt:

          >>> from mpi4py import MPI
          >>> import helloworld
          >>> helloworld.sayhello(MPI.COMM_WORLD)
          Hello, World! I am process 0 of 1.


File: mpi4py.info,  Node: Wrapping with F2Py,  Prev: Wrapping with SWIG,  Up: Tutorial

3.9 Wrapping with F2Py
======================

   * Fortran 90 source:

          ! file: helloworld.f90
          subroutine sayhello(comm)
            use mpi
            implicit none
            integer :: comm, rank, size, ierr
            call MPI_Comm_size(comm, size, ierr)
            call MPI_Comm_rank(comm, rank, ierr)
            print *, 'Hello, World! I am process ',rank,' of ',size,'.'
          end subroutine sayhello

   * Compiling example using f2py

          $ f2py -c --f90exec=mpif90 helloworld.f90 -m helloworld

   * Try it in the Python prompt:

          >>> from mpi4py import MPI
          >>> import helloworld
          >>> fcomm = MPI.COMM_WORLD.py2f()
          >>> helloworld.sayhello(fcomm)
          Hello, World! I am process 0 of 1.


File: mpi4py.info,  Node: mpi4py,  Next: mpi4py MPI,  Prev: Tutorial,  Up: Top

4 mpi4py
********

This is the ‘MPI for Python’ package.

The ‘Message Passing Interface’ (MPI) is a standardized and portable
message-passing system designed to function on a wide variety of
parallel computers.  The MPI standard defines the syntax and semantics
of library routines and allows users to write portable programs in the
main scientific programming languages (Fortran, C, or C++).  Since its
release, the MPI specification has become the leading standard for
message-passing libraries for parallel computers.

‘MPI for Python’ provides MPI bindings for the Python programming
language, allowing any Python program to exploit multiple processors.
This package build on the MPI specification and provides an object
oriented interface which closely follows MPI-2 C++ bindings.

* Menu:

* Runtime configuration options::
* Environment variables::
* Miscellaneous functions::


File: mpi4py.info,  Node: Runtime configuration options,  Next: Environment variables,  Up: mpi4py

4.1 Runtime configuration options
=================================

 -- Data: mpi4py.rc

     This object has attributes exposing runtime configuration options
     that become effective at import time of the *note MPI: 2. module.

Attributes Summary
..................

*note initialize: b1.Automatic MPI initialization at import
                   
                   
*note threads: b2. Request initialization with thread support
                   
                   
*note thread_level: b3.Level of thread support to request
                   
                   
*note finalize: b4.Automatic MPI finalization at exit
                   
                   
*note fast_reduce: b5.Use tree-based reductions for objects
                   
                   
*note recv_mprobe: b6.Use matched probes to receive objects
                   
                   
*note errors: b7.  Error handling policy
                   

Attributes Documentation
........................

 -- Attribute: mpi4py.rc.initialize

     Automatic MPI initialization at import.


     Type: bool(1)


     Default: True(2)

     See also
     ........

     *note MPI4PY_RC_INITIALIZE: b8.

 -- Attribute: mpi4py.rc.threads

     Request initialization with thread support.


     Type: bool(3)


     Default: True(4)

     See also
     ........

     *note MPI4PY_RC_THREADS: b9.

 -- Attribute: mpi4py.rc.thread_level

     Level of thread support to request.


     Type: str(5)


     Default: ‘"multiple"’


     Choices: ‘"multiple"’, ‘"serialized"’, ‘"funneled"’, ‘"single"’

     See also
     ........

     *note MPI4PY_RC_THREAD_LEVEL: ba.

 -- Attribute: mpi4py.rc.finalize

     Automatic MPI finalization at exit.


     Type: None(6) or bool(7)


     Default: None(8)

     See also
     ........

     *note MPI4PY_RC_FINALIZE: bb.

 -- Attribute: mpi4py.rc.fast_reduce

     Use tree-based reductions for objects.


     Type: bool(9)


     Default: True(10)

     See also
     ........

     *note MPI4PY_RC_FAST_REDUCE: bc.

 -- Attribute: mpi4py.rc.recv_mprobe

     Use matched probes to receive objects.


     Type: bool(11)


     Default: True(12)

     See also
     ........

     *note MPI4PY_RC_RECV_MPROBE: bd.

 -- Attribute: mpi4py.rc.errors

     Error handling policy.


     Type: str(13)


     Default: ‘"exception"’


     Choices: ‘"exception"’, ‘"default"’, ‘"fatal"’

     See also
     ........

     *note MPI4PY_RC_ERRORS: be.

Example
.......

MPI for Python features automatic initialization and finalization of the
MPI execution environment.  By using the *note mpi4py.rc: b0. object,
MPI initialization and finalization can be handled programatically:

     import mpi4py
     mpi4py.rc.initialize = False  # do not initialize MPI automatically
     mpi4py.rc.finalize = False    # do not finalize MPI automatically

     from mpi4py import MPI # import the 'MPI' module

     MPI.Init()      # manual initialization of the MPI environment
     ...             # your finest code here ...
     MPI.Finalize()  # manual finalization of the MPI environment

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#bool

   (2) https://docs.python.org/3/library/constants.html#True

   (3) https://docs.python.org/3/library/functions.html#bool

   (4) https://docs.python.org/3/library/constants.html#True

   (5) https://docs.python.org/3/library/stdtypes.html#str

   (6) https://docs.python.org/3/library/constants.html#None

   (7) https://docs.python.org/3/library/functions.html#bool

   (8) https://docs.python.org/3/library/constants.html#None

   (9) https://docs.python.org/3/library/functions.html#bool

   (10) https://docs.python.org/3/library/constants.html#True

   (11) https://docs.python.org/3/library/functions.html#bool

   (12) https://docs.python.org/3/library/constants.html#True

   (13) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: Environment variables,  Next: Miscellaneous functions,  Prev: Runtime configuration options,  Up: mpi4py

4.2 Environment variables
=========================

The following environment variables override the corresponding
attributes of the *note mpi4py.rc: b0. and *note MPI.pickle: a3. objects
at import time of the *note MPI: 2. module.

     Note: For variables of boolean type, accepted values are ‘0’ and
     ‘1’ (interpreted as False(1) and True(2), respectively), and
     strings specifying a YAML boolean(3) value (case-insensitive).

 -- Environment Variable: MPI4PY_RC_INITIALIZE


     Type: bool(4)


     Default: True(5)

     Whether to automatically initialize MPI at import time of the *note
     mpi4py.MPI: 2. module.

     See also
     ........

     *note mpi4py.rc.initialize: b1.

     New in version 3.1.0.

 -- Environment Variable: MPI4PY_RC_FINALIZE


     Type: None(6) | bool(7)


     Default: None(8)


     Choices: None(9), True(10), False(11)

     Whether to automatically finalize MPI at exit time of the Python
     process.

     See also
     ........

     *note mpi4py.rc.finalize: b4.

     New in version 3.1.0.

 -- Environment Variable: MPI4PY_RC_THREADS


     Type: bool(12)


     Default: True(13)

     Whether to initialize MPI with thread support.

     See also
     ........

     *note mpi4py.rc.threads: b2.

     New in version 3.1.0.

 -- Environment Variable: MPI4PY_RC_THREAD_LEVEL


     Default: ‘"multiple"’


     Choices: ‘"single"’, ‘"funneled"’, ‘"serialized"’, ‘"multiple"’

     The level of required thread support.

     See also
     ........

     *note mpi4py.rc.thread_level: b3.

     New in version 3.1.0.

 -- Environment Variable: MPI4PY_RC_FAST_REDUCE


     Type: bool(14)


     Default: True(15)

     Whether to use tree-based reductions for objects.

     See also
     ........

     *note mpi4py.rc.fast_reduce: b5.

     New in version 3.1.0.

 -- Environment Variable: MPI4PY_RC_RECV_MPROBE


     Type: bool(16)


     Default: True(17)

     Whether to use matched probes to receive objects.

     See also
     ........

     *note mpi4py.rc.recv_mprobe: b6.

 -- Environment Variable: MPI4PY_RC_ERRORS


     Default: ‘"exception"’


     Choices: ‘"exception"’, ‘"default"’, ‘"fatal"’

     Controls default MPI error handling policy.

     See also
     ........

     *note mpi4py.rc.errors: b7.

     New in version 3.1.0.

 -- Environment Variable: MPI4PY_PICKLE_PROTOCOL


     Type: int(18)


     Default: pickle.HIGHEST_PROTOCOL(19)

     Controls the default pickle protocol to use when communicating
     Python objects.

     See also
     ........

     *note PROTOCOL: a2. attribute of the *note MPI.pickle: a3. object
     within the *note MPI: 2. module.

     New in version 3.1.0.

 -- Environment Variable: MPI4PY_PICKLE_THRESHOLD


     Type: int(20)


     Default: ‘262144’

     Controls the default buffer size threshold for switching from
     in-band to out-of-band buffer handling when using pickle protocol
     version 5 or higher.

     See also
     ........

     Module *note mpi4py.util.pkl5: 6.

     New in version 3.1.2.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/constants.html#False

   (2) https://docs.python.org/3/library/constants.html#True

   (3) https://yaml.org/type/bool.html

   (4) https://docs.python.org/3/library/functions.html#bool

   (5) https://docs.python.org/3/library/constants.html#True

   (6) https://docs.python.org/3/library/constants.html#None

   (7) https://docs.python.org/3/library/functions.html#bool

   (8) https://docs.python.org/3/library/constants.html#None

   (9) https://docs.python.org/3/library/constants.html#None

   (10) https://docs.python.org/3/library/constants.html#True

   (11) https://docs.python.org/3/library/constants.html#False

   (12) https://docs.python.org/3/library/functions.html#bool

   (13) https://docs.python.org/3/library/constants.html#True

   (14) https://docs.python.org/3/library/functions.html#bool

   (15) https://docs.python.org/3/library/constants.html#True

   (16) https://docs.python.org/3/library/functions.html#bool

   (17) https://docs.python.org/3/library/constants.html#True

   (18) https://docs.python.org/3/library/functions.html#int

   (19) 
https://docs.python.org/3/library/pickle.html#pickle.HIGHEST_PROTOCOL

   (20) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: Miscellaneous functions,  Prev: Environment variables,  Up: mpi4py

4.3 Miscellaneous functions
===========================

 -- Function: mpi4py.profile (name, *, path=None, logfile=None)

     Support for the MPI profiling interface.


     Parameters:

        * ‘name’ (str(1)) – Name of the profiler library to load.

        * ‘path’ (sequence(2) of str(3), ‘optional’) – Additional paths
          to search for the profiler.

        * ‘logfile’ (str(4), ‘optional’) – Filename prefix for dumping
          profiler output.


     Return type: None

 -- Function: mpi4py.get_config ()

     Return a dictionary with information about MPI.


     Return type: Dict(5)[str(6), str(7)]

 -- Function: mpi4py.get_include ()

     Return the directory in the package that contains header files.

     Extension modules that need to compile against mpi4py should use
     this function to locate the appropriate include directory.  Using
     Python distutils (or perhaps NumPy distutils):

          import mpi4py
          Extension('extension_name', ...
                    include_dirs=[..., mpi4py.get_include()])


     Return type: str(8)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str

   (2) https://docs.python.org/3/glossary.html#term-sequence

   (3) https://docs.python.org/3/library/stdtypes.html#str

   (4) https://docs.python.org/3/library/stdtypes.html#str

   (5) https://docs.python.org/3/library/typing.html#typing.Dict

   (6) https://docs.python.org/3/library/stdtypes.html#str

   (7) https://docs.python.org/3/library/stdtypes.html#str

   (8) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI,  Next: mpi4py futures,  Prev: mpi4py,  Up: Top

5 mpi4py.MPI
************

* Menu:

* Classes::
* Functions::
* Attributes::


File: mpi4py.info,  Node: Classes,  Next: Functions,  Up: mpi4py MPI

5.1 Classes
===========

Ancillary
.........

*note Datatype: c8.([datatype])Datatype object
               
               
*note Status: c9.([status])Status object
               
               
*note Request: 3f.([request])Request handle
               
               
*note Prequest: 46.([request])Persistent request handle
               
               
*note Grequest: ca.([request])Generalized request handle
               
               
*note Op: cb.([op])Operation object
               
               
*note Group: 24.([group])Group of processes
               
               
*note Info: cc.([info])Info object
               

Communication
.............

*note Comm: 1a.([comm])Communicator
               
               
*note Intracomm: 1b.([comm])Intracommunicator
               
               
*note Topocomm: cd.([comm])Topology intracommunicator
               
               
*note Cartcomm: 2f.([comm])Cartesian topology intracommunicator
               
               
*note Graphcomm: 30.([comm])General graph topology intracommunicator
               
               
*note Distgraphcomm: 31.([comm])Distributed graph topology intracommunicator
               
               
*note Intercomm: 1c.([comm])Intercommunicator
               
               
*note Message: ce.([message])Matched message handle
               

One-sided operations
....................

*note Win: 72.([win])Window handle
               

Input/Output
............

*note File: 80.([file])File handle
               

Error handling
..............

*note Errhandler: cf.([errhandler])Error handler
               
               
*note Exception: 99.([ierr])Exception class
               

Auxiliary
.........

*note Pickle: d0.([dumps,Pickle/unpickle Python objects
loads,         
protocol])

*note memory: d1.(buf)Memory buffer
               


File: mpi4py.info,  Node: Functions,  Next: Attributes,  Prev: Classes,  Up: mpi4py MPI

5.2 Functions
=============

Version inquiry
...............

*note Get_version: 8e.()Obtain the version number of the MPI standard supported by the implementation as a tuple
               ‘(version, subversion)’
               
               
*note Get_library_version: d3.()Obtain the version string of the MPI library
               

Initialization and finalization
...............................

*note Init: 88.()Initialize the MPI execution environment
               
               
*note Init_thread: 89.([required])Initialize the MPI execution environment
               
               
*note Finalize: 8a.()Terminate the MPI execution environment
               
               
*note Is_initialized: 8b.()Indicates whether *note Init: 88. has been called
               
               
*note Is_finalized: 8c.()Indicates whether *note Finalize: 8a. has completed
               
               
*note Query_thread: d4.()Return the level of thread support provided by the MPI library
               
               
*note Is_thread_main: d5.()Indicate whether this thread called *note Init: 88. or *note Init_thread: 89.
               

Memory allocation
.................

*note Alloc_mem: d6.(size[,Allocate memory for message passing and RMA
info])         

*note Free_mem: d7.(mem)Free memory allocated with *note Alloc_mem(): d6.
               

Address manipulation
....................

*note Get_address: d8.(location)Get the address of a location in memory
               
               
*note Aint_add: d9.(base,Return the sum of base address and displacement
disp)          

*note Aint_diff: da.(addr1,Return the difference between absolute addresses
addr2)         

Timer
.....

*note Wtick: 93.()Return the resolution of *note Wtime: 92.
               
               
*note Wtime: 92.()Return an elapsed time on the calling processor
               

Error handling
..............

*note Get_error_class: db.(errorcode)Convert an ‘error code’ into an ‘error class’
               
               
*note Get_error_string: dc.(errorcode)Return the ‘error string’ for a given ‘error class’ or ‘error code’
               
               
*note Add_error_class: dd.()Add an ‘error class’ to the known error classes
               
               
*note Add_error_code: de.(errorclass)Add an ‘error code’ to an ‘error class’
               
               
*note Add_error_string: df.(errorcode,Associate an ‘error string’ with an ‘error class’ or ‘errorcode’
string)        

Dynamic process management
..........................

*note Open_port: 69.([info])Return an address that can be used to establish connections between groups of MPI processes
               
               
*note Close_port: 70.(port_name)Close a port
               
               
*note Publish_name: 6a.(service_name,Publish a service name
port_name[,    
info])

*note Unpublish_name: 6f.(service_name,Unpublish a service name
port_name[,    
info])

*note Lookup_name: 6c.(service_name[,Lookup a port name given a service name
info])         

Miscellanea
...........

*note Attach_buffer: e0.(buf)Attach a user-provided buffer for sending in buffered mode
               
               
*note Detach_buffer: e1.()Remove an existing attached buffer
               
               
*note Compute_dims: e2.(nnodes,Return a balanced distribution of processes per coordinate direction
dims)          

*note Get_processor_name: 8f.()Obtain the name of the calling processor
               
               
*note Register_datarep: e3.(datarep,Register user-defined data representations
read_fn,       
write_fn,
...)

*note Pcontrol: e4.(level)Control profiling
               

Utilities
.........

*note get_vendor: e5.()Infomation about the underlying MPI implementation
               


File: mpi4py.info,  Node: Attributes,  Prev: Functions,  Up: mpi4py MPI

5.3 Attributes
==============

*note UNDEFINED: e7.int(1) ‘UNDEFINED’
               
               
*note ANY_SOURCE: e8.int(2) ‘ANY_SOURCE’
               
               
*note ANY_TAG: e9.int(3) ‘ANY_TAG’
               
               
*note PROC_NULL: ea.int(4) ‘PROC_NULL’
               
               
*note ROOT: eb.int(5) ‘ROOT’
               
               
*note BOTTOM: ec.‘Bottom’ ‘BOTTOM’
               
               
*note IN_PLACE: ed.‘InPlace’ ‘IN_PLACE’
               
               
*note KEYVAL_INVALID: ee.int(6) ‘KEYVAL_INVALID’
               
               
*note TAG_UB: ef.int(7) ‘TAG_UB’
               
               
*note HOST: f0.int(8) ‘HOST’
               
               
*note IO: f1.  int(9) ‘IO’
               
               
*note WTIME_IS_GLOBAL: f2.int(10) ‘WTIME_IS_GLOBAL’
               
               
*note UNIVERSE_SIZE: f3.int(11) ‘UNIVERSE_SIZE’
               
               
*note APPNUM: f4.int(12) ‘APPNUM’
               
               
*note LASTUSEDCODE: f5.int(13) ‘LASTUSEDCODE’
               
               
*note WIN_BASE: f6.int(14) ‘WIN_BASE’
               
               
*note WIN_SIZE: f7.int(15) ‘WIN_SIZE’
               
               
*note WIN_DISP_UNIT: f8.int(16) ‘WIN_DISP_UNIT’
               
               
*note WIN_CREATE_FLAVOR: f9.int(17) ‘WIN_CREATE_FLAVOR’
               
               
*note WIN_FLAVOR: fa.int(18) ‘WIN_FLAVOR’
               
               
*note WIN_MODEL: fb.int(19) ‘WIN_MODEL’
               
               
*note SUCCESS: fc.int(20) ‘SUCCESS’
               
               
*note ERR_LASTCODE: fd.int(21) ‘ERR_LASTCODE’
               
               
*note ERR_COMM: fe.int(22) ‘ERR_COMM’
               
               
*note ERR_GROUP: ff.int(23) ‘ERR_GROUP’
               
               
*note ERR_TYPE: 100.int(24) ‘ERR_TYPE’
               
               
*note ERR_REQUEST: 101.int(25) ‘ERR_REQUEST’
               
               
*note ERR_OP: 102.int(26) ‘ERR_OP’
               
               
*note ERR_BUFFER: 103.int(27) ‘ERR_BUFFER’
               
               
*note ERR_COUNT: 104.int(28) ‘ERR_COUNT’
               
               
*note ERR_TAG: 105.int(29) ‘ERR_TAG’
               
               
*note ERR_RANK: 106.int(30) ‘ERR_RANK’
               
               
*note ERR_ROOT: 107.int(31) ‘ERR_ROOT’
               
               
*note ERR_TRUNCATE: 108.int(32) ‘ERR_TRUNCATE’
               
               
*note ERR_IN_STATUS: 109.int(33) ‘ERR_IN_STATUS’
               
               
*note ERR_PENDING: 10a.int(34) ‘ERR_PENDING’
               
               
*note ERR_TOPOLOGY: 10b.int(35) ‘ERR_TOPOLOGY’
               
               
*note ERR_DIMS: 10c.int(36) ‘ERR_DIMS’
               
               
*note ERR_ARG: 10d.int(37) ‘ERR_ARG’
               
               
*note ERR_OTHER: 10e.int(38) ‘ERR_OTHER’
               
               
*note ERR_UNKNOWN: 10f.int(39) ‘ERR_UNKNOWN’
               
               
*note ERR_INTERN: 110.int(40) ‘ERR_INTERN’
               
               
*note ERR_INFO: 111.int(41) ‘ERR_INFO’
               
               
*note ERR_FILE: 112.int(42) ‘ERR_FILE’
               
               
*note ERR_WIN: 113.int(43) ‘ERR_WIN’
               
               
*note ERR_KEYVAL: 114.int(44) ‘ERR_KEYVAL’
               
               
*note ERR_INFO_KEY: 115.int(45) ‘ERR_INFO_KEY’
               
               
*note ERR_INFO_VALUE: 116.int(46) ‘ERR_INFO_VALUE’
               
               
*note ERR_INFO_NOKEY: 117.int(47) ‘ERR_INFO_NOKEY’
               
               
*note ERR_ACCESS: 118.int(48) ‘ERR_ACCESS’
               
               
*note ERR_AMODE: 119.int(49) ‘ERR_AMODE’
               
               
*note ERR_BAD_FILE: 11a.int(50) ‘ERR_BAD_FILE’
               
               
*note ERR_FILE_EXISTS: 11b.int(51) ‘ERR_FILE_EXISTS’
               
               
*note ERR_FILE_IN_USE: 11c.int(52) ‘ERR_FILE_IN_USE’
               
               
*note ERR_NO_SPACE: 11d.int(53) ‘ERR_NO_SPACE’
               
               
*note ERR_NO_SUCH_FILE: 11e.int(54) ‘ERR_NO_SUCH_FILE’
               
               
*note ERR_IO: 11f.int(55) ‘ERR_IO’
               
               
*note ERR_READ_ONLY: 120.int(56) ‘ERR_READ_ONLY’
               
               
*note ERR_CONVERSION: 121.int(57) ‘ERR_CONVERSION’
               
               
*note ERR_DUP_DATAREP: 122.int(58) ‘ERR_DUP_DATAREP’
               
               
*note ERR_UNSUPPORTED_DATAREP: 123.int(59) ‘ERR_UNSUPPORTED_DATAREP’
               
               
*note ERR_UNSUPPORTED_OPERATION: 124.int(60) ‘ERR_UNSUPPORTED_OPERATION’
               
               
*note ERR_NAME: 125.int(61) ‘ERR_NAME’
               
               
*note ERR_NO_MEM: 126.int(62) ‘ERR_NO_MEM’
               
               
*note ERR_NOT_SAME: 127.int(63) ‘ERR_NOT_SAME’
               
               
*note ERR_PORT: 128.int(64) ‘ERR_PORT’
               
               
*note ERR_QUOTA: 129.int(65) ‘ERR_QUOTA’
               
               
*note ERR_SERVICE: 12a.int(66) ‘ERR_SERVICE’
               
               
*note ERR_SPAWN: 12b.int(67) ‘ERR_SPAWN’
               
               
*note ERR_BASE: 12c.int(68) ‘ERR_BASE’
               
               
*note ERR_SIZE: 12d.int(69) ‘ERR_SIZE’
               
               
*note ERR_DISP: 12e.int(70) ‘ERR_DISP’
               
               
*note ERR_ASSERT: 12f.int(71) ‘ERR_ASSERT’
               
               
*note ERR_LOCKTYPE: 130.int(72) ‘ERR_LOCKTYPE’
               
               
*note ERR_RMA_CONFLICT: 131.int(73) ‘ERR_RMA_CONFLICT’
               
               
*note ERR_RMA_SYNC: 132.int(74) ‘ERR_RMA_SYNC’
               
               
*note ERR_RMA_RANGE: 133.int(75) ‘ERR_RMA_RANGE’
               
               
*note ERR_RMA_ATTACH: 134.int(76) ‘ERR_RMA_ATTACH’
               
               
*note ERR_RMA_SHARED: 135.int(77) ‘ERR_RMA_SHARED’
               
               
*note ERR_RMA_FLAVOR: 136.int(78) ‘ERR_RMA_FLAVOR’
               
               
*note ORDER_C: 137.int(79) ‘ORDER_C’
               
               
*note ORDER_F: 138.int(80) ‘ORDER_F’
               
               
*note ORDER_FORTRAN: 139.int(81) ‘ORDER_FORTRAN’
               
               
*note TYPECLASS_INTEGER: 13a.int(82) ‘TYPECLASS_INTEGER’
               
               
*note TYPECLASS_REAL: 13b.int(83) ‘TYPECLASS_REAL’
               
               
*note TYPECLASS_COMPLEX: 13c.int(84) ‘TYPECLASS_COMPLEX’
               
               
*note DISTRIBUTE_NONE: 13d.int(85) ‘DISTRIBUTE_NONE’
               
               
*note DISTRIBUTE_BLOCK: 13e.int(86) ‘DISTRIBUTE_BLOCK’
               
               
*note DISTRIBUTE_CYCLIC: 13f.int(87) ‘DISTRIBUTE_CYCLIC’
               
               
*note DISTRIBUTE_DFLT_DARG: 140.int(88) ‘DISTRIBUTE_DFLT_DARG’
               
               
*note COMBINER_NAMED: 141.int(89) ‘COMBINER_NAMED’
               
               
*note COMBINER_DUP: 142.int(90) ‘COMBINER_DUP’
               
               
*note COMBINER_CONTIGUOUS: 143.int(91) ‘COMBINER_CONTIGUOUS’
               
               
*note COMBINER_VECTOR: 144.int(92) ‘COMBINER_VECTOR’
               
               
*note COMBINER_HVECTOR: 145.int(93) ‘COMBINER_HVECTOR’
               
               
*note COMBINER_INDEXED: 146.int(94) ‘COMBINER_INDEXED’
               
               
*note COMBINER_HINDEXED: 147.int(95) ‘COMBINER_HINDEXED’
               
               
*note COMBINER_INDEXED_BLOCK: 148.int(96) ‘COMBINER_INDEXED_BLOCK’
               
               
*note COMBINER_HINDEXED_BLOCK: 149.int(97) ‘COMBINER_HINDEXED_BLOCK’
               
               
*note COMBINER_STRUCT: 14a.int(98) ‘COMBINER_STRUCT’
               
               
*note COMBINER_SUBARRAY: 14b.int(99) ‘COMBINER_SUBARRAY’
               
               
*note COMBINER_DARRAY: 14c.int(100) ‘COMBINER_DARRAY’
               
               
*note COMBINER_RESIZED: 14d.int(101) ‘COMBINER_RESIZED’
               
               
*note COMBINER_F90_REAL: 14e.int(102) ‘COMBINER_F90_REAL’
               
               
*note COMBINER_F90_COMPLEX: 14f.int(103) ‘COMBINER_F90_COMPLEX’
               
               
*note COMBINER_F90_INTEGER: 150.int(104) ‘COMBINER_F90_INTEGER’
               
               
*note IDENT: 151.int(105) ‘IDENT’
               
               
*note CONGRUENT: 152.int(106) ‘CONGRUENT’
               
               
*note SIMILAR: 153.int(107) ‘SIMILAR’
               
               
*note UNEQUAL: 154.int(108) ‘UNEQUAL’
               
               
*note CART: 155.int(109) ‘CART’
               
               
*note GRAPH: 156.int(110) ‘GRAPH’
               
               
*note DIST_GRAPH: 157.int(111) ‘DIST_GRAPH’
               
               
*note UNWEIGHTED: 158.int(112) ‘UNWEIGHTED’
               
               
*note WEIGHTS_EMPTY: 159.int(113) ‘WEIGHTS_EMPTY’
               
               
*note COMM_TYPE_SHARED: 15a.int(114) ‘COMM_TYPE_SHARED’
               
               
*note BSEND_OVERHEAD: 15b.int(115) ‘BSEND_OVERHEAD’
               
               
*note WIN_FLAVOR_CREATE: 15c.int(116) ‘WIN_FLAVOR_CREATE’
               
               
*note WIN_FLAVOR_ALLOCATE: 15d.int(117) ‘WIN_FLAVOR_ALLOCATE’
               
               
*note WIN_FLAVOR_DYNAMIC: 15e.int(118) ‘WIN_FLAVOR_DYNAMIC’
               
               
*note WIN_FLAVOR_SHARED: 15f.int(119) ‘WIN_FLAVOR_SHARED’
               
               
*note WIN_SEPARATE: 160.int(120) ‘WIN_SEPARATE’
               
               
*note WIN_UNIFIED: 161.int(121) ‘WIN_UNIFIED’
               
               
*note MODE_NOCHECK: 162.int(122) ‘MODE_NOCHECK’
               
               
*note MODE_NOSTORE: 163.int(123) ‘MODE_NOSTORE’
               
               
*note MODE_NOPUT: 164.int(124) ‘MODE_NOPUT’
               
               
*note MODE_NOPRECEDE: 165.int(125) ‘MODE_NOPRECEDE’
               
               
*note MODE_NOSUCCEED: 166.int(126) ‘MODE_NOSUCCEED’
               
               
*note LOCK_EXCLUSIVE: 167.int(127) ‘LOCK_EXCLUSIVE’
               
               
*note LOCK_SHARED: 168.int(128) ‘LOCK_SHARED’
               
               
*note MODE_RDONLY: 169.int(129) ‘MODE_RDONLY’
               
               
*note MODE_WRONLY: 16a.int(130) ‘MODE_WRONLY’
               
               
*note MODE_RDWR: 16b.int(131) ‘MODE_RDWR’
               
               
*note MODE_CREATE: 16c.int(132) ‘MODE_CREATE’
               
               
*note MODE_EXCL: 16d.int(133) ‘MODE_EXCL’
               
               
*note MODE_DELETE_ON_CLOSE: 16e.int(134) ‘MODE_DELETE_ON_CLOSE’
               
               
*note MODE_UNIQUE_OPEN: 16f.int(135) ‘MODE_UNIQUE_OPEN’
               
               
*note MODE_SEQUENTIAL: 170.int(136) ‘MODE_SEQUENTIAL’
               
               
*note MODE_APPEND: 171.int(137) ‘MODE_APPEND’
               
               
*note SEEK_SET: 172.int(138) ‘SEEK_SET’
               
               
*note SEEK_CUR: 173.int(139) ‘SEEK_CUR’
               
               
*note SEEK_END: 174.int(140) ‘SEEK_END’
               
               
*note DISPLACEMENT_CURRENT: 175.int(141) ‘DISPLACEMENT_CURRENT’
               
               
*note DISP_CUR: 176.int(142) ‘DISP_CUR’
               
               
*note THREAD_SINGLE: 177.int(143) ‘THREAD_SINGLE’
               
               
*note THREAD_FUNNELED: 178.int(144) ‘THREAD_FUNNELED’
               
               
*note THREAD_SERIALIZED: 179.int(145) ‘THREAD_SERIALIZED’
               
               
*note THREAD_MULTIPLE: 17a.int(146) ‘THREAD_MULTIPLE’
               
               
*note VERSION: 17b.int(147) ‘VERSION’
               
               
*note SUBVERSION: 17c.int(148) ‘SUBVERSION’
               
               
*note MAX_PROCESSOR_NAME: 17d.int(149) ‘MAX_PROCESSOR_NAME’
               
               
*note MAX_ERROR_STRING: 17e.int(150) ‘MAX_ERROR_STRING’
               
               
*note MAX_PORT_NAME: 17f.int(151) ‘MAX_PORT_NAME’
               
               
*note MAX_INFO_KEY: 180.int(152) ‘MAX_INFO_KEY’
               
               
*note MAX_INFO_VAL: 181.int(153) ‘MAX_INFO_VAL’
               
               
*note MAX_OBJECT_NAME: 182.int(154) ‘MAX_OBJECT_NAME’
               
               
*note MAX_DATAREP_STRING: 183.int(155) ‘MAX_DATAREP_STRING’
               
               
*note MAX_LIBRARY_VERSION_STRING: 184.int(156) ‘MAX_LIBRARY_VERSION_STRING’
               
               
*note DATATYPE_NULL: 185.*note Datatype: c8. ‘DATATYPE_NULL’
               
               
*note UB: 186. *note Datatype: c8. ‘UB’
               
               
*note LB: 187. *note Datatype: c8. ‘LB’
               
               
*note PACKED: 188.*note Datatype: c8. ‘PACKED’
               
               
*note BYTE: 189.*note Datatype: c8. ‘BYTE’
               
               
*note AINT: 18a.*note Datatype: c8. ‘AINT’
               
               
*note OFFSET: 18b.*note Datatype: c8. ‘OFFSET’
               
               
*note COUNT: 18c.*note Datatype: c8. ‘COUNT’
               
               
*note CHAR: 18d.*note Datatype: c8. ‘CHAR’
               
               
*note WCHAR: 18e.*note Datatype: c8. ‘WCHAR’
               
               
*note SIGNED_CHAR: 18f.*note Datatype: c8. ‘SIGNED_CHAR’
               
               
*note SHORT: 190.*note Datatype: c8. ‘SHORT’
               
               
*note INT: 191.*note Datatype: c8. ‘INT’
               
               
*note LONG: 192.*note Datatype: c8. ‘LONG’
               
               
*note LONG_LONG: 193.*note Datatype: c8. ‘LONG_LONG’
               
               
*note UNSIGNED_CHAR: 194.*note Datatype: c8. ‘UNSIGNED_CHAR’
               
               
*note UNSIGNED_SHORT: 195.*note Datatype: c8. ‘UNSIGNED_SHORT’
               
               
*note UNSIGNED: 196.*note Datatype: c8. ‘UNSIGNED’
               
               
*note UNSIGNED_LONG: 197.*note Datatype: c8. ‘UNSIGNED_LONG’
               
               
*note UNSIGNED_LONG_LONG: 198.*note Datatype: c8. ‘UNSIGNED_LONG_LONG’
               
               
*note FLOAT: 199.*note Datatype: c8. ‘FLOAT’
               
               
*note DOUBLE: 19a.*note Datatype: c8. ‘DOUBLE’
               
               
*note LONG_DOUBLE: 19b.*note Datatype: c8. ‘LONG_DOUBLE’
               
               
*note C_BOOL: 19c.*note Datatype: c8. ‘C_BOOL’
               
               
*note INT8_T: 19d.*note Datatype: c8. ‘INT8_T’
               
               
*note INT16_T: 19e.*note Datatype: c8. ‘INT16_T’
               
               
*note INT32_T: 19f.*note Datatype: c8. ‘INT32_T’
               
               
*note INT64_T: 1a0.*note Datatype: c8. ‘INT64_T’
               
               
*note UINT8_T: 1a1.*note Datatype: c8. ‘UINT8_T’
               
               
*note UINT16_T: 1a2.*note Datatype: c8. ‘UINT16_T’
               
               
*note UINT32_T: 1a3.*note Datatype: c8. ‘UINT32_T’
               
               
*note UINT64_T: 1a4.*note Datatype: c8. ‘UINT64_T’
               
               
*note C_COMPLEX: 1a5.*note Datatype: c8. ‘C_COMPLEX’
               
               
*note C_FLOAT_COMPLEX: 1a6.*note Datatype: c8. ‘C_FLOAT_COMPLEX’
               
               
*note C_DOUBLE_COMPLEX: 1a7.*note Datatype: c8. ‘C_DOUBLE_COMPLEX’
               
               
*note C_LONG_DOUBLE_COMPLEX: 1a8.*note Datatype: c8. ‘C_LONG_DOUBLE_COMPLEX’
               
               
*note CXX_BOOL: 1a9.*note Datatype: c8. ‘CXX_BOOL’
               
               
*note CXX_FLOAT_COMPLEX: 1aa.*note Datatype: c8. ‘CXX_FLOAT_COMPLEX’
               
               
*note CXX_DOUBLE_COMPLEX: 1ab.*note Datatype: c8. ‘CXX_DOUBLE_COMPLEX’
               
               
*note CXX_LONG_DOUBLE_COMPLEX: 1ac.*note Datatype: c8. ‘CXX_LONG_DOUBLE_COMPLEX’
               
               
*note SHORT_INT: 1ad.*note Datatype: c8. ‘SHORT_INT’
               
               
*note INT_INT: 1ae.*note Datatype: c8. ‘INT_INT’
               
               
*note TWOINT: 1af.*note Datatype: c8. ‘TWOINT’
               
               
*note LONG_INT: 1b0.*note Datatype: c8. ‘LONG_INT’
               
               
*note FLOAT_INT: 1b1.*note Datatype: c8. ‘FLOAT_INT’
               
               
*note DOUBLE_INT: 1b2.*note Datatype: c8. ‘DOUBLE_INT’
               
               
*note LONG_DOUBLE_INT: 1b3.*note Datatype: c8. ‘LONG_DOUBLE_INT’
               
               
*note CHARACTER: 1b4.*note Datatype: c8. ‘CHARACTER’
               
               
*note LOGICAL: 1b5.*note Datatype: c8. ‘LOGICAL’
               
               
*note INTEGER: 1b6.*note Datatype: c8. ‘INTEGER’
               
               
*note REAL: 1b7.*note Datatype: c8. ‘REAL’
               
               
*note DOUBLE_PRECISION: 1b8.*note Datatype: c8. ‘DOUBLE_PRECISION’
               
               
*note COMPLEX: 1b9.*note Datatype: c8. ‘COMPLEX’
               
               
*note DOUBLE_COMPLEX: 1ba.*note Datatype: c8. ‘DOUBLE_COMPLEX’
               
               
*note LOGICAL1: 1bb.*note Datatype: c8. ‘LOGICAL1’
               
               
*note LOGICAL2: 1bc.*note Datatype: c8. ‘LOGICAL2’
               
               
*note LOGICAL4: 1bd.*note Datatype: c8. ‘LOGICAL4’
               
               
*note LOGICAL8: 1be.*note Datatype: c8. ‘LOGICAL8’
               
               
*note INTEGER1: 1bf.*note Datatype: c8. ‘INTEGER1’
               
               
*note INTEGER2: 1c0.*note Datatype: c8. ‘INTEGER2’
               
               
*note INTEGER4: 1c1.*note Datatype: c8. ‘INTEGER4’
               
               
*note INTEGER8: 1c2.*note Datatype: c8. ‘INTEGER8’
               
               
*note INTEGER16: 1c3.*note Datatype: c8. ‘INTEGER16’
               
               
*note REAL2: 1c4.*note Datatype: c8. ‘REAL2’
               
               
*note REAL4: 1c5.*note Datatype: c8. ‘REAL4’
               
               
*note REAL8: 1c6.*note Datatype: c8. ‘REAL8’
               
               
*note REAL16: 1c7.*note Datatype: c8. ‘REAL16’
               
               
*note COMPLEX4: 1c8.*note Datatype: c8. ‘COMPLEX4’
               
               
*note COMPLEX8: 1c9.*note Datatype: c8. ‘COMPLEX8’
               
               
*note COMPLEX16: 1ca.*note Datatype: c8. ‘COMPLEX16’
               
               
*note COMPLEX32: 1cb.*note Datatype: c8. ‘COMPLEX32’
               
               
*note UNSIGNED_INT: 1cc.*note Datatype: c8. ‘UNSIGNED_INT’
               
               
*note SIGNED_SHORT: 1cd.*note Datatype: c8. ‘SIGNED_SHORT’
               
               
*note SIGNED_INT: 1ce.*note Datatype: c8. ‘SIGNED_INT’
               
               
*note SIGNED_LONG: 1cf.*note Datatype: c8. ‘SIGNED_LONG’
               
               
*note SIGNED_LONG_LONG: 1d0.*note Datatype: c8. ‘SIGNED_LONG_LONG’
               
               
*note BOOL: 1d1.*note Datatype: c8. ‘BOOL’
               
               
*note SINT8_T: 1d2.*note Datatype: c8. ‘SINT8_T’
               
               
*note SINT16_T: 1d3.*note Datatype: c8. ‘SINT16_T’
               
               
*note SINT32_T: 1d4.*note Datatype: c8. ‘SINT32_T’
               
               
*note SINT64_T: 1d5.*note Datatype: c8. ‘SINT64_T’
               
               
*note F_BOOL: 1d6.*note Datatype: c8. ‘F_BOOL’
               
               
*note F_INT: 1d7.*note Datatype: c8. ‘F_INT’
               
               
*note F_FLOAT: 1d8.*note Datatype: c8. ‘F_FLOAT’
               
               
*note F_DOUBLE: 1d9.*note Datatype: c8. ‘F_DOUBLE’
               
               
*note F_COMPLEX: 1da.*note Datatype: c8. ‘F_COMPLEX’
               
               
*note F_FLOAT_COMPLEX: 1db.*note Datatype: c8. ‘F_FLOAT_COMPLEX’
               
               
*note F_DOUBLE_COMPLEX: 1dc.*note Datatype: c8. ‘F_DOUBLE_COMPLEX’
               
               
*note REQUEST_NULL: 1dd.*note Request: 3f. ‘REQUEST_NULL’
               
               
*note MESSAGE_NULL: 1de.*note Message: ce. ‘MESSAGE_NULL’
               
               
*note MESSAGE_NO_PROC: 1df.*note Message: ce. ‘MESSAGE_NO_PROC’
               
               
*note OP_NULL: 1e0.*note Op: cb. ‘OP_NULL’
               
               
*note MAX: 63. *note Op: cb. ‘MAX’
               
               
*note MIN: 1e1.*note Op: cb. ‘MIN’
               
               
*note SUM: 61. *note Op: cb. ‘SUM’
               
               
*note PROD: 62.*note Op: cb. ‘PROD’
               
               
*note LAND: 1e2.*note Op: cb. ‘LAND’
               
               
*note BAND: 1e3.*note Op: cb. ‘BAND’
               
               
*note LOR: 1e4.*note Op: cb. ‘LOR’
               
               
*note BOR: 1e5.*note Op: cb. ‘BOR’
               
               
*note LXOR: 1e6.*note Op: cb. ‘LXOR’
               
               
*note BXOR: 1e7.*note Op: cb. ‘BXOR’
               
               
*note MAXLOC: 1e8.*note Op: cb. ‘MAXLOC’
               
               
*note MINLOC: 1e9.*note Op: cb. ‘MINLOC’
               
               
*note REPLACE: 1ea.*note Op: cb. ‘REPLACE’
               
               
*note NO_OP: 1eb.*note Op: cb. ‘NO_OP’
               
               
*note GROUP_NULL: 1ec.*note Group: 24. ‘GROUP_NULL’
               
               
*note GROUP_EMPTY: 1ed.*note Group: 24. ‘GROUP_EMPTY’
               
               
*note INFO_NULL: 1ee.*note Info: cc. ‘INFO_NULL’
               
               
*note INFO_ENV: 1ef.*note Info: cc. ‘INFO_ENV’
               
               
*note ERRHANDLER_NULL: 1f0.*note Errhandler: cf. ‘ERRHANDLER_NULL’
               
               
*note ERRORS_RETURN: 95.*note Errhandler: cf. ‘ERRORS_RETURN’
               
               
*note ERRORS_ARE_FATAL: 96.*note Errhandler: cf. ‘ERRORS_ARE_FATAL’
               
               
*note COMM_NULL: 1f1.*note Comm: 1a. ‘COMM_NULL’
               
               
*note COMM_SELF: 1f.*note Intracomm: 1b. ‘COMM_SELF’
               
               
*note COMM_WORLD: 20.*note Intracomm: 1b. ‘COMM_WORLD’
               
               
*note WIN_NULL: 1f2.*note Win: 72. ‘WIN_NULL’
               
               
*note FILE_NULL: 1f3.*note File: 80. ‘FILE_NULL’
               
               
*note pickle: a3.*note Pickle: d0. ‘pickle’
               

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#int

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#int

   (21) https://docs.python.org/3/library/functions.html#int

   (22) https://docs.python.org/3/library/functions.html#int

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/functions.html#int

   (28) https://docs.python.org/3/library/functions.html#int

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/functions.html#int

   (31) https://docs.python.org/3/library/functions.html#int

   (32) https://docs.python.org/3/library/functions.html#int

   (33) https://docs.python.org/3/library/functions.html#int

   (34) https://docs.python.org/3/library/functions.html#int

   (35) https://docs.python.org/3/library/functions.html#int

   (36) https://docs.python.org/3/library/functions.html#int

   (37) https://docs.python.org/3/library/functions.html#int

   (38) https://docs.python.org/3/library/functions.html#int

   (39) https://docs.python.org/3/library/functions.html#int

   (40) https://docs.python.org/3/library/functions.html#int

   (41) https://docs.python.org/3/library/functions.html#int

   (42) https://docs.python.org/3/library/functions.html#int

   (43) https://docs.python.org/3/library/functions.html#int

   (44) https://docs.python.org/3/library/functions.html#int

   (45) https://docs.python.org/3/library/functions.html#int

   (46) https://docs.python.org/3/library/functions.html#int

   (47) https://docs.python.org/3/library/functions.html#int

   (48) https://docs.python.org/3/library/functions.html#int

   (49) https://docs.python.org/3/library/functions.html#int

   (50) https://docs.python.org/3/library/functions.html#int

   (51) https://docs.python.org/3/library/functions.html#int

   (52) https://docs.python.org/3/library/functions.html#int

   (53) https://docs.python.org/3/library/functions.html#int

   (54) https://docs.python.org/3/library/functions.html#int

   (55) https://docs.python.org/3/library/functions.html#int

   (56) https://docs.python.org/3/library/functions.html#int

   (57) https://docs.python.org/3/library/functions.html#int

   (58) https://docs.python.org/3/library/functions.html#int

   (59) https://docs.python.org/3/library/functions.html#int

   (60) https://docs.python.org/3/library/functions.html#int

   (61) https://docs.python.org/3/library/functions.html#int

   (62) https://docs.python.org/3/library/functions.html#int

   (63) https://docs.python.org/3/library/functions.html#int

   (64) https://docs.python.org/3/library/functions.html#int

   (65) https://docs.python.org/3/library/functions.html#int

   (66) https://docs.python.org/3/library/functions.html#int

   (67) https://docs.python.org/3/library/functions.html#int

   (68) https://docs.python.org/3/library/functions.html#int

   (69) https://docs.python.org/3/library/functions.html#int

   (70) https://docs.python.org/3/library/functions.html#int

   (71) https://docs.python.org/3/library/functions.html#int

   (72) https://docs.python.org/3/library/functions.html#int

   (73) https://docs.python.org/3/library/functions.html#int

   (74) https://docs.python.org/3/library/functions.html#int

   (75) https://docs.python.org/3/library/functions.html#int

   (76) https://docs.python.org/3/library/functions.html#int

   (77) https://docs.python.org/3/library/functions.html#int

   (78) https://docs.python.org/3/library/functions.html#int

   (79) https://docs.python.org/3/library/functions.html#int

   (80) https://docs.python.org/3/library/functions.html#int

   (81) https://docs.python.org/3/library/functions.html#int

   (82) https://docs.python.org/3/library/functions.html#int

   (83) https://docs.python.org/3/library/functions.html#int

   (84) https://docs.python.org/3/library/functions.html#int

   (85) https://docs.python.org/3/library/functions.html#int

   (86) https://docs.python.org/3/library/functions.html#int

   (87) https://docs.python.org/3/library/functions.html#int

   (88) https://docs.python.org/3/library/functions.html#int

   (89) https://docs.python.org/3/library/functions.html#int

   (90) https://docs.python.org/3/library/functions.html#int

   (91) https://docs.python.org/3/library/functions.html#int

   (92) https://docs.python.org/3/library/functions.html#int

   (93) https://docs.python.org/3/library/functions.html#int

   (94) https://docs.python.org/3/library/functions.html#int

   (95) https://docs.python.org/3/library/functions.html#int

   (96) https://docs.python.org/3/library/functions.html#int

   (97) https://docs.python.org/3/library/functions.html#int

   (98) https://docs.python.org/3/library/functions.html#int

   (99) https://docs.python.org/3/library/functions.html#int

   (100) https://docs.python.org/3/library/functions.html#int

   (101) https://docs.python.org/3/library/functions.html#int

   (102) https://docs.python.org/3/library/functions.html#int

   (103) https://docs.python.org/3/library/functions.html#int

   (104) https://docs.python.org/3/library/functions.html#int

   (105) https://docs.python.org/3/library/functions.html#int

   (106) https://docs.python.org/3/library/functions.html#int

   (107) https://docs.python.org/3/library/functions.html#int

   (108) https://docs.python.org/3/library/functions.html#int

   (109) https://docs.python.org/3/library/functions.html#int

   (110) https://docs.python.org/3/library/functions.html#int

   (111) https://docs.python.org/3/library/functions.html#int

   (112) https://docs.python.org/3/library/functions.html#int

   (113) https://docs.python.org/3/library/functions.html#int

   (114) https://docs.python.org/3/library/functions.html#int

   (115) https://docs.python.org/3/library/functions.html#int

   (116) https://docs.python.org/3/library/functions.html#int

   (117) https://docs.python.org/3/library/functions.html#int

   (118) https://docs.python.org/3/library/functions.html#int

   (119) https://docs.python.org/3/library/functions.html#int

   (120) https://docs.python.org/3/library/functions.html#int

   (121) https://docs.python.org/3/library/functions.html#int

   (122) https://docs.python.org/3/library/functions.html#int

   (123) https://docs.python.org/3/library/functions.html#int

   (124) https://docs.python.org/3/library/functions.html#int

   (125) https://docs.python.org/3/library/functions.html#int

   (126) https://docs.python.org/3/library/functions.html#int

   (127) https://docs.python.org/3/library/functions.html#int

   (128) https://docs.python.org/3/library/functions.html#int

   (129) https://docs.python.org/3/library/functions.html#int

   (130) https://docs.python.org/3/library/functions.html#int

   (131) https://docs.python.org/3/library/functions.html#int

   (132) https://docs.python.org/3/library/functions.html#int

   (133) https://docs.python.org/3/library/functions.html#int

   (134) https://docs.python.org/3/library/functions.html#int

   (135) https://docs.python.org/3/library/functions.html#int

   (136) https://docs.python.org/3/library/functions.html#int

   (137) https://docs.python.org/3/library/functions.html#int

   (138) https://docs.python.org/3/library/functions.html#int

   (139) https://docs.python.org/3/library/functions.html#int

   (140) https://docs.python.org/3/library/functions.html#int

   (141) https://docs.python.org/3/library/functions.html#int

   (142) https://docs.python.org/3/library/functions.html#int

   (143) https://docs.python.org/3/library/functions.html#int

   (144) https://docs.python.org/3/library/functions.html#int

   (145) https://docs.python.org/3/library/functions.html#int

   (146) https://docs.python.org/3/library/functions.html#int

   (147) https://docs.python.org/3/library/functions.html#int

   (148) https://docs.python.org/3/library/functions.html#int

   (149) https://docs.python.org/3/library/functions.html#int

   (150) https://docs.python.org/3/library/functions.html#int

   (151) https://docs.python.org/3/library/functions.html#int

   (152) https://docs.python.org/3/library/functions.html#int

   (153) https://docs.python.org/3/library/functions.html#int

   (154) https://docs.python.org/3/library/functions.html#int

   (155) https://docs.python.org/3/library/functions.html#int

   (156) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py futures,  Next: mpi4py util,  Prev: mpi4py MPI,  Up: Top

6 mpi4py.futures
****************

New in version 3.0.0.

This package provides a high-level interface for asynchronously
executing callables on a pool of worker processes using MPI for
inter-process communication.

* Menu:

* concurrent.futures: concurrent futures.
* MPIPoolExecutor::
* MPICommExecutor::
* Command line::
* Examples::


File: mpi4py.info,  Node: concurrent futures,  Next: MPIPoolExecutor,  Up: mpi4py futures

6.1 concurrent.futures
======================

The *note mpi4py.futures: 1. package is based on concurrent.futures(1)
from the Python standard library.  More precisely, *note mpi4py.futures:
1. provides the *note MPIPoolExecutor: 1f7. class as a concrete
implementation of the abstract class Executor(2).  The submit()(3)
interface schedules a callable to be executed asynchronously and returns
a Future(4) object representing the execution of the callable.
Future(5) instances can be queried for the call result or exception.
Sets of Future(6) instances can be passed to the wait()(7) and
as_completed()(8) functions.

     Note: The concurrent.futures(9) package was introduced in Python
     3.2.  A backport(10) targeting Python 2.7 is available on PyPI(11).
     The *note mpi4py.futures: 1. package uses concurrent.futures(12) if
     available, either from the Python 3 standard library or the Python
     2.7 backport if installed.  Otherwise, *note mpi4py.futures: 1.
     uses a bundled copy of core functionality backported from Python
     3.5 to work with Python 2.7.

See also
........

Module concurrent.futures(13)

     Documentation of the concurrent.futures(14) standard module.

   ---------- Footnotes ----------

   (1) 
https://docs.python.org/3/library/concurrent.futures.html#module-concurrent.futures

   (2) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Executor

   (3) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Executor.submit

   (4) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Future

   (5) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Future

   (6) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Future

   (7) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.wait

   (8) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.as_completed

   (9) 
https://docs.python.org/3/library/concurrent.futures.html#module-concurrent.futures

   (10) https://github.com/agronholm/pythonfutures

   (11) https://pypi.org/project/futures

   (12) 
https://docs.python.org/3/library/concurrent.futures.html#module-concurrent.futures

   (13) 
https://docs.python.org/3/library/concurrent.futures.html#module-concurrent.futures

   (14) 
https://docs.python.org/3/library/concurrent.futures.html#module-concurrent.futures


File: mpi4py.info,  Node: MPIPoolExecutor,  Next: MPICommExecutor,  Prev: concurrent futures,  Up: mpi4py futures

6.2 MPIPoolExecutor
===================

The *note MPIPoolExecutor: 1f7. class uses a pool of MPI processes to
execute calls asynchronously.  By performing computations in separate
processes, it allows to side-step the global interpreter lock(1) but
also means that only picklable objects can be executed and returned.
The __main__(2) module must be importable by worker processes, thus
*note MPIPoolExecutor: 1f7. instances may not work in the interactive
interpreter.

*note MPIPoolExecutor: 1f7. takes advantage of the dynamic process
management features introduced in the MPI-2 standard.  In particular,
the *note MPI.Intracomm.Spawn: 67. method of *note MPI.COMM_SELF: 1f. is
used in the master (or parent) process to spawn new worker (or child)
processes running a Python interpreter.  The master process uses a
separate thread (one for each *note MPIPoolExecutor: 1f7. instance) to
communicate back and forth with the workers.  The worker processes serve
the execution of tasks in the main (and only) thread until they are
signaled for completion.

     Note: The worker processes must import the main script in order to
     ‘unpickle’ any callable defined in the __main__(3) module and
     submitted from the master process.  Furthermore, the callables may
     need access to other global variables.  At the worker processes,
     *note mpi4py.futures: 1. executes the main script code (using the
     runpy(4) module) under the ‘__worker__’ namespace to define the
     __main__(5) module.  The __main__(6) and ‘__worker__’ modules are
     added to sys.modules(7) (both at the master and worker processes)
     to ensure proper ‘pickling’ and ‘unpickling’.

     Warning: During the initial import phase at the workers, the main
     script cannot create and use new *note MPIPoolExecutor: 1f7.
     instances.  Otherwise, each worker would attempt to spawn a new
     pool of workers, leading to infinite recursion.  *note
     mpi4py.futures: 1. detects such recursive attempts to spawn new
     workers and aborts the MPI execution environment.  As the main
     script code is run under the ‘__worker__’ namespace, the easiest
     way to avoid spawn recursion is using the idiom ‘if __name__ ==
     '__main__': ...’ in the main script.

 -- Class: mpi4py.futures.MPIPoolExecutor (max_workers=None,
          initializer=None, initargs=(), **kwargs)

     An Executor(8) subclass that executes calls asynchronously using a
     pool of at most ‘max_workers’ processes.  If ‘max_workers’ is
     None(9) or not given, its value is determined from the *note
     MPI4PY_FUTURES_MAX_WORKERS: 1f9. environment variable if set, or
     the MPI universe size if set, otherwise a single worker process is
     spawned.  If ‘max_workers’ is lower than or equal to ‘0’, then a
     ValueError(10) will be raised.

     ‘initializer’ is an optional callable that is called at the start
     of each worker process before executing any tasks; ‘initargs’ is a
     tuple of arguments passed to the initializer.  If ‘initializer’
     raises an exception, all pending tasks and any attempt to submit
     new tasks to the pool will raise a BrokenExecutor(11) exception.

     Other parameters:

        * ‘python_exe’: Path to the Python interpreter executable used
          to spawn worker processes, otherwise sys.executable(12) is
          used.

        * ‘python_args’: list(13) or iterable with additional command
          line flags to pass to the Python executable.  Command line
          flags determined from inspection of sys.flags(14),
          sys.warnoptions(15) and sys._xoptions(16) in are passed
          unconditionally.

        * ‘mpi_info’: dict(17) or iterable yielding ‘(key, value)’
          pairs.  These ‘(key, value)’ pairs are passed (through an
          *note MPI.Info: cc. object) to the *note MPI.Intracomm.Spawn:
          67. call used to spawn worker processes.  This mechanism
          allows telling the MPI runtime system where and how to start
          the processes.  Check the documentation of the backend MPI
          implementation about the set of keys it interprets and the
          corresponding format for values.

        * ‘globals’: dict(18) or iterable yielding ‘(name, value)’ pairs
          to initialize the main module namespace in worker processes.

        * ‘main’: If set to False(19), do not import the __main__(20)
          module in worker processes.  Setting ‘main’ to False(21)
          prevents worker processes from accessing definitions in the
          parent __main__(22) namespace.

        * ‘path’: list(23) or iterable with paths to append to
          sys.path(24) in worker processes to extend the module search
          path(25).

        * ‘wdir’: Path to set the current working directory in worker
          processes using os.chdir()(26).  The initial working directory
          is set by the MPI implementation.  Quality MPI implementations
          should honor a ‘wdir’ info key passed through ‘mpi_info’,
          although such feature is not mandatory.

        * ‘env’: dict(27) or iterable yielding ‘(name, value)’ pairs
          with environment variables to update os.environ(28) in worker
          processes.  The initial environment is set by the MPI
          implementation.  MPI implementations may allow setting the
          initial environment through ‘mpi_info’, however such feature
          is not required nor recommended by the MPI standard.

      -- Method: submit (func, *args, **kwargs)

          Schedule the callable, ‘func’, to be executed as ‘func(*args,
          **kwargs)’ and returns a Future(29) object representing the
          execution of the callable.

               executor = MPIPoolExecutor(max_workers=1)
               future = executor.submit(pow, 321, 1234)
               print(future.result())

      -- Method: map (func, *iterables, timeout=None, chunksize=1,
               **kwargs)

          Equivalent to map(func, *iterables)(30) except ‘func’ is
          executed asynchronously and several calls to ‘func’ may be
          made concurrently, out-of-order, in separate processes.  The
          returned iterator raises a TimeoutError(31) if __next__()(32)
          is called and the result isn’t available after ‘timeout’
          seconds from the original call to *note map(): 1fb.  ‘timeout’
          can be an int or a float.  If ‘timeout’ is not specified or
          None(33), there is no limit to the wait time.  If a call
          raises an exception, then that exception will be raised when
          its value is retrieved from the iterator.  This method chops
          ‘iterables’ into a number of chunks which it submits to the
          pool as separate tasks.  The (approximate) size of these
          chunks can be specified by setting ‘chunksize’ to a positive
          integer.  For very long iterables, using a large value for
          ‘chunksize’ can significantly improve performance compared to
          the default size of one.  By default, the returned iterator
          yields results in-order, waiting for successive tasks to
          complete .  This behavior can be changed by passing the
          keyword argument ‘unordered’ as True(34), then the result
          iterator will yield a result as soon as any of the tasks
          complete.

               executor = MPIPoolExecutor(max_workers=3)
               for result in executor.map(pow, [2]*32, range(32)):
                   print(result)

      -- Method: starmap (func, iterable, timeout=None, chunksize=1,
               **kwargs)

          Equivalent to itertools.starmap(func, iterable)(35).  Used
          instead of *note map(): 1fb. when argument parameters are
          already grouped in tuples from a single iterable (the data has
          been “pre-zipped”).  *note map(func, *iterable): 1fb. is
          equivalent to *note starmap(func, zip(*iterable)): 1fc.

               executor = MPIPoolExecutor(max_workers=3)
               iterable = ((2, n) for n in range(32))
               for result in executor.starmap(pow, iterable):
                   print(result)

      -- Method: shutdown (wait=True, cancel_futures=False)

          Signal the executor that it should free any resources that it
          is using when the currently pending futures are done
          executing.  Calls to *note submit(): 1fa. and *note map():
          1fb. made after *note shutdown(): 1fd. will raise
          RuntimeError(36).

          If ‘wait’ is True(37) then this method will not return until
          all the pending futures are done executing and the resources
          associated with the executor have been freed.  If ‘wait’ is
          False(38) then this method will return immediately and the
          resources associated with the executor will be freed when all
          pending futures are done executing.  Regardless of the value
          of ‘wait’, the entire Python program will not exit until all
          pending futures are done executing.

          If ‘cancel_futures’ is True(39), this method will cancel all
          pending futures that the executor has not started running.
          Any futures that are completed or running won’t be cancelled,
          regardless of the value of ‘cancel_futures’.

          You can avoid having to call this method explicitly if you use
          the with(40) statement, which will shutdown the executor
          instance (waiting as if *note shutdown(): 1fd. were called
          with ‘wait’ set to True(41)).

               import time
               with MPIPoolExecutor(max_workers=1) as executor:
                   future = executor.submit(time.sleep, 2)
               assert future.done()

      -- Method: bootup (wait=True)

          Signal the executor that it should allocate eagerly any
          required resources (in particular, MPI worker processes).  If
          ‘wait’ is True(42), then *note bootup(): 1fe. will not return
          until the executor resources are ready to process submissions.
          Resources are automatically allocated in the first call to
          *note submit(): 1fa, thus calling *note bootup(): 1fe.
          explicitly is seldom needed.

 -- Environment Variable: MPI4PY_FUTURES_MAX_WORKERS

     If the ‘max_workers’ parameter to *note MPIPoolExecutor: 1f7. is
     None(43) or not given, the *note MPI4PY_FUTURES_MAX_WORKERS: 1f9.
     environment variable provides fallback value for the maximum number
     of MPI worker processes to spawn.

     Note: As the master process uses a separate thread to perform MPI
     communication with the workers, the backend MPI implementation
     should provide support for *note MPI.THREAD_MULTIPLE: 17a.
     However, some popular MPI implementations do not support yet
     concurrent MPI calls from multiple threads.  Additionally, users
     may decide to initialize MPI with a lower level of thread support.
     If the level of thread support in the backend MPI is less than
     *note MPI.THREAD_MULTIPLE: 17a, *note mpi4py.futures: 1. will use a
     global lock to serialize MPI calls.  If the level of thread support
     is less than *note MPI.THREAD_SERIALIZED: 179, *note
     mpi4py.futures: 1. will emit a RuntimeWarning(44).

     Warning: If the level of thread support in the backend MPI is less
     than *note MPI.THREAD_SERIALIZED: 179. (i.e, it is either *note
     MPI.THREAD_SINGLE: 177. or *note MPI.THREAD_FUNNELED: 178.), in
     theory *note mpi4py.futures: 1. cannot be used.  Rather than
     raising an exception, *note mpi4py.futures: 1. emits a warning and
     takes a “cross-fingers” attitude to continue execution in the hope
     that serializing MPI calls with a global lock will actually work.

   ---------- Footnotes ----------

   (1) 
https://docs.python.org/3/glossary.html#term-global-interpreter-lock

   (2) https://docs.python.org/3/library/__main__.html#module-__main__

   (3) https://docs.python.org/3/library/__main__.html#module-__main__

   (4) https://docs.python.org/3/library/runpy.html#module-runpy

   (5) https://docs.python.org/3/library/__main__.html#module-__main__

   (6) https://docs.python.org/3/library/__main__.html#module-__main__

   (7) https://docs.python.org/3/library/sys.html#sys.modules

   (8) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Executor

   (9) https://docs.python.org/3/library/constants.html#None

   (10) https://docs.python.org/3/library/exceptions.html#ValueError

   (11) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.BrokenExecutor

   (12) https://docs.python.org/3/library/sys.html#sys.executable

   (13) https://docs.python.org/3/library/stdtypes.html#list

   (14) https://docs.python.org/3/library/sys.html#sys.flags

   (15) https://docs.python.org/3/library/sys.html#sys.warnoptions

   (16) https://docs.python.org/3/library/sys.html#sys._xoptions

   (17) https://docs.python.org/3/library/stdtypes.html#dict

   (18) https://docs.python.org/3/library/stdtypes.html#dict

   (19) https://docs.python.org/3/library/constants.html#False

   (20) https://docs.python.org/3/library/__main__.html#module-__main__

   (21) https://docs.python.org/3/library/constants.html#False

   (22) https://docs.python.org/3/library/__main__.html#module-__main__

   (23) https://docs.python.org/3/library/stdtypes.html#list

   (24) https://docs.python.org/3/library/sys.html#sys.path

   (25) https://docs.python.org/3/tutorial/modules.html#tut-searchpath

   (26) https://docs.python.org/3/library/os.html#os.chdir

   (27) https://docs.python.org/3/library/stdtypes.html#dict

   (28) https://docs.python.org/3/library/os.html#os.environ

   (29) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.Future

   (30) https://docs.python.org/3/library/functions.html#map

   (31) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.TimeoutError

   (32) 
https://docs.python.org/3/library/stdtypes.html#iterator.__next__

   (33) https://docs.python.org/3/library/constants.html#None

   (34) https://docs.python.org/3/library/constants.html#True

   (35) 
https://docs.python.org/3/library/itertools.html#itertools.starmap

   (36) https://docs.python.org/3/library/exceptions.html#RuntimeError

   (37) https://docs.python.org/3/library/constants.html#True

   (38) https://docs.python.org/3/library/constants.html#False

   (39) https://docs.python.org/3/library/constants.html#True

   (40) https://docs.python.org/3/reference/compound_stmts.html#with

   (41) https://docs.python.org/3/library/constants.html#True

   (42) https://docs.python.org/3/library/constants.html#True

   (43) https://docs.python.org/3/library/constants.html#None

   (44) https://docs.python.org/3/library/exceptions.html#RuntimeWarning


File: mpi4py.info,  Node: MPICommExecutor,  Next: Command line,  Prev: MPIPoolExecutor,  Up: mpi4py futures

6.3 MPICommExecutor
===================

Legacy MPI-1 implementations (as well as some vendor MPI-2
implementations) do not support the dynamic process management features
introduced in the MPI-2 standard.  Additionally, job schedulers and
batch systems in supercomputing facilities may pose additional
complications to applications using the ‘MPI_Comm_spawn()’ routine.

With these issues in mind, *note mpi4py.futures: 1. supports an
additonal, more traditional, SPMD-like usage pattern requiring MPI-1
calls only.  Python applications are started the usual way, e.g., using
the ‘mpiexec’ command.  Python code should make a collective call to the
*note MPICommExecutor: 200. context manager to partition the set of MPI
processes within a MPI communicator in one master processes and many
workers processes.  The master process gets access to an *note
MPIPoolExecutor: 1f7. instance to submit tasks.  Meanwhile, the worker
process follow a different execution path and team-up to execute the
tasks submitted from the master.

Besides alleviating the lack of dynamic process managment features in
legacy MPI-1 or partial MPI-2 implementations, the *note
MPICommExecutor: 200. context manager may be useful in classic MPI-based
Python applications willing to take advantage of the simple, task-based,
master/worker approach available in the *note mpi4py.futures: 1.
package.

 -- Class: mpi4py.futures.MPICommExecutor (comm=None, root=0)

     Context manager for *note MPIPoolExecutor: 1f7.  This context
     manager splits a MPI (intra)communicator ‘comm’ (defaults to *note
     MPI.COMM_WORLD: 20. if not provided or None(1)) in two disjoint
     sets: a single master process (with rank ‘root’ in ‘comm’) and the
     remaining worker processes.  These sets are then connected through
     an intercommunicator.  The target of the with(2) statement is
     assigned either an *note MPIPoolExecutor: 1f7. instance (at the
     master) or None(3) (at the workers).

          from mpi4py import MPI
          from mpi4py.futures import MPICommExecutor

          with MPICommExecutor(MPI.COMM_WORLD, root=0) as executor:
              if executor is not None:
                 future = executor.submit(abs, -42)
                 assert future.result() == 42
                 answer = set(executor.map(abs, [-42, 42]))
                 assert answer == {42}

     Warning: If *note MPICommExecutor: 200. is passed a communicator of
     size one (e.g., *note MPI.COMM_SELF: 1f.), then the executor
     instace assigned to the target of the with(4) statement will
     execute all submitted tasks in a single worker thread, thus
     ensuring that task execution still progress asynchronously.
     However, the *note GIL: 201. will prevent the main and worker
     threads from running concurrently in multicore processors.
     Moreover, the thread context switching may harm noticeably the
     performance of CPU-bound tasks.  In case of I/O-bound tasks, the
     *note GIL: 201. is not usually an issue, however, as a single
     worker thread is used, it progress one task at a time.  We advice
     against using *note MPICommExecutor: 200. with communicators of
     size one and suggest refactoring your code to use instead a
     ThreadPoolExecutor(5).

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/constants.html#None

   (2) https://docs.python.org/3/reference/compound_stmts.html#with

   (3) https://docs.python.org/3/library/constants.html#None

   (4) https://docs.python.org/3/reference/compound_stmts.html#with

   (5) 
https://docs.python.org/3/library/concurrent.futures.html#concurrent.futures.ThreadPoolExecutor


File: mpi4py.info,  Node: Command line,  Next: Examples,  Prev: MPICommExecutor,  Up: mpi4py futures

6.4 Command line
================

Recalling the issues related to the lack of support for dynamic process
managment features in MPI implementations, *note mpi4py.futures: 1.
supports an alternative usage pattern where Python code (either from
scripts, modules, or zip files) is run under command line control of the
*note mpi4py.futures: 1. package by passing ‘-m mpi4py.futures’ to the
‘python’ executable.  The ‘mpi4py.futures’ invocation should be passed a
‘pyfile’ path to a script (or a zipfile/directory containing a
‘__main__.py’ file).  Additionally, ‘mpi4py.futures’ accepts ‘-m MOD’ to
execute a module named ‘mod’, ‘-c CMD’ to execute a command string
‘cmd’, or even ‘-’ to read commands from standard input (sys.stdin(1)).
Summarizing, ‘mpi4py.futures’ can be invoked in the following ways:

   * ‘$ mpiexec -n NUMPROCS python -m mpi4py.futures PYFILE [arg] ...’

   * ‘$ mpiexec -n NUMPROCS python -m mpi4py.futures -m MOD [arg] ...’

   * ‘$ mpiexec -n NUMPROCS python -m mpi4py.futures -c CMD [arg] ...’

   * ‘$ mpiexec -n NUMPROCS python -m mpi4py.futures - [arg] ...’

Before starting the main script execution, *note mpi4py.futures: 1.
splits *note MPI.COMM_WORLD: 20. in one master (the process with rank 0
in *note MPI.COMM_WORLD: 20.) and ‘numprocs - 1’ workers and connects
them through an MPI intercommunicator.  Afterwards, the master process
proceeds with the execution of the user script code, which eventually
creates *note MPIPoolExecutor: 1f7. instances to submit tasks.
Meanwhile, the worker processes follow a different execution path to
serve the master.  Upon successful termination of the main script at the
master, the entire MPI execution environment exists gracefully.  In case
of any unhandled exception in the main script, the master process calls
‘MPI.COMM_WORLD.Abort(1)’ to prevent deadlocks and force termination of
entire MPI execution environment.

     Warning: Running scripts under command line control of *note
     mpi4py.futures: 1. is quite similar to executing a single-process
     application that spawn additional workers as required.  However,
     there is a very important difference users should be aware of.  All
     *note MPIPoolExecutor: 1f7. instances created at the master will
     share the pool of workers.  Tasks submitted at the master from many
     different executors will be scheduled for execution in random order
     as soon as a worker is idle.  Any executor can easily starve all
     the workers (e.g., by calling *note MPIPoolExecutor.map(): 1fb.
     with long iterables).  If that ever happens, submissions from other
     executors will not be serviced until free workers are available.

See also
........

Command line(2)

     Documentation on Python command line interface.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/sys.html#sys.stdin

   (2) https://docs.python.org/3/using/cmdline.html#using-on-cmdline


File: mpi4py.info,  Node: Examples,  Prev: Command line,  Up: mpi4py futures

6.5 Examples
============

The following ‘julia.py’ script computes the Julia set(1) and dumps an
image to disk in binary PGM(2) format.  The code starts by importing
*note MPIPoolExecutor: 1f7. from the *note mpi4py.futures: 1. package.
Next, some global constants and functions implement the computation of
the Julia set.  The computations are protected with the standard ‘if
__name__ == '__main__': ...’ idiom.  The image is computed by whole
scanlines submitting all these tasks at once using the *note map: 1fb.
method.  The result iterator yields scanlines in-order as the tasks
complete.  Finally, each scanline is dumped to disk.


     from mpi4py.futures import MPIPoolExecutor

     x0, x1, w = -2.0, +2.0, 640*2
     y0, y1, h = -1.5, +1.5, 480*2
     dx = (x1 - x0) / w
     dy = (y1 - y0) / h

     c = complex(0, 0.65)

     def julia(x, y):
         z = complex(x, y)
         n = 255
         while abs(z) < 3 and n > 1:
             z = z**2 + c
             n -= 1
         return n

     def julia_line(k):
         line = bytearray(w)
         y = y1 - k * dy
         for j in range(w):
             x = x0 + j * dx
             line[j] = julia(x, y)
         return line

     if __name__ == '__main__':

         with MPIPoolExecutor() as executor:
             image = executor.map(julia_line, range(h))
             with open('julia.pgm', 'wb') as f:
                 f.write(b'P5 %d %d %d\n' % (w, h, 255))
                 for line in image:
                     f.write(line)

LiteralBlock: ‘julia.py’

The recommended way to execute the script is by using the ‘mpiexec’
command specifying one MPI process (master) and (optional but
recommended) the desired MPI universe size, which determines the number
of additional dynamically spawned processes (workers).  The MPI universe
size is provided either by a batch system or set by the user via
command-line arguments to ‘mpiexec’ or environment variables.  Below we
provide examples for MPICH and Open MPI implementations (3).  In all of
these examples, the ‘mpiexec’ command launches a single master process
running the Python interpreter and executing the main script.  When
required, *note mpi4py.futures: 1. spawns the pool of 16 worker
processes.  The master submits tasks to the workers and waits for the
results.  The workers receive incoming tasks, execute them, and send
back the results to the master.

When using MPICH implementation or its derivatives based on the Hydra
process manager, users can set the MPI universe size via the ‘-usize’
argument to ‘mpiexec’:

     $ mpiexec -n 1 -usize 17 python julia.py

or, alternatively, by setting the ‘MPIEXEC_UNIVERSE_SIZE’ environment
variable:

     $ MPIEXEC_UNIVERSE_SIZE=17 mpiexec -n 1 python julia.py

In the Open MPI implementation, the MPI universe size can be set via the
‘-host’ argument to ‘mpiexec’:

     $ mpiexec -n 1 -host <hostname>:17 python julia.py

Another way to specify the number of workers is to use the *note
mpi4py.futures: 1.-specific environment variable *note
MPI4PY_FUTURES_MAX_WORKERS: 1f9.:

     $ MPI4PY_FUTURES_MAX_WORKERS=16 mpiexec -n 1 python julia.py

Note that in this case, the MPI universe size is ignored.

Alternatively, users may decide to execute the script in a more
traditional way, that is, all the MPI processes are started at once.
The user script is run under command-line control of *note
mpi4py.futures: 1. passing the -m(4) flag to the ‘python’ executable:

     $ mpiexec -n 17 python -m mpi4py.futures julia.py

As explained previously, the 17 processes are partitioned in one master
and 16 workers.  The master process executes the main script while the
workers execute the tasks submitted by the master.

GIL

     See global interpreter lock(5).

   ---------- Footnotes ----------

   (1) https://en.wikipedia.org/wiki/Julia_set

   (2) http://netpbm.sourceforge.net/doc/pgm.html

   (3) When using an MPI implementation other than MPICH or Open MPI,
please check the documentation of the implementation and/or batch system
for the ways to specify the desired MPI universe size.

   (4) https://docs.python.org/3/using/cmdline.html#using-on-cmdline

   (5) 
https://docs.python.org/3/glossary.html#term-global-interpreter-lock


File: mpi4py.info,  Node: mpi4py util,  Next: mpi4py run,  Prev: mpi4py futures,  Up: Top

7 mpi4py.util
*************

New in version 3.1.0.

The *note mpi4py.util: 4. package collects miscellaneous utilities
within the intersection of Python and MPI.

* Menu:

* mpi4py.util.pkl5: mpi4py util pkl5.
* mpi4py.util.dtlib: mpi4py util dtlib.


File: mpi4py.info,  Node: mpi4py util pkl5,  Next: mpi4py util dtlib,  Up: mpi4py util

7.1 mpi4py.util.pkl5
====================

New in version 3.1.0.

pickle(1) protocol 5 (see PEP 574(2)) introduced support for out-of-band
buffers, allowing for more efficient handling of certain object types
with large memory footprints.

MPI for Python uses the traditional in-band handling of buffers.  This
approach is appropriate for communicating non-buffer Python objects, or
buffer-like objects with small memory footprints.  For point-to-point
communication, in-band buffer handling allows for the communication of a
pickled stream with a single MPI message, at the expense of additional
CPU and memory overhead in the pickling and unpickling steps.

The *note mpi4py.util.pkl5: 6. module provides communicator wrapper
classes reimplementing pickle-based point-to-point communication methods
using pickle protocol 5.  Handling out-of-band buffers necessarily
involve multiple MPI messages, thus increasing latency and hurting
performance in case of small size data.  However, in case of large size
data, the zero-copy savings of out-of-band buffer handling more than
offset the extra latency costs.  Additionally, these wrapper methods
overcome the infamous 2 GiB message count limit (MPI-1 to MPI-3).

     Note: Support for pickle protocol 5 is available in the pickle(3)
     module within the Python standard library since Python 3.8.
     Previous Python 3 releases can use the ‘pickle5’ backport, which is
     available on PyPI(4) and can be installed with:

          python -m pip install pickle5

 -- Class: mpi4py.util.pkl5.Request (request=None)

     Request.

     Custom request class for nonblocking communications.

          Note: *note Request: 208. is not a subclass of *note
          mpi4py.MPI.Request: 3f.


     Parameters: ‘request’ (‘Iterable’‘[’*note MPI.Request: 3f.‘]’) –


     Return type: *note Request: 208.

      -- Method: Free ()

          Free a communication request.


          Return type: None

      -- Method: cancel ()

          Cancel a communication request.


          Return type: None

      -- Method: get_status (status=None)

          Non-destructive test for the completion of a request.


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: bool(5)

      -- Method: test (status=None)

          Test for the completion of a request.


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Tuple[bool(6), Optional[Any]]

      -- Method: wait (status=None)

          Wait for a request to complete.


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

      -- Method: classmethod testall (requests, statuses=None)

          Test for the completion of all requests.


          Classmethod:

      -- Method: classmethod waitall (requests, statuses=None)

          Wait for all requests to complete.


          Classmethod:

 -- Class: mpi4py.util.pkl5.Message (message=None)

     Message.

     Custom message class for matching probes.

          Note: *note Message: 210. is not a subclass of *note
          mpi4py.MPI.Message: ce.


     Parameters: ‘message’ (‘Iterable’‘[’*note MPI.Message: ce.‘]’) –


     Return type: *note Message: 210.

      -- Method: recv (status=None)

          Blocking receive of matched message.


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

      -- Method: irecv ()

          Nonblocking receive of matched message.


          Return type: *note Request: 208.

      -- Method: classmethod probe (comm, source=ANY_SOURCE,
               tag=ANY_TAG, status=None)

          Blocking test for a matched message.


          Classmethod:

      -- Method: classmethod iprobe (comm, source=ANY_SOURCE,
               tag=ANY_TAG, status=None)

          Nonblocking test for a matched message.


          Classmethod:

 -- Class: mpi4py.util.pkl5.Comm

     Communicator.

     Base communicator wrapper class.

      -- Method: send (obj, dest, tag=0)

          Blocking send in standard mode.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(7)) –

             * ‘tag’ (int(8)) –


          Return type: None

      -- Method: bsend (obj, dest, tag=0)

          Blocking send in buffered mode.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(9)) –

             * ‘tag’ (int(10)) –


          Return type: None

      -- Method: ssend (obj, dest, tag=0)

          Blocking send in synchronous mode.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(11)) –

             * ‘tag’ (int(12)) –


          Return type: None

      -- Method: isend (obj, dest, tag=0)

          Nonblocking send in standard mode.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(13)) –

             * ‘tag’ (int(14)) –


          Return type: *note Request: 208.

      -- Method: ibsend (obj, dest, tag=0)

          Nonblocking send in buffered mode.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(15)) –

             * ‘tag’ (int(16)) –


          Return type: *note Request: 208.

      -- Method: issend (obj, dest, tag=0)

          Nonblocking send in synchronous mode.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(17)) –

             * ‘tag’ (int(18)) –


          Return type: *note Request: 208.

      -- Method: recv (buf=None, source=ANY_SOURCE, tag=ANY_TAG,
               status=None)

          Blocking receive.


          Parameters:

             * ‘buf’ (‘Optional’‘[’‘Buffer’‘]’) –

             * ‘source’ (int(19)) –

             * ‘tag’ (int(20)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

      -- Method: irecv (buf=None, source=ANY_SOURCE, tag=ANY_TAG)

          Nonblocking receive.

               Warning: This method cannot be supported reliably and
               raises RuntimeError(21).


          Parameters:

             * ‘buf’ (‘Optional’‘[’‘Buffer’‘]’) –

             * ‘source’ (int(22)) –

             * ‘tag’ (int(23)) –


          Return type: *note Request: 208.

      -- Method: sendrecv (sendobj, dest, sendtag=0, recvbuf=None,
               source=ANY_SOURCE, recvtag=ANY_TAG, status=None)

          Send and receive.


          Parameters:

             * ‘sendobj’ (‘Any’) –

             * ‘dest’ (int(24)) –

             * ‘sendtag’ (int(25)) –

             * ‘recvbuf’ (‘Optional’‘[’‘Buffer’‘]’) –

             * ‘source’ (int(26)) –

             * ‘recvtag’ (int(27)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

      -- Method: mprobe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Blocking test for a matched message.


          Parameters:

             * ‘source’ (int(28)) –

             * ‘tag’ (int(29)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: *note Message: 210.

      -- Method: improbe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Nonblocking test for a matched message.


          Parameters:

             * ‘source’ (int(30)) –

             * ‘tag’ (int(31)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Optional[*note Message: 210.]

      -- Method: bcast (obj, root=0)

          Broadcast.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘root’ (int(32)) –


          Return type: Any

 -- Class: mpi4py.util.pkl5.Intracomm

     Intracommunicator.

     Intracommunicator wrapper class.

 -- Class: mpi4py.util.pkl5.Intercomm

     Intercommunicator.

     Intercommunicator wrapper class.

* Menu:

* Examples: Examples<2>.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/pickle.html#module-pickle

   (2) https://peps.python.org/pep-0574/

   (3) https://docs.python.org/3/library/pickle.html#module-pickle

   (4) https://pypi.org/project/pickle5/

   (5) https://docs.python.org/3/library/functions.html#bool

   (6) https://docs.python.org/3/library/functions.html#bool

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#int

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#int

   (21) https://docs.python.org/3/library/exceptions.html#RuntimeError

   (22) https://docs.python.org/3/library/functions.html#int

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/functions.html#int

   (28) https://docs.python.org/3/library/functions.html#int

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/functions.html#int

   (31) https://docs.python.org/3/library/functions.html#int

   (32) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: Examples<2>,  Up: mpi4py util pkl5

7.1.1 Examples
--------------


     import numpy as np
     from mpi4py import MPI
     from mpi4py.util import pkl5

     comm = pkl5.Intracomm(MPI.COMM_WORLD)  # comm wrapper
     size = comm.Get_size()
     rank = comm.Get_rank()
     dst = (rank + 1) % size
     src = (rank - 1) % size

     sobj = np.full(1024**3, rank, dtype='i4')  # > 4 GiB
     sreq = comm.isend(sobj, dst, tag=42)
     robj = comm.recv (None, src, tag=42)
     sreq.Free()

     assert np.min(robj) == src
     assert np.max(robj) == src

LiteralBlock: ‘test-pkl5-1.py’


     import numpy as np
     from mpi4py import MPI
     from mpi4py.util import pkl5

     comm = pkl5.Intracomm(MPI.COMM_WORLD)  # comm wrapper
     size = comm.Get_size()
     rank = comm.Get_rank()
     dst = (rank + 1) % size
     src = (rank - 1) % size

     sobj = np.full(1024**3, rank, dtype='i4')  # > 4 GiB
     sreq = comm.isend(sobj, dst, tag=42)

     status = MPI.Status()
     rmsg = comm.mprobe(status=status)
     assert status.Get_source() == src
     assert status.Get_tag() == 42
     rreq = rmsg.irecv()
     robj = rreq.wait()

     sreq.Free()
     assert np.max(robj) == src
     assert np.min(robj) == src

LiteralBlock: ‘test-pkl5-2.py’


File: mpi4py.info,  Node: mpi4py util dtlib,  Prev: mpi4py util pkl5,  Up: mpi4py util

7.2 mpi4py.util.dtlib
=====================

New in version 3.1.0.

The *note mpi4py.util.dtlib: 5. module provides converter routines
between NumPy and MPI datatypes.

 -- Function: mpi4py.util.dtlib.from_numpy_dtype (dtype)

     Convert NumPy datatype to MPI datatype.


     Parameters: ‘dtype’ (numpy.typing.DTypeLike(1)) – NumPy dtype-like
     object.


     Return type: *note Datatype: c8.

 -- Function: mpi4py.util.dtlib.to_numpy_dtype (datatype)

     Convert MPI datatype to NumPy datatype.


     Parameters: ‘datatype’ (*note Datatype: c8.) – MPI datatype.


     Return type: numpy.dtype(2)

   ---------- Footnotes ----------

   (1) 
https://numpy.org/doc/stable/reference/typing.html#numpy.typing.DTypeLike

   (2) 
https://numpy.org/doc/stable/reference/generated/numpy.dtype.html#numpy.dtype


File: mpi4py.info,  Node: mpi4py run,  Next: Reference,  Prev: mpi4py util,  Up: Top

8 mpi4py.run
************

New in version 3.0.0.

At import time, *note mpi4py: 0. initializes the MPI execution
environment calling ‘MPI_Init_thread()’ and installs an exit hook to
automatically call ‘MPI_Finalize()’ just before the Python process
terminates.  Additionally, *note mpi4py: 0. overrides the default *note
ERRORS_ARE_FATAL: 96. error handler in favor of *note ERRORS_RETURN: 95,
which allows translating MPI errors in Python exceptions.  These
departures from standard MPI behavior may be controversial, but are
quite convenient within the highly dynamic Python programming
environment.  Third-party code using *note mpi4py: 0. can just ‘from
mpi4py import MPI’ and perform MPI calls without the tedious
initialization/finalization handling.  MPI errors, once translated
automatically to Python exceptions, can be dealt with the common
try(1)…except(2)…finally(3) clauses; unhandled MPI exceptions will print
a traceback which helps in locating problems in source code.

Unfortunately, the interplay of automatic MPI finalization and unhandled
exceptions may lead to deadlocks.  In unattended runs, these deadlocks
will drain the battery of your laptop, or burn precious allocation hours
in your supercomputing facility.

Consider the following snippet of Python code.  Assume this code is
stored in a standard Python script file and run with ‘mpiexec’ in two or
more processes.

     from mpi4py import MPI
     assert MPI.COMM_WORLD.Get_size() > 1
     rank = MPI.COMM_WORLD.Get_rank()
     if rank == 0:
         1/0
         MPI.COMM_WORLD.send(None, dest=1, tag=42)
     elif rank == 1:
         MPI.COMM_WORLD.recv(source=0, tag=42)

Process 0 raises ZeroDivisionError(4) exception before performing a send
call to process 1.  As the exception is not handled, the Python
interpreter running in process 0 will proceed to exit with non-zero
status.  However, as *note mpi4py: 0. installed a finalizer hook to call
‘MPI_Finalize()’ before exit, process 0 will block waiting for other
processes to also enter the ‘MPI_Finalize()’ call.  Meanwhile, process 1
will block waiting for a message to arrive from process 0, thus never
reaching to ‘MPI_Finalize()’.  The whole MPI execution environment is
irremediably in a deadlock state.

To alleviate this issue, *note mpi4py: 0. offers a simple, alternative
command line execution mechanism based on using the -m(5) flag and
implemented with the runpy(6) module.  To use this features, Python code
should be run passing ‘-m mpi4py’ in the command line invoking the
Python interpreter.  In case of unhandled exceptions, the finalizer hook
will call ‘MPI_Abort()’ on the ‘MPI_COMM_WORLD’ communicator, thus
effectively aborting the MPI execution environment.

     Warning: When a process is forced to abort, resources (e.g.  open
     files) are not cleaned-up and any registered finalizers (either
     with the atexit(7) module, the Python C/API function
     Py_AtExit()(8), or even the C standard library function ‘atexit()’)
     will not be executed.  Thus, aborting execution is an extremely
     impolite way of ensuring process termination.  However, MPI
     provides no other mechanism to recover from a deadlock state.

* Menu:

* Interface options::

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/reference/compound_stmts.html#try

   (2) https://docs.python.org/3/reference/compound_stmts.html#except

   (3) https://docs.python.org/3/reference/compound_stmts.html#finally

   (4) 
https://docs.python.org/3/library/exceptions.html#ZeroDivisionError

   (5) https://docs.python.org/3/using/cmdline.html#using-on-cmdline

   (6) https://docs.python.org/3/library/runpy.html#module-runpy

   (7) https://docs.python.org/3/library/atexit.html#module-atexit

   (8) https://docs.python.org/3/c-api/sys.html#c.Py_AtExit


File: mpi4py.info,  Node: Interface options,  Up: mpi4py run

8.1 Interface options
=====================

The use of ‘-m mpi4py’ to execute Python code on the command line
resembles that of the Python interpreter.

   * ‘mpiexec -n NUMPROCS python -m mpi4py PYFILE [arg] ...’

   * ‘mpiexec -n NUMPROCS python -m mpi4py -m MOD [arg] ...’

   * ‘mpiexec -n NUMPROCS python -m mpi4py -c CMD [arg] ...’

   * ‘mpiexec -n NUMPROCS python -m mpi4py - [arg] ...’

 -- Describe: <pyfile>

     Execute the Python code contained in ‘pyfile’, which must be a
     filesystem path referring to either a Python file, a directory
     containing a ‘__main__.py’ file, or a zipfile containing a
     ‘__main__.py’ file.

 -- Program Option: -m <mod>

     Search sys.path(1) for the named module ‘mod’ and execute its
     contents.

 -- Program Option: -c <cmd>

     Execute the Python code in the ‘cmd’ string command.

 -- Describe: -

     Read commands from standard input (sys.stdin(2)).

See also
........

Command line(3)

     Documentation on Python command line interface.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/sys.html#sys.path

   (2) https://docs.python.org/3/library/sys.html#sys.stdin

   (3) https://docs.python.org/3/using/cmdline.html#using-on-cmdline


File: mpi4py.info,  Node: Reference,  Next: Citation,  Prev: mpi4py run,  Up: Top

9 Reference
***********

*note mpi4py.MPI: 2.Message Passing Interface.
               

* Menu:

* mpi4py.MPI: mpi4py MPI<2>.


File: mpi4py.info,  Node: mpi4py MPI<2>,  Up: Reference

9.1 mpi4py.MPI
==============

Message Passing Interface.

Classes
.......

*note Cartcomm: 2f.([comm])Cartesian topology intracommunicator
               
               
*note Comm: 1a.([comm])Communicator
               
               
*note Datatype: c8.([datatype])Datatype object
               
               
*note Distgraphcomm: 31.([comm])Distributed graph topology intracommunicator
               
               
*note Errhandler: cf.([errhandler])Error handler
               
               
*note File: 80.([file])File handle
               
               
*note Graphcomm: 30.([comm])General graph topology intracommunicator
               
               
*note Grequest: ca.([request])Generalized request handle
               
               
*note Group: 24.([group])Group of processes
               
               
*note Info: cc.([info])Info object
               
               
*note Intercomm: 1c.([comm])Intercommunicator
               
               
*note Intracomm: 1b.([comm])Intracommunicator
               
               
*note Message: ce.([message])Matched message handle
               
               
*note Op: cb.([op])Operation object
               
               
*note Pickle: d0.([dumps,Pickle/unpickle Python objects
loads,         
protocol])

*note Prequest: 46.([request])Persistent request handle
               
               
*note Request: 3f.([request])Request handle
               
               
*note Status: c9.([status])Status object
               
               
*note Topocomm: cd.([comm])Topology intracommunicator
               
               
*note Win: 72.([win])Window handle
               
               
*note memory: d1.(buf)Memory buffer
               

* Menu:

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


File: mpi4py.info,  Node: mpi4py MPI Cartcomm,  Next: mpi4py MPI Comm,  Up: mpi4py MPI<2>

9.1.1 mpi4py.MPI.Cartcomm
-------------------------

 -- Class: mpi4py.MPI.Cartcomm (comm=None)

     Bases: *note Topocomm: cd.

     Cartesian topology intracommunicator


     Parameters: ‘comm’ (‘Optional’‘[’*note Cartcomm: 2f.‘]’) –


     Return type: *note Cartcomm: 2f.

      -- Method: static __new__ (cls, comm=None)


          Parameters: ‘comm’ (‘Optional’‘[’*note Cartcomm: 2f.‘]’) –


          Return type: *note Cartcomm: 2f.

     Methods Summary
     ...............

     *note Get_cart_rank: 236.(coords)Translate logical coordinates to ranks
                    
                    
     *note Get_coords: 237.(rank)Translate ranks to logical coordinates
                    
                    
     *note Get_dim: 238.()Return number of dimensions
                    
                    
     *note Get_topo: 239.()Return information on the cartesian topology
                    
                    
     *note Shift: 23a.(direction,Return a tuple (source, dest) of process ranks for data shifting with Comm.Sendrecv()
     disp)          

     *note Sub: 23b.(remain_dims)Return cartesian communicators that form lower-dimensional subgrids
                    

     Attributes Summary
     ..................

     *note coords: 23c.coordinates
                    
                    
     *note dim: 23d.number of dimensions
                    
                    
     *note dims: 23e.dimensions
                    
                    
     *note ndim: 23f.number of dimensions
                    
                    
     *note periods: 240.periodicity
                    
                    
     *note topo: 241.topology information
                    

     Methods Documentation
     .....................

      -- Method: Get_cart_rank (coords)

          Translate logical coordinates to ranks


          Parameters: ‘coords’ (‘Sequence’‘[’int(1)‘]’) –


          Return type: int(2)

      -- Method: Get_coords (rank)

          Translate ranks to logical coordinates


          Parameters: ‘rank’ (int(3)) –


          Return type: List[int(4)]

      -- Method: Get_dim ()

          Return number of dimensions


          Return type: int(5)

      -- Method: Get_topo ()

          Return information on the cartesian topology


          Return type: Tuple[List[int(6)], List[int(7)], List[int(8)]]

      -- Method: Shift (direction, disp)

          Return a tuple (source, dest) of process ranks for data
          shifting with Comm.Sendrecv()


          Parameters:

             * ‘direction’ (int(9)) –

             * ‘disp’ (int(10)) –


          Return type: Tuple[int(11), int(12)]

      -- Method: Sub (remain_dims)

          Return cartesian communicators that form lower-dimensional
          subgrids


          Parameters: ‘remain_dims’ (‘Sequence’‘[’bool(13)‘]’) –


          Return type: *note Cartcomm: 2f.

     Attributes Documentation
     ........................

      -- Attribute: coords

          coordinates

      -- Attribute: dim

          number of dimensions

      -- Attribute: dims

          dimensions

      -- Attribute: ndim

          number of dimensions

      -- Attribute: periods

          periodicity

      -- Attribute: topo

          topology information

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#bool


File: mpi4py.info,  Node: mpi4py MPI Comm,  Next: mpi4py MPI Datatype,  Prev: mpi4py MPI Cartcomm,  Up: mpi4py MPI<2>

9.1.2 mpi4py.MPI.Comm
---------------------

 -- Class: mpi4py.MPI.Comm (comm=None)

     Bases: object(1)

     Communicator


     Parameters: ‘comm’ (‘Optional’‘[’*note Comm: 1a.‘]’) –


     Return type: *note Comm: 1a.

      -- Method: static __new__ (cls, comm=None)


          Parameters: ‘comm’ (‘Optional’‘[’*note Comm: 1a.‘]’) –


          Return type: *note Comm: 1a.

     Methods Summary
     ...............

     *note Abort: 245.([errorcode])Terminate MPI execution environment
                    
                    
     *note Allgather: 4c.(sendbuf,Gather to All, gather data from all processes and distribute it to all other processes in a
     recvbuf)       group
                    
                    
     *note Allgatherv: 55.(sendbuf,Gather to All Vector, gather data from all processes and distribute it to all other
     recvbuf)       processes in a group providing different amount of data and displacements
                    
                    
     *note Allreduce: 5a.(sendbuf,Reduce to All
     recvbuf[,      
     op])

     *note Alltoall: 4d.(sendbuf,All to All Scatter/Gather, send data from all to all processes in a group
     recvbuf)       

     *note Alltoallv: 56.(sendbuf,All to All Scatter/Gather Vector, send data from all to all processes in a group providing
     recvbuf)       different amount of data and displacements
                    
                    
     *note Alltoallw: 57.(sendbuf,Generalized All-to-All communication allowing different counts, displacements and datatypes
     recvbuf)       for each partner
                    
                    
     *note Barrier: 246.()Barrier synchronization
                    
                    
     *note Bcast: 49.(buf[,Broadcast a message from one process to all other processes in a group
     root])         

     *note Bsend: 247.(buf,Blocking send in buffered mode
     dest[, tag])   

     *note Bsend_init: 248.(buf,Persistent request for a send in buffered mode
     dest[, tag])   

     *note Call_errhandler: 249.(errorcode)Call the error handler installed on a communicator
                    
                    
     *note Clone: 2a.()Clone an existing communicator
                    
                    
     *note Compare: 24a.(comm1,Compare two communicators
     comm2)         

     *note Create: 28.(group)Create communicator from group
                    
                    
     *note Create_group: 29.(group[,Create communicator from group
     tag])          

     *note Create_keyval: 24b.([copy_fn,Create a new attribute key for communicators
     delete_fn,     
     nopython])

     *note Delete_attr: 24c.(keyval)Delete attribute value associated with a key
                    
                    
     *note Disconnect: 6e.()Disconnect from a communicator
                    
                    
     *note Dup: 2b.([info])Duplicate an existing communicator
                    
                    
     *note Dup_with_info: 24d.(info)Duplicate an existing communicator
                    
                    
     *note Free: 24e.()Free a communicator
                    
                    
     *note Free_keyval: 24f.(keyval)Free an attribute key for communicators
                    
                    
     *note Gather: 4b.(sendbuf,Gather together values from a group of processes
     recvbuf[,      
     root])

     *note Gatherv: 54.(sendbuf,Gather Vector, gather data to one process from all other processes in a group providing
     recvbuf[,      different amount of data and displacements at the receiving sides
     root])         

     *note Get_attr: 90.(keyval)Retrieve attribute value by key
                    
                    
     *note Get_errhandler: 98.()Get the error handler for a communicator
                    
                    
     *note Get_group: 23.()Access the group associated with a communicator
                    
                    
     *note Get_info: 250.()Return the hints for a communicator that are currently in use
                    
                    
     *note Get_name: 251.()Get the print name for this communicator
                    
                    
     *note Get_parent: 68.()Return the parent intercommunicator for this process
                    
                    
     *note Get_rank: 22.()Return the rank of this process in a communicator
                    
                    
     *note Get_size: 21.()Return the number of processes in a communicator
                    
                    
     *note Get_topology: 252.()Determine the type of topology (if any) associated with a communicator
                    
                    
     *note Iallgather: 253.(sendbuf,Nonblocking Gather to All
     recvbuf)       

     *note Iallgatherv: 254.(sendbuf,Nonblocking Gather to All Vector
     recvbuf)       

     *note Iallreduce: 255.(sendbuf,Nonblocking Reduce to All
     recvbuf[,      
     op])

     *note Ialltoall: 256.(sendbuf,Nonblocking All to All Scatter/Gather
     recvbuf)       

     *note Ialltoallv: 257.(sendbuf,Nonblocking All to All Scatter/Gather Vector
     recvbuf)       

     *note Ialltoallw: 258.(sendbuf,Nonblocking Generalized All-to-All
     recvbuf)       

     *note Ibarrier: 259.()Nonblocking Barrier
                    
                    
     *note Ibcast: 25a.(buf[,Nonblocking Broadcast
     root])         

     *note Ibsend: 25b.(buf,Nonblocking send in buffered mode
     dest[, tag])   

     *note Idup: 25c.()Nonblocking duplicate an existing communicator
                    
                    
     *note Igather: 25d.(sendbuf,Nonblocking Gather
     recvbuf[,      
     root])

     *note Igatherv: 25e.(sendbuf,Nonblocking Gather Vector
     recvbuf[,      
     root])

     *note Improbe: 25f.([source,Nonblocking test for a matched message
     tag,           
     status])

     *note Iprobe: 260.([source,Nonblocking test for a message
     tag,           
     status])

     *note Irecv: 3e.(buf[,Nonblocking receive
     source,        
     tag])

     *note Ireduce: 261.(sendbuf,Nonblocking Reduce to Root
     recvbuf[,      
     op, root])

     *note Ireduce_scatter: 262.(sendbuf,Nonblocking Reduce-Scatter (vector version)
     recvbuf[,      
     ...])

     *note Ireduce_scatter_block: 263.(sendbuf,Nonblocking Reduce-Scatter Block (regular, non-vector version)
     recvbuf[,      
     op])

     *note Irsend: 264.(buf,Nonblocking send in ready mode
     dest[, tag])   

     *note Is_inter: 1d.()Test to see if a comm is an intercommunicator
                    
                    
     *note Is_intra: 1e.()Test to see if a comm is an intracommunicator
                    
                    
     *note Iscatter: 265.(sendbuf,Nonblocking Scatter
     recvbuf[,      
     root])

     *note Iscatterv: 266.(sendbuf,Nonblocking Scatter Vector
     recvbuf[,      
     root])

     *note Isend: 3d.(buf,Nonblocking send
     dest[, tag])   

     *note Issend: 267.(buf,Nonblocking send in synchronous mode
     dest[, tag])   

     *note Join: 268.(fd)Create a intercommunicator by joining two processes connected by a socket
                    
                    
     *note Mprobe: 269.([source,Blocking test for a matched message
     tag,           
     status])

     *note Probe: 26a.([source,Blocking test for a message
     tag,           
     status])

     *note Recv: 37.(buf[,Blocking receive
     source, tag,   
     status])

     *note Recv_init: 45.(buf[,Create a persistent request for a receive
     source,        
     tag])

     *note Reduce: 58.(sendbuf,Reduce to Root
     recvbuf[,      
     op, root])

     *note Reduce_scatter: 59.(sendbuf,Reduce-Scatter (vector version)
     recvbuf[,      
     ...])

     *note Reduce_scatter_block: 26b.(sendbuf,Reduce-Scatter Block (regular, non-vector version)
     recvbuf[,      
     op])

     *note Rsend: 26c.(buf,Blocking send in ready mode
     dest[, tag])   

     *note Rsend_init: 26d.(buf,Persistent request for a send in ready mode
     dest[, tag])   

     *note Scatter: 4a.(sendbuf,Scatter data from one process to all other processes in a group
     recvbuf[,      
     root])

     *note Scatterv: 53.(sendbuf,Scatter Vector, scatter data from one process to all other processes in a group providing
     recvbuf[,      different amount of data and displacements at the sending side
     root])         

     *note Send: 36.(buf,Blocking send
     dest[, tag])   

     *note Send_init: 44.(buf,Create a persistent request for a standard send
     dest[, tag])   

     *note Sendrecv: 38.(sendbuf,Send and receive a message
     dest[,         
     sendtag,
     recvbuf,
     ...])

     *note Sendrecv_replace: 26e.(buf,Send and receive a message
     dest[,         
     sendtag,
     ...])

     *note Set_attr: 26f.(keyval,Store attribute value associated with a key
     attrval)       

     *note Set_errhandler: 97.(errhandler)Set the error handler for a communicator
                    
                    
     *note Set_info: 270.(info)Set new values for the hints associated with a communicator
                    
                    
     *note Set_name: 271.(name)Set the print name for this communicator
                    
                    
     *note Split: 2c.([color,Split communicator by color and key
     key])          

     *note Split_type: 272.(split_type[,Split communicator by split type
     key, info])    

     *note Ssend: 273.(buf,Blocking send in synchronous mode
     dest[, tag])   

     *note Ssend_init: 274.(buf,Persistent request for a send in synchronous mode
     dest[, tag])   

     *note allgather: 51.(sendobj)Gather to All
                    
                    
     *note allreduce: 5e.(sendobj[,Reduce to All
     op])           

     *note alltoall: 52.(sendobj)All to All Scatter/Gather
                    
                    
     *note barrier: 275.()Barrier
                    
                    
     *note bcast: 4e.(obj[,Broadcast
     root])         

     *note bsend: 276.(obj,Send in buffered mode
     dest[, tag])   

     *note f2py: 277.(arg)

     *note gather: 50.(sendobj[,Gather
     root])         

     *note ibsend: 278.(obj,Nonblocking send in buffered mode
     dest[, tag])   

     *note improbe: 279.([source,Nonblocking test for a matched message
     tag,           
     status])

     *note iprobe: 27a.([source,Nonblocking test for a message
     tag,           
     status])

     *note irecv: 9d.([buf,Nonblocking receive
     source,        
     tag])

     *note isend: 9c.(obj,Nonblocking send
     dest[, tag])   

     *note issend: 27b.(obj,Nonblocking send in synchronous mode
     dest[, tag])   

     *note mprobe: 27c.([source,Blocking test for a matched message
     tag,           
     status])

     *note probe: 27d.([source,Blocking test for a message
     tag,           
     status])

     *note py2f: 27e.()

     *note recv: 3a.([buf,Receive
     source, tag,   
     status])

     *note reduce: 5d.(sendobj[,Reduce to Root
     op, root])     

     *note scatter: 4f.(sendobj[,Scatter
     root])         

     *note send: 39.(obj,Send
     dest[, tag])   

     *note sendrecv: 3b.(sendobj,Send and Receive
     dest[,         
     sendtag,
     recvbuf,
     ...])

     *note ssend: 27f.(obj,Send in synchronous mode
     dest[, tag])   

     Attributes Summary
     ..................

     *note group: 280.communicator group
                    
                    
     *note info: 281.communicator info
                    
                    
     *note is_inter: 282.is intercommunicator
                    
                    
     *note is_intra: 283.is intracommunicator
                    
                    
     *note is_topo: 284.is a topology communicator
                    
                    
     *note name: 285.communicator name
                    
                    
     *note rank: 286.rank of this process in communicator
                    
                    
     *note size: a0.number of processes in communicator
                    
                    
     *note topology: 287.communicator topology type
                    

     Methods Documentation
     .....................

      -- Method: Abort (errorcode=0)

          Terminate MPI execution environment

               Warning: This is a direct call, use it with care!!!.


          Parameters: ‘errorcode’ (int(2)) –


          Return type: NoReturn

      -- Method: Allgather (sendbuf, recvbuf)

          Gather to All, gather data from all processes and distribute
          it to all other processes in a group


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: None

      -- Method: Allgatherv (sendbuf, recvbuf)

          Gather to All Vector, gather data from all processes and
          distribute it to all other processes in a group providing
          different amount of data and displacements


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: None

      -- Method: Allreduce (sendbuf, recvbuf, op=SUM)

          Reduce to All


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: Alltoall (sendbuf, recvbuf)

          All to All Scatter/Gather, send data from all to all processes
          in a group


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecB’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: None

      -- Method: Alltoallv (sendbuf, recvbuf)

          All to All Scatter/Gather Vector, send data from all to all
          processes in a group providing different amount of data and
          displacements


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecV’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: None

      -- Method: Alltoallw (sendbuf, recvbuf)

          Generalized All-to-All communication allowing different
          counts, displacements and datatypes for each partner


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecW’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecW’) –


          Return type: None

      -- Method: Barrier ()

          Barrier synchronization


          Return type: None

      -- Method: Bcast (buf, root=0)

          Broadcast a message from one process to all other processes in
          a group


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘root’ (int(3)) –


          Return type: None

      -- Method: Bsend (buf, dest, tag=0)

          Blocking send in buffered mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(4)) –

             * ‘tag’ (int(5)) –


          Return type: None

      -- Method: Bsend_init (buf, dest, tag=0)

          Persistent request for a send in buffered mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(6)) –

             * ‘tag’ (int(7)) –


          Return type: *note Request: 3f.

      -- Method: Call_errhandler (errorcode)

          Call the error handler installed on a communicator


          Parameters: ‘errorcode’ (int(8)) –


          Return type: None

      -- Method: Clone ()

          Clone an existing communicator


          Return type: *note Comm: 1a.

      -- Method: classmethod Compare (comm1, comm2)

          Compare two communicators


          Parameters:

             * ‘comm1’ (*note Comm: 1a.) –

             * ‘comm2’ (*note Comm: 1a.) –


          Return type: int(9)

      -- Method: Create (group)

          Create communicator from group


          Parameters: ‘group’ (*note Group: 24.) –


          Return type: *note Comm: 1a.

      -- Method: Create_group (group, tag=0)

          Create communicator from group


          Parameters:

             * ‘group’ (*note Group: 24.) –

             * ‘tag’ (int(10)) –


          Return type: *note Comm: 1a.

      -- Method: classmethod Create_keyval (copy_fn=None,
               delete_fn=None, nopython=False)

          Create a new attribute key for communicators


          Parameters:

             * ‘copy_fn’ (‘Optional’‘[’‘Callable’‘[’‘[’*note Comm: 1a.‘,
               ’int(11)‘, ’‘Any’‘]’‘, ’‘Any’‘]’‘]’) –

             * ‘delete_fn’ (‘Optional’‘[’‘Callable’‘[’‘[’*note Comm:
               1a.‘, ’int(12)‘, ’‘Any’‘]’‘, ’‘None’‘]’‘]’) –

             * ‘nopython’ (bool(13)) –


          Return type: int(14)

      -- Method: Delete_attr (keyval)

          Delete attribute value associated with a key


          Parameters: ‘keyval’ (int(15)) –


          Return type: None

      -- Method: Disconnect ()

          Disconnect from a communicator


          Return type: None

      -- Method: Dup (info=None)

          Duplicate an existing communicator


          Parameters: ‘info’ (‘Optional’‘[’*note Info: cc.‘]’) –


          Return type: *note Comm: 1a.

      -- Method: Dup_with_info (info)

          Duplicate an existing communicator


          Parameters: ‘info’ (*note Info: cc.) –


          Return type: *note Comm: 1a.

      -- Method: Free ()

          Free a communicator


          Return type: None

      -- Method: classmethod Free_keyval (keyval)

          Free an attribute key for communicators


          Parameters: ‘keyval’ (int(16)) –


          Return type: int(17)

      -- Method: Gather (sendbuf, recvbuf, root=0)

          Gather together values from a group of processes


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Optional’‘[’‘BufSpecB’‘]’) –

             * ‘root’ (int(18)) –


          Return type: None

      -- Method: Gatherv (sendbuf, recvbuf, root=0)

          Gather Vector, gather data to one process from all other
          processes in a group providing different amount of data and
          displacements at the receiving sides


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Optional’‘[’‘BufSpecV’‘]’) –

             * ‘root’ (int(19)) –


          Return type: None

      -- Method: Get_attr (keyval)

          Retrieve attribute value by key


          Parameters: ‘keyval’ (int(20)) –


          Return type: Optional[Union[int(21), Any]]

      -- Method: Get_errhandler ()

          Get the error handler for a communicator


          Return type: *note Errhandler: cf.

      -- Method: Get_group ()

          Access the group associated with a communicator


          Return type: *note Group: 24.

      -- Method: Get_info ()

          Return the hints for a communicator that are currently in use


          Return type: *note Info: cc.

      -- Method: Get_name ()

          Get the print name for this communicator


          Return type: str(22)

      -- Method: classmethod Get_parent ()

          Return the parent intercommunicator for this process


          Return type: *note Intercomm: 1c.

      -- Method: Get_rank ()

          Return the rank of this process in a communicator


          Return type: int(23)

      -- Method: Get_size ()

          Return the number of processes in a communicator


          Return type: int(24)

      -- Method: Get_topology ()

          Determine the type of topology (if any) associated with a
          communicator


          Return type: int(25)

      -- Method: Iallgather (sendbuf, recvbuf)

          Nonblocking Gather to All


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: *note Request: 3f.

      -- Method: Iallgatherv (sendbuf, recvbuf)

          Nonblocking Gather to All Vector


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: *note Request: 3f.

      -- Method: Iallreduce (sendbuf, recvbuf, op=SUM)

          Nonblocking Reduce to All


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘op’ (*note Op: cb.) –


          Return type: *note Request: 3f.

      -- Method: Ialltoall (sendbuf, recvbuf)

          Nonblocking All to All Scatter/Gather


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecB’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: *note Request: 3f.

      -- Method: Ialltoallv (sendbuf, recvbuf)

          Nonblocking All to All Scatter/Gather Vector


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecV’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: *note Request: 3f.

      -- Method: Ialltoallw (sendbuf, recvbuf)

          Nonblocking Generalized All-to-All


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecW’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpecW’) –


          Return type: *note Request: 3f.

      -- Method: Ibarrier ()

          Nonblocking Barrier


          Return type: *note Request: 3f.

      -- Method: Ibcast (buf, root=0)

          Nonblocking Broadcast


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘root’ (int(26)) –


          Return type: *note Request: 3f.

      -- Method: Ibsend (buf, dest, tag=0)

          Nonblocking send in buffered mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(27)) –

             * ‘tag’ (int(28)) –


          Return type: *note Request: 3f.

      -- Method: Idup ()

          Nonblocking duplicate an existing communicator


          Return type: Tuple[*note Comm: 1a, *note Request: 3f.]

      -- Method: Igather (sendbuf, recvbuf, root=0)

          Nonblocking Gather


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Optional’‘[’‘BufSpecB’‘]’) –

             * ‘root’ (int(29)) –


          Return type: *note Request: 3f.

      -- Method: Igatherv (sendbuf, recvbuf, root=0)

          Nonblocking Gather Vector


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Optional’‘[’‘BufSpecV’‘]’) –

             * ‘root’ (int(30)) –


          Return type: *note Request: 3f.

      -- Method: Improbe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Nonblocking test for a matched message


          Parameters:

             * ‘source’ (int(31)) –

             * ‘tag’ (int(32)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Optional[*note Message: ce.]

      -- Method: Iprobe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Nonblocking test for a message


          Parameters:

             * ‘source’ (int(33)) –

             * ‘tag’ (int(34)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: bool(35)

      -- Method: Irecv (buf, source=ANY_SOURCE, tag=ANY_TAG)

          Nonblocking receive


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘source’ (int(36)) –

             * ‘tag’ (int(37)) –


          Return type: *note Request: 3f.

      -- Method: Ireduce (sendbuf, recvbuf, op=SUM, root=0)

          Nonblocking Reduce to Root


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Optional’‘[’‘BufSpec’‘]’) –

             * ‘op’ (*note Op: cb.) –

             * ‘root’ (int(38)) –


          Return type: *note Request: 3f.

      -- Method: Ireduce_scatter (sendbuf, recvbuf, recvcounts=None,
               op=SUM)

          Nonblocking Reduce-Scatter (vector version)


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘recvcounts’ (‘Optional’‘[’‘Sequence’‘[’int(39)‘]’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: *note Request: 3f.

      -- Method: Ireduce_scatter_block (sendbuf, recvbuf, op=SUM)

          Nonblocking Reduce-Scatter Block (regular, non-vector version)


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecB’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘BufSpecB’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: *note Request: 3f.

      -- Method: Irsend (buf, dest, tag=0)

          Nonblocking send in ready mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(40)) –

             * ‘tag’ (int(41)) –


          Return type: *note Request: 3f.

      -- Method: Is_inter ()

          Test to see if a comm is an intercommunicator


          Return type: bool(42)

      -- Method: Is_intra ()

          Test to see if a comm is an intracommunicator


          Return type: bool(43)

      -- Method: Iscatter (sendbuf, recvbuf, root=0)

          Nonblocking Scatter


          Parameters:

             * ‘sendbuf’ (‘Optional’‘[’‘BufSpecB’‘]’) –

             * ‘recvbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘root’ (int(44)) –


          Return type: *note Request: 3f.

      -- Method: Iscatterv (sendbuf, recvbuf, root=0)

          Nonblocking Scatter Vector


          Parameters:

             * ‘sendbuf’ (‘Optional’‘[’‘BufSpecV’‘]’) –

             * ‘recvbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘root’ (int(45)) –


          Return type: *note Request: 3f.

      -- Method: Isend (buf, dest, tag=0)

          Nonblocking send


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(46)) –

             * ‘tag’ (int(47)) –


          Return type: *note Request: 3f.

      -- Method: Issend (buf, dest, tag=0)

          Nonblocking send in synchronous mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(48)) –

             * ‘tag’ (int(49)) –


          Return type: *note Request: 3f.

      -- Method: classmethod Join (fd)

          Create a intercommunicator by joining two processes connected
          by a socket


          Parameters: ‘fd’ (int(50)) –


          Return type: *note Intercomm: 1c.

      -- Method: Mprobe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Blocking test for a matched message


          Parameters:

             * ‘source’ (int(51)) –

             * ‘tag’ (int(52)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: *note Message: ce.

      -- Method: Probe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Blocking test for a message

               Note: This function blocks until the message arrives.


          Parameters:

             * ‘source’ (int(53)) –

             * ‘tag’ (int(54)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Literal[True]

      -- Method: Recv (buf, source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Blocking receive

               Note: This function blocks until the message is received


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘source’ (int(55)) –

             * ‘tag’ (int(56)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Recv_init (buf, source=ANY_SOURCE, tag=ANY_TAG)

          Create a persistent request for a receive


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘source’ (int(57)) –

             * ‘tag’ (int(58)) –


          Return type: *note Prequest: 46.

      -- Method: Reduce (sendbuf, recvbuf, op=SUM, root=0)

          Reduce to Root


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Optional’‘[’‘BufSpec’‘]’) –

             * ‘op’ (*note Op: cb.) –

             * ‘root’ (int(59)) –


          Return type: None

      -- Method: Reduce_scatter (sendbuf, recvbuf, recvcounts=None,
               op=SUM)

          Reduce-Scatter (vector version)


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘recvcounts’ (‘Optional’‘[’‘Sequence’‘[’int(60)‘]’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: Reduce_scatter_block (sendbuf, recvbuf, op=SUM)

          Reduce-Scatter Block (regular, non-vector version)


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpecB’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘BufSpecB’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: Rsend (buf, dest, tag=0)

          Blocking send in ready mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(61)) –

             * ‘tag’ (int(62)) –


          Return type: None

      -- Method: Rsend_init (buf, dest, tag=0)

          Persistent request for a send in ready mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(63)) –

             * ‘tag’ (int(64)) –


          Return type: *note Request: 3f.

      -- Method: Scatter (sendbuf, recvbuf, root=0)

          Scatter data from one process to all other processes in a
          group


          Parameters:

             * ‘sendbuf’ (‘Optional’‘[’‘BufSpecB’‘]’) –

             * ‘recvbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘root’ (int(65)) –


          Return type: None

      -- Method: Scatterv (sendbuf, recvbuf, root=0)

          Scatter Vector, scatter data from one process to all other
          processes in a group providing different amount of data and
          displacements at the sending side


          Parameters:

             * ‘sendbuf’ (‘Optional’‘[’‘BufSpecV’‘]’) –

             * ‘recvbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘root’ (int(66)) –


          Return type: None

      -- Method: Send (buf, dest, tag=0)

          Blocking send

               Note: This function may block until the message is
               received.  Whether or not *note Send: 36. blocks depends
               on several factors and is implementation dependent


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(67)) –

             * ‘tag’ (int(68)) –


          Return type: None

      -- Method: Send_init (buf, dest, tag=0)

          Create a persistent request for a standard send


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(69)) –

             * ‘tag’ (int(70)) –


          Return type: *note Prequest: 46.

      -- Method: Sendrecv (sendbuf, dest, sendtag=0, recvbuf=None,
               source=ANY_SOURCE, recvtag=ANY_TAG, status=None)

          Send and receive a message

               Note: This function is guaranteed not to deadlock in
               situations where pairs of blocking sends and receives may
               deadlock.

               Caution: A common mistake when using this function is to
               mismatch the tags with the source and destination ranks,
               which can result in deadlock.


          Parameters:

             * ‘sendbuf’ (‘BufSpec’) –

             * ‘dest’ (int(71)) –

             * ‘sendtag’ (int(72)) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘source’ (int(73)) –

             * ‘recvtag’ (int(74)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Sendrecv_replace (buf, dest, sendtag=0,
               source=ANY_SOURCE, recvtag=ANY_TAG, status=None)

          Send and receive a message

               Note: This function is guaranteed not to deadlock in
               situations where pairs of blocking sends and receives may
               deadlock.

               Caution: A common mistake when using this function is to
               mismatch the tags with the source and destination ranks,
               which can result in deadlock.


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(75)) –

             * ‘sendtag’ (int(76)) –

             * ‘source’ (int(77)) –

             * ‘recvtag’ (int(78)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Set_attr (keyval, attrval)

          Store attribute value associated with a key


          Parameters:

             * ‘keyval’ (int(79)) –

             * ‘attrval’ (‘Any’) –


          Return type: None

      -- Method: Set_errhandler (errhandler)

          Set the error handler for a communicator


          Parameters: ‘errhandler’ (*note Errhandler: cf.) –


          Return type: None

      -- Method: Set_info (info)

          Set new values for the hints associated with a communicator


          Parameters: ‘info’ (*note Info: cc.) –


          Return type: None

      -- Method: Set_name (name)

          Set the print name for this communicator


          Parameters: ‘name’ (str(80)) –


          Return type: None

      -- Method: Split (color=0, key=0)

          Split communicator by color and key


          Parameters:

             * ‘color’ (int(81)) –

             * ‘key’ (int(82)) –


          Return type: *note Comm: 1a.

      -- Method: Split_type (split_type, key=0, info=INFO_NULL)

          Split communicator by split type


          Parameters:

             * ‘split_type’ (int(83)) –

             * ‘key’ (int(84)) –

             * ‘info’ (*note Info: cc.) –


          Return type: *note Comm: 1a.

      -- Method: Ssend (buf, dest, tag=0)

          Blocking send in synchronous mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(85)) –

             * ‘tag’ (int(86)) –


          Return type: None

      -- Method: Ssend_init (buf, dest, tag=0)

          Persistent request for a send in synchronous mode


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘dest’ (int(87)) –

             * ‘tag’ (int(88)) –


          Return type: *note Request: 3f.

      -- Method: allgather (sendobj)

          Gather to All


          Parameters: ‘sendobj’ (‘Any’) –


          Return type: List[Any]

      -- Method: allreduce (sendobj, op=SUM)

          Reduce to All


          Parameters:

             * ‘sendobj’ (‘Any’) –

             * ‘op’ (‘Union’‘[’*note Op: cb.‘, ’‘Callable’‘[’‘[’‘Any’‘,
               ’‘Any’‘]’‘, ’‘Any’‘]’‘]’) –


          Return type: Any

      -- Method: alltoall (sendobj)

          All to All Scatter/Gather


          Parameters: ‘sendobj’ (‘Sequence’‘[’‘Any’‘]’) –


          Return type: List[Any]

      -- Method: barrier ()

          Barrier


          Return type: None

      -- Method: bcast (obj, root=0)

          Broadcast


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘root’ (int(89)) –


          Return type: Any

      -- Method: bsend (obj, dest, tag=0)

          Send in buffered mode


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(90)) –

             * ‘tag’ (int(91)) –


          Return type: None

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(92)) –


          Return type: *note Comm: 1a.

      -- Method: gather (sendobj, root=0)

          Gather


          Parameters:

             * ‘sendobj’ (‘Any’) –

             * ‘root’ (int(93)) –


          Return type: Optional[List[Any]]

      -- Method: ibsend (obj, dest, tag=0)

          Nonblocking send in buffered mode


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(94)) –

             * ‘tag’ (int(95)) –


          Return type: *note Request: 3f.

      -- Method: improbe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Nonblocking test for a matched message


          Parameters:

             * ‘source’ (int(96)) –

             * ‘tag’ (int(97)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Optional[*note Message: ce.]

      -- Method: iprobe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Nonblocking test for a message


          Parameters:

             * ‘source’ (int(98)) –

             * ‘tag’ (int(99)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: bool(100)

      -- Method: irecv (buf=None, source=ANY_SOURCE, tag=ANY_TAG)

          Nonblocking receive


          Parameters:

             * ‘buf’ (‘Optional’‘[’‘Buffer’‘]’) –

             * ‘source’ (int(101)) –

             * ‘tag’ (int(102)) –


          Return type: *note Request: 3f.

      -- Method: isend (obj, dest, tag=0)

          Nonblocking send


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(103)) –

             * ‘tag’ (int(104)) –


          Return type: *note Request: 3f.

      -- Method: issend (obj, dest, tag=0)

          Nonblocking send in synchronous mode


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(105)) –

             * ‘tag’ (int(106)) –


          Return type: *note Request: 3f.

      -- Method: mprobe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Blocking test for a matched message


          Parameters:

             * ‘source’ (int(107)) –

             * ‘tag’ (int(108)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: *note Message: ce.

      -- Method: probe (source=ANY_SOURCE, tag=ANY_TAG, status=None)

          Blocking test for a message


          Parameters:

             * ‘source’ (int(109)) –

             * ‘tag’ (int(110)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Literal[True]

      -- Method: py2f ()


          Return type: int(111)

      -- Method: recv (buf=None, source=ANY_SOURCE, tag=ANY_TAG,
               status=None)

          Receive


          Parameters:

             * ‘buf’ (‘Optional’‘[’‘Buffer’‘]’) –

             * ‘source’ (int(112)) –

             * ‘tag’ (int(113)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

      -- Method: reduce (sendobj, op=SUM, root=0)

          Reduce to Root


          Parameters:

             * ‘sendobj’ (‘Any’) –

             * ‘op’ (‘Union’‘[’*note Op: cb.‘, ’‘Callable’‘[’‘[’‘Any’‘,
               ’‘Any’‘]’‘, ’‘Any’‘]’‘]’) –

             * ‘root’ (int(114)) –


          Return type: Optional[Any]

      -- Method: scatter (sendobj, root=0)

          Scatter


          Parameters:

             * ‘sendobj’ (‘Sequence’‘[’‘Any’‘]’) –

             * ‘root’ (int(115)) –


          Return type: Any

      -- Method: send (obj, dest, tag=0)

          Send


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(116)) –

             * ‘tag’ (int(117)) –


          Return type: None

      -- Method: sendrecv (sendobj, dest, sendtag=0, recvbuf=None,
               source=ANY_SOURCE, recvtag=ANY_TAG, status=None)

          Send and Receive


          Parameters:

             * ‘sendobj’ (‘Any’) –

             * ‘dest’ (int(118)) –

             * ‘sendtag’ (int(119)) –

             * ‘recvbuf’ (‘Optional’‘[’‘Buffer’‘]’) –

             * ‘source’ (int(120)) –

             * ‘recvtag’ (int(121)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

      -- Method: ssend (obj, dest, tag=0)

          Send in synchronous mode


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘dest’ (int(122)) –

             * ‘tag’ (int(123)) –


          Return type: None

     Attributes Documentation
     ........................

      -- Attribute: group

          communicator group

      -- Attribute: info

          communicator info

      -- Attribute: is_inter

          is intercommunicator

      -- Attribute: is_intra

          is intracommunicator

      -- Attribute: is_topo

          is a topology communicator

      -- Attribute: name

          communicator name

      -- Attribute: rank

          rank of this process in communicator

      -- Attribute: size

          number of processes in communicator

      -- Attribute: topology

          communicator topology type

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#bool

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#int

   (21) https://docs.python.org/3/library/functions.html#int

   (22) https://docs.python.org/3/library/stdtypes.html#str

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/functions.html#int

   (28) https://docs.python.org/3/library/functions.html#int

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/functions.html#int

   (31) https://docs.python.org/3/library/functions.html#int

   (32) https://docs.python.org/3/library/functions.html#int

   (33) https://docs.python.org/3/library/functions.html#int

   (34) https://docs.python.org/3/library/functions.html#int

   (35) https://docs.python.org/3/library/functions.html#bool

   (36) https://docs.python.org/3/library/functions.html#int

   (37) https://docs.python.org/3/library/functions.html#int

   (38) https://docs.python.org/3/library/functions.html#int

   (39) https://docs.python.org/3/library/functions.html#int

   (40) https://docs.python.org/3/library/functions.html#int

   (41) https://docs.python.org/3/library/functions.html#int

   (42) https://docs.python.org/3/library/functions.html#bool

   (43) https://docs.python.org/3/library/functions.html#bool

   (44) https://docs.python.org/3/library/functions.html#int

   (45) https://docs.python.org/3/library/functions.html#int

   (46) https://docs.python.org/3/library/functions.html#int

   (47) https://docs.python.org/3/library/functions.html#int

   (48) https://docs.python.org/3/library/functions.html#int

   (49) https://docs.python.org/3/library/functions.html#int

   (50) https://docs.python.org/3/library/functions.html#int

   (51) https://docs.python.org/3/library/functions.html#int

   (52) https://docs.python.org/3/library/functions.html#int

   (53) https://docs.python.org/3/library/functions.html#int

   (54) https://docs.python.org/3/library/functions.html#int

   (55) https://docs.python.org/3/library/functions.html#int

   (56) https://docs.python.org/3/library/functions.html#int

   (57) https://docs.python.org/3/library/functions.html#int

   (58) https://docs.python.org/3/library/functions.html#int

   (59) https://docs.python.org/3/library/functions.html#int

   (60) https://docs.python.org/3/library/functions.html#int

   (61) https://docs.python.org/3/library/functions.html#int

   (62) https://docs.python.org/3/library/functions.html#int

   (63) https://docs.python.org/3/library/functions.html#int

   (64) https://docs.python.org/3/library/functions.html#int

   (65) https://docs.python.org/3/library/functions.html#int

   (66) https://docs.python.org/3/library/functions.html#int

   (67) https://docs.python.org/3/library/functions.html#int

   (68) https://docs.python.org/3/library/functions.html#int

   (69) https://docs.python.org/3/library/functions.html#int

   (70) https://docs.python.org/3/library/functions.html#int

   (71) https://docs.python.org/3/library/functions.html#int

   (72) https://docs.python.org/3/library/functions.html#int

   (73) https://docs.python.org/3/library/functions.html#int

   (74) https://docs.python.org/3/library/functions.html#int

   (75) https://docs.python.org/3/library/functions.html#int

   (76) https://docs.python.org/3/library/functions.html#int

   (77) https://docs.python.org/3/library/functions.html#int

   (78) https://docs.python.org/3/library/functions.html#int

   (79) https://docs.python.org/3/library/functions.html#int

   (80) https://docs.python.org/3/library/stdtypes.html#str

   (81) https://docs.python.org/3/library/functions.html#int

   (82) https://docs.python.org/3/library/functions.html#int

   (83) https://docs.python.org/3/library/functions.html#int

   (84) https://docs.python.org/3/library/functions.html#int

   (85) https://docs.python.org/3/library/functions.html#int

   (86) https://docs.python.org/3/library/functions.html#int

   (87) https://docs.python.org/3/library/functions.html#int

   (88) https://docs.python.org/3/library/functions.html#int

   (89) https://docs.python.org/3/library/functions.html#int

   (90) https://docs.python.org/3/library/functions.html#int

   (91) https://docs.python.org/3/library/functions.html#int

   (92) https://docs.python.org/3/library/functions.html#int

   (93) https://docs.python.org/3/library/functions.html#int

   (94) https://docs.python.org/3/library/functions.html#int

   (95) https://docs.python.org/3/library/functions.html#int

   (96) https://docs.python.org/3/library/functions.html#int

   (97) https://docs.python.org/3/library/functions.html#int

   (98) https://docs.python.org/3/library/functions.html#int

   (99) https://docs.python.org/3/library/functions.html#int

   (100) https://docs.python.org/3/library/functions.html#bool

   (101) https://docs.python.org/3/library/functions.html#int

   (102) https://docs.python.org/3/library/functions.html#int

   (103) https://docs.python.org/3/library/functions.html#int

   (104) https://docs.python.org/3/library/functions.html#int

   (105) https://docs.python.org/3/library/functions.html#int

   (106) https://docs.python.org/3/library/functions.html#int

   (107) https://docs.python.org/3/library/functions.html#int

   (108) https://docs.python.org/3/library/functions.html#int

   (109) https://docs.python.org/3/library/functions.html#int

   (110) https://docs.python.org/3/library/functions.html#int

   (111) https://docs.python.org/3/library/functions.html#int

   (112) https://docs.python.org/3/library/functions.html#int

   (113) https://docs.python.org/3/library/functions.html#int

   (114) https://docs.python.org/3/library/functions.html#int

   (115) https://docs.python.org/3/library/functions.html#int

   (116) https://docs.python.org/3/library/functions.html#int

   (117) https://docs.python.org/3/library/functions.html#int

   (118) https://docs.python.org/3/library/functions.html#int

   (119) https://docs.python.org/3/library/functions.html#int

   (120) https://docs.python.org/3/library/functions.html#int

   (121) https://docs.python.org/3/library/functions.html#int

   (122) https://docs.python.org/3/library/functions.html#int

   (123) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Datatype,  Next: mpi4py MPI Distgraphcomm,  Prev: mpi4py MPI Comm,  Up: mpi4py MPI<2>

9.1.3 mpi4py.MPI.Datatype
-------------------------

 -- Class: mpi4py.MPI.Datatype (datatype=None)

     Bases: object(1)

     Datatype object


     Parameters: ‘datatype’ (‘Optional’‘[’*note Datatype: c8.‘]’) –


     Return type: *note Datatype: c8.

      -- Method: static __new__ (cls, datatype=None)


          Parameters: ‘datatype’ (‘Optional’‘[’*note Datatype: c8.‘]’) –


          Return type: *note Datatype: c8.

     Methods Summary
     ...............

     *note Commit: 28b.()Commit the datatype
                    
                    
     *note Create_contiguous: 28c.(count)Create a contiguous datatype
                    
                    
     *note Create_darray: 28d.(size,Create a datatype representing an HPF-like distributed array on Cartesian process grids
     rank,          
     gsizes,
     distribs,
     ...)

     *note Create_f90_complex: 28e.(p,Return a bounded complex datatype
     r)             

     *note Create_f90_integer: 28f.(r)Return a bounded integer datatype
                    
                    
     *note Create_f90_real: 290.(p,Return a bounded real datatype
     r)             

     *note Create_hindexed: 291.(blocklengths,Create an indexed datatype with displacements in bytes
     displacements) 

     *note Create_hindexed_block: 292.(blocklength,Create an indexed datatype with constant-sized blocks and displacements in bytes
     displacements) 

     *note Create_hvector: 293.(count,Create a vector (strided) datatype
     blocklength,   
     stride)

     *note Create_indexed: 294.(blocklengths,Create an indexed datatype
     displacements) 

     *note Create_indexed_block: 295.(blocklength,Create an indexed datatype with constant-sized blocks
     displacements) 

     *note Create_keyval: 296.([copy_fn,Create a new attribute key for datatypes
     delete_fn,     
     nopython])

     *note Create_resized: 297.(lb,Create a datatype with a new lower bound and extent
     extent)        

     *note Create_struct: 298.(blocklengths,Create an datatype from a general set of block sizes, displacements and datatypes
     displacements, 
     ...)

     *note Create_subarray: 299.(sizes,Create a datatype for a subarray of a regular, multidimensional array
     subsizes,      
     starts[,
     order])

     *note Create_vector: 29a.(count,Create a vector (strided) datatype
     blocklength,   
     stride)

     *note Delete_attr: 29b.(keyval)Delete attribute value associated with a key
                    
                    
     *note Dup: 29c.()Duplicate a datatype
                    
                    
     *note Free: 29d.()Free the datatype
                    
                    
     *note Free_keyval: 29e.(keyval)Free an attribute key for datatypes
                    
                    
     *note Get_attr: 29f.(keyval)Retrieve attribute value by key
                    
                    
     *note Get_contents: 2a0.()Retrieve the actual arguments used in the call that created a datatype
                    
                    
     *note Get_envelope: 2a1.()Return information on the number and type of input arguments used in the call that created a
                    datatype
                    
                    
     *note Get_extent: 2a2.()Return lower bound and extent of datatype
                    
                    
     *note Get_name: 2a3.()Get the print name for this datatype
                    
                    
     *note Get_size: 2a4.()Return the number of bytes occupied by entries in the datatype
                    
                    
     *note Get_true_extent: 2a5.()Return the true lower bound and extent of a datatype
                    
                    
     *note Match_size: 2a6.(typeclass,Find a datatype matching a specified size in bytes
     size)          

     *note Pack: 2a7.(inbuf,Pack into contiguous memory according to datatype.
     outbuf,        
     position,
     comm)

     *note Pack_external: 2a8.(datarep,Pack into contiguous memory according to datatype, using a portable data representation
     inbuf,         (‘external32’).
     outbuf,        
     position)

     *note Pack_external_size: 2a9.(datarep,Return the upper bound on the amount of space (in bytes) needed to pack a message according
     count)         to datatype, using a portable data representation (‘external32’).
                    
                    
     *note Pack_size: 2aa.(count,Return the upper bound on the amount of space (in bytes) needed to pack a message according
     comm)          to datatype.
                    
                    
     *note Set_attr: 2ab.(keyval,Store attribute value associated with a key
     attrval)       

     *note Set_name: 2ac.(name)Set the print name for this datatype
                    
                    
     *note Unpack: 2ad.(inbuf,Unpack from contiguous memory according to datatype.
     position,      
     outbuf,
     comm)

     *note Unpack_external: 2ae.(datarep,Unpack from contiguous memory according to datatype, using a portable data representation
     inbuf,         (‘external32’).
     position,      
     outbuf)

     *note decode: 2af.()Convenience method for decoding a datatype
                    
                    
     *note f2py: 2b0.(arg)

     *note py2f: 2b1.()

     Attributes Summary
     ..................

     *note combiner: 2b2.datatype combiner
                    
                    
     *note contents: 2b3.datatype contents
                    
                    
     *note envelope: 2b4.datatype envelope
                    
                    
     *note extent: 2b5.

     *note is_named: 2b6.is a named datatype
                    
                    
     *note is_predefined: 2b7.is a predefined datatype
                    
                    
     *note lb: 2b8. lower bound
                    
                    
     *note name: 2b9.datatype name
                    
                    
     *note size: 2ba.

     *note true_extent: 2bb.true extent
                    
                    
     *note true_lb: 2bc.true lower bound
                    
                    
     *note true_ub: 2bd.true upper bound
                    
                    
     *note ub: 2be. upper bound
                    

     Methods Documentation
     .....................

      -- Method: Commit ()

          Commit the datatype


          Return type: *note Datatype: c8.

      -- Method: Create_contiguous (count)

          Create a contiguous datatype


          Parameters: ‘count’ (int(2)) –


          Return type: *note Datatype: c8.

      -- Method: Create_darray (size, rank, gsizes, distribs, dargs,
               psizes, order=ORDER_C)

          Create a datatype representing an HPF-like distributed array
          on Cartesian process grids


          Parameters:

             * ‘size’ (int(3)) –

             * ‘rank’ (int(4)) –

             * ‘gsizes’ (‘Sequence’‘[’int(5)‘]’) –

             * ‘distribs’ (‘Sequence’‘[’int(6)‘]’) –

             * ‘dargs’ (‘Sequence’‘[’int(7)‘]’) –

             * ‘psizes’ (‘Sequence’‘[’int(8)‘]’) –

             * ‘order’ (int(9)) –


          Return type: *note Datatype: c8.

      -- Method: classmethod Create_f90_complex (p, r)

          Return a bounded complex datatype


          Parameters:

             * ‘p’ (int(10)) –

             * ‘r’ (int(11)) –


          Return type: *note Datatype: c8.

      -- Method: classmethod Create_f90_integer (r)

          Return a bounded integer datatype


          Parameters: ‘r’ (int(12)) –


          Return type: *note Datatype: c8.

      -- Method: classmethod Create_f90_real (p, r)

          Return a bounded real datatype


          Parameters:

             * ‘p’ (int(13)) –

             * ‘r’ (int(14)) –


          Return type: *note Datatype: c8.

      -- Method: Create_hindexed (blocklengths, displacements)

          Create an indexed datatype with displacements in bytes


          Parameters:

             * ‘blocklengths’ (‘Sequence’‘[’int(15)‘]’) –

             * ‘displacements’ (‘Sequence’‘[’int(16)‘]’) –


          Return type: *note Datatype: c8.

      -- Method: Create_hindexed_block (blocklength, displacements)

          Create an indexed datatype with constant-sized blocks and
          displacements in bytes


          Parameters:

             * ‘blocklength’ (int(17)) –

             * ‘displacements’ (‘Sequence’‘[’int(18)‘]’) –


          Return type: *note Datatype: c8.

      -- Method: Create_hvector (count, blocklength, stride)

          Create a vector (strided) datatype


          Parameters:

             * ‘count’ (int(19)) –

             * ‘blocklength’ (int(20)) –

             * ‘stride’ (int(21)) –


          Return type: *note Datatype: c8.

      -- Method: Create_indexed (blocklengths, displacements)

          Create an indexed datatype


          Parameters:

             * ‘blocklengths’ (‘Sequence’‘[’int(22)‘]’) –

             * ‘displacements’ (‘Sequence’‘[’int(23)‘]’) –


          Return type: *note Datatype: c8.

      -- Method: Create_indexed_block (blocklength, displacements)

          Create an indexed datatype with constant-sized blocks


          Parameters:

             * ‘blocklength’ (int(24)) –

             * ‘displacements’ (‘Sequence’‘[’int(25)‘]’) –


          Return type: *note Datatype: c8.

      -- Method: classmethod Create_keyval (copy_fn=None,
               delete_fn=None, nopython=False)

          Create a new attribute key for datatypes


          Parameters:

             * ‘copy_fn’ (‘Optional’‘[’‘Callable’‘[’‘[’*note Datatype:
               c8.‘, ’int(26)‘, ’‘Any’‘]’‘, ’‘Any’‘]’‘]’) –

             * ‘delete_fn’ (‘Optional’‘[’‘Callable’‘[’‘[’*note Datatype:
               c8.‘, ’int(27)‘, ’‘Any’‘]’‘, ’‘None’‘]’‘]’) –

             * ‘nopython’ (bool(28)) –


          Return type: int(29)

      -- Method: Create_resized (lb, extent)

          Create a datatype with a new lower bound and extent


          Parameters:

             * ‘lb’ (int(30)) –

             * ‘extent’ (int(31)) –


          Return type: *note Datatype: c8.

      -- Method: classmethod Create_struct (blocklengths, displacements,
               datatypes)

          Create an datatype from a general set of block sizes,
          displacements and datatypes


          Parameters:

             * ‘blocklengths’ (‘Sequence’‘[’int(32)‘]’) –

             * ‘displacements’ (‘Sequence’‘[’int(33)‘]’) –

             * ‘datatypes’ (‘Sequence’‘[’*note Datatype: c8.‘]’) –


          Return type: *note Datatype: c8.

      -- Method: Create_subarray (sizes, subsizes, starts,
               order=ORDER_C)

          Create a datatype for a subarray of a regular,
          multidimensional array


          Parameters:

             * ‘sizes’ (‘Sequence’‘[’int(34)‘]’) –

             * ‘subsizes’ (‘Sequence’‘[’int(35)‘]’) –

             * ‘starts’ (‘Sequence’‘[’int(36)‘]’) –

             * ‘order’ (int(37)) –


          Return type: *note Datatype: c8.

      -- Method: Create_vector (count, blocklength, stride)

          Create a vector (strided) datatype


          Parameters:

             * ‘count’ (int(38)) –

             * ‘blocklength’ (int(39)) –

             * ‘stride’ (int(40)) –


          Return type: *note Datatype: c8.

      -- Method: Delete_attr (keyval)

          Delete attribute value associated with a key


          Parameters: ‘keyval’ (int(41)) –


          Return type: None

      -- Method: Dup ()

          Duplicate a datatype


          Return type: *note Datatype: c8.

      -- Method: Free ()

          Free the datatype


          Return type: None

      -- Method: classmethod Free_keyval (keyval)

          Free an attribute key for datatypes


          Parameters: ‘keyval’ (int(42)) –


          Return type: int(43)

      -- Method: Get_attr (keyval)

          Retrieve attribute value by key


          Parameters: ‘keyval’ (int(44)) –


          Return type: Optional[Union[int(45), Any]]

      -- Method: Get_contents ()

          Retrieve the actual arguments used in the call that created a
          datatype


          Return type: Tuple[List[int(46)], List[int(47)], List[*note
          Datatype: c8.]]

      -- Method: Get_envelope ()

          Return information on the number and type of input arguments
          used in the call that created a datatype


          Return type: Tuple[int(48), int(49), int(50), int(51)]

      -- Method: Get_extent ()

          Return lower bound and extent of datatype


          Return type: Tuple[int(52), int(53)]

      -- Method: Get_name ()

          Get the print name for this datatype


          Return type: str(54)

      -- Method: Get_size ()

          Return the number of bytes occupied by entries in the datatype


          Return type: int(55)

      -- Method: Get_true_extent ()

          Return the true lower bound and extent of a datatype


          Return type: Tuple[int(56), int(57)]

      -- Method: classmethod Match_size (typeclass, size)

          Find a datatype matching a specified size in bytes


          Parameters:

             * ‘typeclass’ (int(58)) –

             * ‘size’ (int(59)) –


          Return type: *note Datatype: c8.

      -- Method: Pack (inbuf, outbuf, position, comm)

          Pack into contiguous memory according to datatype.


          Parameters:

             * ‘inbuf’ (‘BufSpec’) –

             * ‘outbuf’ (‘BufSpec’) –

             * ‘position’ (int(60)) –

             * ‘comm’ (*note Comm: 1a.) –


          Return type: int(61)

      -- Method: Pack_external (datarep, inbuf, outbuf, position)

          Pack into contiguous memory according to datatype, using a
          portable data representation (‘external32’).


          Parameters:

             * ‘datarep’ (str(62)) –

             * ‘inbuf’ (‘BufSpec’) –

             * ‘outbuf’ (‘BufSpec’) –

             * ‘position’ (int(63)) –


          Return type: int(64)

      -- Method: Pack_external_size (datarep, count)

          Return the upper bound on the amount of space (in bytes)
          needed to pack a message according to datatype, using a
          portable data representation (‘external32’).


          Parameters:

             * ‘datarep’ (str(65)) –

             * ‘count’ (int(66)) –


          Return type: int(67)

      -- Method: Pack_size (count, comm)

          Return the upper bound on the amount of space (in bytes)
          needed to pack a message according to datatype.


          Parameters:

             * ‘count’ (int(68)) –

             * ‘comm’ (*note Comm: 1a.) –


          Return type: int(69)

      -- Method: Set_attr (keyval, attrval)

          Store attribute value associated with a key


          Parameters:

             * ‘keyval’ (int(70)) –

             * ‘attrval’ (‘Any’) –


          Return type: None

      -- Method: Set_name (name)

          Set the print name for this datatype


          Parameters: ‘name’ (str(71)) –


          Return type: None

      -- Method: Unpack (inbuf, position, outbuf, comm)

          Unpack from contiguous memory according to datatype.


          Parameters:

             * ‘inbuf’ (‘BufSpec’) –

             * ‘position’ (int(72)) –

             * ‘outbuf’ (‘BufSpec’) –

             * ‘comm’ (*note Comm: 1a.) –


          Return type: int(73)

      -- Method: Unpack_external (datarep, inbuf, position, outbuf)

          Unpack from contiguous memory according to datatype, using a
          portable data representation (‘external32’).


          Parameters:

             * ‘datarep’ (str(74)) –

             * ‘inbuf’ (‘BufSpec’) –

             * ‘position’ (int(75)) –

             * ‘outbuf’ (‘BufSpec’) –


          Return type: int(76)

      -- Method: decode ()

          Convenience method for decoding a datatype


          Return type: Tuple[*note Datatype: c8, str(77), Dict[str(78),
          Any]]

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(79)) –


          Return type: *note Datatype: c8.

      -- Method: py2f ()


          Return type: int(80)

     Attributes Documentation
     ........................

      -- Attribute: combiner

          datatype combiner

      -- Attribute: contents

          datatype contents

      -- Attribute: envelope

          datatype envelope

      -- Attribute: extent

      -- Attribute: is_named

          is a named datatype

      -- Attribute: is_predefined

          is a predefined datatype

      -- Attribute: lb

          lower bound

      -- Attribute: name

          datatype name

      -- Attribute: size

      -- Attribute: true_extent

          true extent

      -- Attribute: true_lb

          true lower bound

      -- Attribute: true_ub

          true upper bound

      -- Attribute: ub

          upper bound

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#int

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#int

   (21) https://docs.python.org/3/library/functions.html#int

   (22) https://docs.python.org/3/library/functions.html#int

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/functions.html#int

   (28) https://docs.python.org/3/library/functions.html#bool

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/functions.html#int

   (31) https://docs.python.org/3/library/functions.html#int

   (32) https://docs.python.org/3/library/functions.html#int

   (33) https://docs.python.org/3/library/functions.html#int

   (34) https://docs.python.org/3/library/functions.html#int

   (35) https://docs.python.org/3/library/functions.html#int

   (36) https://docs.python.org/3/library/functions.html#int

   (37) https://docs.python.org/3/library/functions.html#int

   (38) https://docs.python.org/3/library/functions.html#int

   (39) https://docs.python.org/3/library/functions.html#int

   (40) https://docs.python.org/3/library/functions.html#int

   (41) https://docs.python.org/3/library/functions.html#int

   (42) https://docs.python.org/3/library/functions.html#int

   (43) https://docs.python.org/3/library/functions.html#int

   (44) https://docs.python.org/3/library/functions.html#int

   (45) https://docs.python.org/3/library/functions.html#int

   (46) https://docs.python.org/3/library/functions.html#int

   (47) https://docs.python.org/3/library/functions.html#int

   (48) https://docs.python.org/3/library/functions.html#int

   (49) https://docs.python.org/3/library/functions.html#int

   (50) https://docs.python.org/3/library/functions.html#int

   (51) https://docs.python.org/3/library/functions.html#int

   (52) https://docs.python.org/3/library/functions.html#int

   (53) https://docs.python.org/3/library/functions.html#int

   (54) https://docs.python.org/3/library/stdtypes.html#str

   (55) https://docs.python.org/3/library/functions.html#int

   (56) https://docs.python.org/3/library/functions.html#int

   (57) https://docs.python.org/3/library/functions.html#int

   (58) https://docs.python.org/3/library/functions.html#int

   (59) https://docs.python.org/3/library/functions.html#int

   (60) https://docs.python.org/3/library/functions.html#int

   (61) https://docs.python.org/3/library/functions.html#int

   (62) https://docs.python.org/3/library/stdtypes.html#str

   (63) https://docs.python.org/3/library/functions.html#int

   (64) https://docs.python.org/3/library/functions.html#int

   (65) https://docs.python.org/3/library/stdtypes.html#str

   (66) https://docs.python.org/3/library/functions.html#int

   (67) https://docs.python.org/3/library/functions.html#int

   (68) https://docs.python.org/3/library/functions.html#int

   (69) https://docs.python.org/3/library/functions.html#int

   (70) https://docs.python.org/3/library/functions.html#int

   (71) https://docs.python.org/3/library/stdtypes.html#str

   (72) https://docs.python.org/3/library/functions.html#int

   (73) https://docs.python.org/3/library/functions.html#int

   (74) https://docs.python.org/3/library/stdtypes.html#str

   (75) https://docs.python.org/3/library/functions.html#int

   (76) https://docs.python.org/3/library/functions.html#int

   (77) https://docs.python.org/3/library/stdtypes.html#str

   (78) https://docs.python.org/3/library/stdtypes.html#str

   (79) https://docs.python.org/3/library/functions.html#int

   (80) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Distgraphcomm,  Next: mpi4py MPI Errhandler,  Prev: mpi4py MPI Datatype,  Up: mpi4py MPI<2>

9.1.4 mpi4py.MPI.Distgraphcomm
------------------------------

 -- Class: mpi4py.MPI.Distgraphcomm (comm=None)

     Bases: *note Topocomm: cd.

     Distributed graph topology intracommunicator


     Parameters: ‘comm’ (‘Optional’‘[’*note Distgraphcomm: 31.‘]’) –


     Return type: *note Distgraphcomm: 31.

      -- Method: static __new__ (cls, comm=None)


          Parameters: ‘comm’ (‘Optional’‘[’*note Distgraphcomm: 31.‘]’)
          –


          Return type: *note Distgraphcomm: 31.

     Methods Summary
     ...............

     *note Get_dist_neighbors: 2c2.()Return adjacency information for a distributed graph topology
                    
                    
     *note Get_dist_neighbors_count: 2c3.()Return adjacency information for a distributed graph topology
                    

     Methods Documentation
     .....................

      -- Method: Get_dist_neighbors ()

          Return adjacency information for a distributed graph topology


          Return type: Tuple[List[int(1)], List[int(2)],
          Optional[Tuple[List[int(3)], List[int(4)]]]]

      -- Method: Get_dist_neighbors_count ()

          Return adjacency information for a distributed graph topology


          Return type: int(5)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Errhandler,  Next: mpi4py MPI File,  Prev: mpi4py MPI Distgraphcomm,  Up: mpi4py MPI<2>

9.1.5 mpi4py.MPI.Errhandler
---------------------------

 -- Class: mpi4py.MPI.Errhandler (errhandler=None)

     Bases: object(1)

     Error handler


     Parameters: ‘errhandler’ (‘Optional’‘[’*note Errhandler: cf.‘]’) –


     Return type: *note Errhandler: cf.

      -- Method: static __new__ (cls, errhandler=None)


          Parameters: ‘errhandler’ (‘Optional’‘[’*note Errhandler:
          cf.‘]’) –


          Return type: *note Errhandler: cf.

     Methods Summary
     ...............

     *note Free: 2c7.()Free an error handler
                    
                    
     *note f2py: 2c8.(arg)

     *note py2f: 2c9.()

     Methods Documentation
     .....................

      -- Method: Free ()

          Free an error handler


          Return type: None

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(2)) –


          Return type: *note Errhandler: cf.

      -- Method: py2f ()


          Return type: int(3)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI File,  Next: mpi4py MPI Graphcomm,  Prev: mpi4py MPI Errhandler,  Up: mpi4py MPI<2>

9.1.6 mpi4py.MPI.File
---------------------

 -- Class: mpi4py.MPI.File (file=None)

     Bases: object(1)

     File handle


     Parameters: ‘file’ (‘Optional’‘[’*note File: 80.‘]’) –


     Return type: *note File: 80.

      -- Method: static __new__ (cls, file=None)


          Parameters: ‘file’ (‘Optional’‘[’*note File: 80.‘]’) –


          Return type: *note File: 80.

     Methods Summary
     ...............

     *note Call_errhandler: 2cd.(errorcode)Call the error handler installed on a file
                    
                    
     *note Close: 82.()Close a file
                    
                    
     *note Delete: 83.(filename[,Delete a file
     info])         

     *note Get_amode: 2ce.()Return the file access mode
                    
                    
     *note Get_atomicity: 2cf.()Return the atomicity mode
                    
                    
     *note Get_byte_offset: 2d0.(offset)Return the absolute byte position in the file corresponding to ’offset’ etypes relative to
                    the current view
                    
                    
     *note Get_errhandler: 2d1.()Get the error handler for a file
                    
                    
     *note Get_group: 2d2.()Return the group of processes that opened the file
                    
                    
     *note Get_info: 2d3.()Return the hints for a file that that are currently in use
                    
                    
     *note Get_position: 2d4.()Return the current position of the individual file pointer in etype units relative to the
                    current view
                    
                    
     *note Get_position_shared: 2d5.()Return the current position of the shared file pointer in etype units relative to the
                    current view
                    
                    
     *note Get_size: 2d6.()Return the file size
                    
                    
     *note Get_type_extent: 2d7.(datatype)Return the extent of datatype in the file
                    
                    
     *note Get_view: 85.()Return the file view
                    
                    
     *note Iread: 2d8.(buf)Nonblocking read using individual file pointer
                    
                    
     *note Iread_all: 2d9.(buf)Nonblocking collective read using individual file pointer
                    
                    
     *note Iread_at: 2da.(offset,Nonblocking read using explicit offset
     buf)           

     *note Iread_at_all: 2db.(offset,Nonblocking collective read using explicit offset
     buf)           

     *note Iread_shared: 2dc.(buf)Nonblocking read using shared file pointer
                    
                    
     *note Iwrite: 2dd.(buf)Nonblocking write using individual file pointer
                    
                    
     *note Iwrite_all: 2de.(buf)Nonblocking collective write using individual file pointer
                    
                    
     *note Iwrite_at: 2df.(offset,Nonblocking write using explicit offset
     buf)           

     *note Iwrite_at_all: 2e0.(offset,Nonblocking collective write using explicit offset
     buf)           

     *note Iwrite_shared: 2e1.(buf)Nonblocking write using shared file pointer
                    
                    
     *note Open: 81.(comm,Open a file
     filename[,     
     amode,
     info])

     *note Preallocate: 2e2.(size)Preallocate storage space for a file
                    
                    
     *note Read: 2e3.(buf[,Read using individual file pointer
     status])       

     *note Read_all: 2e4.(buf[,Collective read using individual file pointer
     status])       

     *note Read_all_begin: 2e5.(buf)Start a split collective read using individual file pointer
                    
                    
     *note Read_all_end: 2e6.(buf[,Complete a split collective read using individual file pointer
     status])       

     *note Read_at: 2e7.(offset,Read using explicit offset
     buf[,          
     status])

     *note Read_at_all: 2e8.(offset,Collective read using explicit offset
     buf[,          
     status])

     *note Read_at_all_begin: 2e9.(offset,Start a split collective read using explict offset
     buf)           

     *note Read_at_all_end: 2ea.(buf[,Complete a split collective read using explict offset
     status])       

     *note Read_ordered: 2eb.(buf[,Collective read using shared file pointer
     status])       

     *note Read_ordered_begin: 2ec.(buf)Start a split collective read using shared file pointer
                    
                    
     *note Read_ordered_end: 2ed.(buf[,Complete a split collective read using shared file pointer
     status])       

     *note Read_shared: 2ee.(buf[,Read using shared file pointer
     status])       

     *note Seek: 2ef.(offset[,Update the individual file pointer
     whence])       

     *note Seek_shared: 2f0.(offset[,Update the shared file pointer
     whence])       

     *note Set_atomicity: 2f1.(flag)Set the atomicity mode
                    
                    
     *note Set_errhandler: 2f2.(errhandler)Set the error handler for a file
                    
                    
     *note Set_info: 2f3.(info)Set new values for the hints associated with a file
                    
                    
     *note Set_size: 2f4.(size)Sets the file size
                    
                    
     *note Set_view: 84.([disp,Set the file view
     etype,         
     filetype,
     datarep,
     info])

     *note Sync: 2f5.()Causes all previous writes to be transferred to the storage device
                    
                    
     *note Write: 2f6.(buf[,Write using individual file pointer
     status])       

     *note Write_all: 2f7.(buf[,Collective write using individual file pointer
     status])       

     *note Write_all_begin: 2f8.(buf)Start a split collective write using individual file pointer
                    
                    
     *note Write_all_end: 2f9.(buf[,Complete a split collective write using individual file pointer
     status])       

     *note Write_at: 2fa.(offset,Write using explicit offset
     buf[,          
     status])

     *note Write_at_all: 2fb.(offset,Collective write using explicit offset
     buf[,          
     status])

     *note Write_at_all_begin: 2fc.(offset,Start a split collective write using explict offset
     buf)           

     *note Write_at_all_end: 2fd.(buf[,Complete a split collective write using explict offset
     status])       

     *note Write_ordered: 2fe.(buf[,Collective write using shared file pointer
     status])       

     *note Write_ordered_begin: 2ff.(buf)Start a split collective write using shared file pointer
                    
                    
     *note Write_ordered_end: 300.(buf[,Complete a split collective write using shared file pointer
     status])       

     *note Write_shared: 301.(buf[,Write using shared file pointer
     status])       

     *note f2py: 302.(arg)

     *note py2f: 303.()

     Attributes Summary
     ..................

     *note amode: 304.file access mode
                    
                    
     *note atomicity: 305.

     *note group: 306.file group
                    
                    
     *note info: 307.file info
                    
                    
     *note size: 308.file size
                    

     Methods Documentation
     .....................

      -- Method: Call_errhandler (errorcode)

          Call the error handler installed on a file


          Parameters: ‘errorcode’ (int(2)) –


          Return type: None

      -- Method: Close ()

          Close a file


          Return type: None

      -- Method: classmethod Delete (filename, info=INFO_NULL)

          Delete a file


          Parameters:

             * ‘filename’ (str(3)) –

             * ‘info’ (*note Info: cc.) –


          Return type: None

      -- Method: Get_amode ()

          Return the file access mode


          Return type: int(4)

      -- Method: Get_atomicity ()

          Return the atomicity mode


          Return type: bool(5)

      -- Method: Get_byte_offset (offset)

          Return the absolute byte position in the file corresponding to
          ‘offset’ etypes relative to the current view


          Parameters: ‘offset’ (int(6)) –


          Return type: int(7)

      -- Method: Get_errhandler ()

          Get the error handler for a file


          Return type: *note Errhandler: cf.

      -- Method: Get_group ()

          Return the group of processes that opened the file


          Return type: *note Group: 24.

      -- Method: Get_info ()

          Return the hints for a file that that are currently in use


          Return type: *note Info: cc.

      -- Method: Get_position ()

          Return the current position of the individual file pointer in
          etype units relative to the current view


          Return type: int(8)

      -- Method: Get_position_shared ()

          Return the current position of the shared file pointer in
          etype units relative to the current view


          Return type: int(9)

      -- Method: Get_size ()

          Return the file size


          Return type: int(10)

      -- Method: Get_type_extent (datatype)

          Return the extent of datatype in the file


          Parameters: ‘datatype’ (*note Datatype: c8.) –


          Return type: int(11)

      -- Method: Get_view ()

          Return the file view


          Return type: Tuple[int(12), *note Datatype: c8, *note
          Datatype: c8, str(13)]

      -- Method: Iread (buf)

          Nonblocking read using individual file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iread_all (buf)

          Nonblocking collective read using individual file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iread_at (offset, buf)

          Nonblocking read using explicit offset


          Parameters:

             * ‘offset’ (int(14)) –

             * ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iread_at_all (offset, buf)

          Nonblocking collective read using explicit offset


          Parameters:

             * ‘offset’ (int(15)) –

             * ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iread_shared (buf)

          Nonblocking read using shared file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iwrite (buf)

          Nonblocking write using individual file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iwrite_all (buf)

          Nonblocking collective write using individual file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iwrite_at (offset, buf)

          Nonblocking write using explicit offset


          Parameters:

             * ‘offset’ (int(16)) –

             * ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iwrite_at_all (offset, buf)

          Nonblocking collective write using explicit offset


          Parameters:

             * ‘offset’ (int(17)) –

             * ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: Iwrite_shared (buf)

          Nonblocking write using shared file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: classmethod Open (comm, filename, amode=MODE_RDONLY,
               info=INFO_NULL)

          Open a file


          Parameters:

             * ‘comm’ (*note Intracomm: 1b.) –

             * ‘filename’ (str(18)) –

             * ‘amode’ (int(19)) –

             * ‘info’ (*note Info: cc.) –


          Return type: *note File: 80.

      -- Method: Preallocate (size)

          Preallocate storage space for a file


          Parameters: ‘size’ (int(20)) –


          Return type: None

      -- Method: Read (buf, status=None)

          Read using individual file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_all (buf, status=None)

          Collective read using individual file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_all_begin (buf)

          Start a split collective read using individual file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: None

      -- Method: Read_all_end (buf, status=None)

          Complete a split collective read using individual file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_at (offset, buf, status=None)

          Read using explicit offset


          Parameters:

             * ‘offset’ (int(21)) –

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_at_all (offset, buf, status=None)

          Collective read using explicit offset


          Parameters:

             * ‘offset’ (int(22)) –

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_at_all_begin (offset, buf)

          Start a split collective read using explict offset


          Parameters:

             * ‘offset’ (int(23)) –

             * ‘buf’ (‘BufSpec’) –


          Return type: None

      -- Method: Read_at_all_end (buf, status=None)

          Complete a split collective read using explict offset


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_ordered (buf, status=None)

          Collective read using shared file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_ordered_begin (buf)

          Start a split collective read using shared file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: None

      -- Method: Read_ordered_end (buf, status=None)

          Complete a split collective read using shared file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Read_shared (buf, status=None)

          Read using shared file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Seek (offset, whence=SEEK_SET)

          Update the individual file pointer


          Parameters:

             * ‘offset’ (int(24)) –

             * ‘whence’ (int(25)) –


          Return type: None

      -- Method: Seek_shared (offset, whence=SEEK_SET)

          Update the shared file pointer


          Parameters:

             * ‘offset’ (int(26)) –

             * ‘whence’ (int(27)) –


          Return type: None

      -- Method: Set_atomicity (flag)

          Set the atomicity mode


          Parameters: ‘flag’ (bool(28)) –


          Return type: None

      -- Method: Set_errhandler (errhandler)

          Set the error handler for a file


          Parameters: ‘errhandler’ (*note Errhandler: cf.) –


          Return type: None

      -- Method: Set_info (info)

          Set new values for the hints associated with a file


          Parameters: ‘info’ (*note Info: cc.) –


          Return type: None

      -- Method: Set_size (size)

          Sets the file size


          Parameters: ‘size’ (int(29)) –


          Return type: None

      -- Method: Set_view (disp=0, etype=BYTE, filetype=None,
               datarep='native', info=INFO_NULL)

          Set the file view


          Parameters:

             * ‘disp’ (int(30)) –

             * ‘etype’ (*note Datatype: c8.) –

             * ‘filetype’ (‘Optional’‘[’*note Datatype: c8.‘]’) –

             * ‘datarep’ (str(31)) –

             * ‘info’ (*note Info: cc.) –


          Return type: None

      -- Method: Sync ()

          Causes all previous writes to be transferred to the storage
          device


          Return type: None

      -- Method: Write (buf, status=None)

          Write using individual file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_all (buf, status=None)

          Collective write using individual file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_all_begin (buf)

          Start a split collective write using individual file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: None

      -- Method: Write_all_end (buf, status=None)

          Complete a split collective write using individual file
          pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_at (offset, buf, status=None)

          Write using explicit offset


          Parameters:

             * ‘offset’ (int(32)) –

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_at_all (offset, buf, status=None)

          Collective write using explicit offset


          Parameters:

             * ‘offset’ (int(33)) –

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_at_all_begin (offset, buf)

          Start a split collective write using explict offset


          Parameters:

             * ‘offset’ (int(34)) –

             * ‘buf’ (‘BufSpec’) –


          Return type: None

      -- Method: Write_at_all_end (buf, status=None)

          Complete a split collective write using explict offset


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_ordered (buf, status=None)

          Collective write using shared file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_ordered_begin (buf)

          Start a split collective write using shared file pointer


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: None

      -- Method: Write_ordered_end (buf, status=None)

          Complete a split collective write using shared file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: Write_shared (buf, status=None)

          Write using shared file pointer


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(35)) –


          Return type: *note File: 80.

      -- Method: py2f ()


          Return type: int(36)

     Attributes Documentation
     ........................

      -- Attribute: amode

          file access mode

      -- Attribute: atomicity

      -- Attribute: group

          file group

      -- Attribute: info

          file info

      -- Attribute: size

          file size

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/stdtypes.html#str

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#bool

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/stdtypes.html#str

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/stdtypes.html#str

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#int

   (21) https://docs.python.org/3/library/functions.html#int

   (22) https://docs.python.org/3/library/functions.html#int

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/functions.html#int

   (28) https://docs.python.org/3/library/functions.html#bool

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/functions.html#int

   (31) https://docs.python.org/3/library/stdtypes.html#str

   (32) https://docs.python.org/3/library/functions.html#int

   (33) https://docs.python.org/3/library/functions.html#int

   (34) https://docs.python.org/3/library/functions.html#int

   (35) https://docs.python.org/3/library/functions.html#int

   (36) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Graphcomm,  Next: mpi4py MPI Grequest,  Prev: mpi4py MPI File,  Up: mpi4py MPI<2>

9.1.7 mpi4py.MPI.Graphcomm
--------------------------

 -- Class: mpi4py.MPI.Graphcomm (comm=None)

     Bases: *note Topocomm: cd.

     General graph topology intracommunicator


     Parameters: ‘comm’ (‘Optional’‘[’*note Graphcomm: 30.‘]’) –


     Return type: *note Graphcomm: 30.

      -- Method: static __new__ (cls, comm=None)


          Parameters: ‘comm’ (‘Optional’‘[’*note Graphcomm: 30.‘]’) –


          Return type: *note Graphcomm: 30.

     Methods Summary
     ...............

     *note Get_dims: 30c.()Return the number of nodes and edges
                    
                    
     *note Get_neighbors: 30d.(rank)Return list of neighbors of a process
                    
                    
     *note Get_neighbors_count: 30e.(rank)Return number of neighbors of a process
                    
                    
     *note Get_topo: 30f.()Return index and edges
                    

     Attributes Summary
     ..................

     *note dims: 310.number of nodes and edges
                    
                    
     *note edges: 311.

     *note index: 312.

     *note nedges: 313.number of edges
                    
                    
     *note neighbors: 314.

     *note nneighbors: 315.number of neighbors
                    
                    
     *note nnodes: 316.number of nodes
                    
                    
     *note topo: 317.topology information
                    

     Methods Documentation
     .....................

      -- Method: Get_dims ()

          Return the number of nodes and edges


          Return type: Tuple[int(1), int(2)]

      -- Method: Get_neighbors (rank)

          Return list of neighbors of a process


          Parameters: ‘rank’ (int(3)) –


          Return type: List[int(4)]

      -- Method: Get_neighbors_count (rank)

          Return number of neighbors of a process


          Parameters: ‘rank’ (int(5)) –


          Return type: int(6)

      -- Method: Get_topo ()

          Return index and edges


          Return type: Tuple[List[int(7)], List[int(8)]]

     Attributes Documentation
     ........................

      -- Attribute: dims

          number of nodes and edges

      -- Attribute: edges

      -- Attribute: index

      -- Attribute: nedges

          number of edges

      -- Attribute: neighbors

      -- Attribute: nneighbors

          number of neighbors

      -- Attribute: nnodes

          number of nodes

      -- Attribute: topo

          topology information

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Grequest,  Next: mpi4py MPI Group,  Prev: mpi4py MPI Graphcomm,  Up: mpi4py MPI<2>

9.1.8 mpi4py.MPI.Grequest
-------------------------

 -- Class: mpi4py.MPI.Grequest (request=None)

     Bases: *note Request: 3f.

     Generalized request handle


     Parameters: ‘request’ (‘Optional’‘[’*note Grequest: ca.‘]’) –


     Return type: *note Grequest: ca.

      -- Method: static __new__ (cls, request=None)


          Parameters: ‘request’ (‘Optional’‘[’*note Grequest: ca.‘]’) –


          Return type: *note Grequest: ca.

     Methods Summary
     ...............

     *note Complete: 31b.()Notify that a user-defined request is complete
                    
                    
     *note Start: 31c.(query_fn,Create and return a user-defined request
     free_fn,       
     cancel_fn[,
     args, ...])

     Methods Documentation
     .....................

      -- Method: Complete ()

          Notify that a user-defined request is complete


          Return type: None

      -- Method: classmethod Start (query_fn, free_fn, cancel_fn,
               args=None, kargs=None)

          Create and return a user-defined request


          Parameters:

             * ‘query_fn’ (‘Callable’‘[’‘...’‘, ’‘None’‘]’) –

             * ‘free_fn’ (‘Callable’‘[’‘...’‘, ’‘None’‘]’) –

             * ‘cancel_fn’ (‘Callable’‘[’‘...’‘, ’‘None’‘]’) –

             * ‘args’ (‘Optional’‘[’‘Tuple’‘[’‘Any’‘]’‘]’) –

             * ‘kargs’ (‘Optional’‘[’‘Dict’‘[’str(1)‘, ’‘Any’‘]’‘]’) –


          Return type: *note Grequest: ca.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Group,  Next: mpi4py MPI Info,  Prev: mpi4py MPI Grequest,  Up: mpi4py MPI<2>

9.1.9 mpi4py.MPI.Group
----------------------

 -- Class: mpi4py.MPI.Group (group=None)

     Bases: object(1)

     Group of processes


     Parameters: ‘group’ (‘Optional’‘[’*note Group: 24.‘]’) –


     Return type: *note Group: 24.

      -- Method: static __new__ (cls, group=None)


          Parameters: ‘group’ (‘Optional’‘[’*note Group: 24.‘]’) –


          Return type: *note Group: 24.

     Methods Summary
     ...............

     *note Compare: 320.(group1,Compare two groups
     group2)        

     *note Difference: 27.(group1,Produce a group from the difference of two existing groups
     group2)        

     *note Dup: 321.()Duplicate a group
                    
                    
     *note Excl: 322.(ranks)Produce a group by reordering an existing group and taking only unlisted members
                    
                    
     *note Free: 323.()Free a group
                    
                    
     *note Get_rank: 324.()Return the rank of this process in a group
                    
                    
     *note Get_size: 325.()Return the size of a group
                    
                    
     *note Incl: 326.(ranks)Produce a group by reordering an existing group and taking only listed members
                    
                    
     *note Intersection: 26.(group1,Produce a group as the intersection of two existing groups
     group2)        

     *note Range_excl: 327.(ranks)Create a new group by excluding ranges of processes from an existing group
                    
                    
     *note Range_incl: 328.(ranks)Create a new group from ranges of of ranks in an existing group
                    
                    
     *note Translate_ranks: 329.(group1,Translate the ranks of processes in one group to those in another group
     ranks1[,       
     group2])

     *note Union: 25.(group1,Produce a group by combining two existing groups
     group2)        

     *note f2py: 32a.(arg)

     *note py2f: 32b.()

     Attributes Summary
     ..................

     *note rank: 32c.rank of this process in group
                    
                    
     *note size: 32d.number of processes in group
                    

     Methods Documentation
     .....................

      -- Method: classmethod Compare (group1, group2)

          Compare two groups


          Parameters:

             * ‘group1’ (*note Group: 24.) –

             * ‘group2’ (*note Group: 24.) –


          Return type: int(2)

      -- Method: classmethod Difference (group1, group2)

          Produce a group from the difference of two existing groups


          Parameters:

             * ‘group1’ (*note Group: 24.) –

             * ‘group2’ (*note Group: 24.) –


          Return type: *note Group: 24.

      -- Method: Dup ()

          Duplicate a group


          Return type: *note Group: 24.

      -- Method: Excl (ranks)

          Produce a group by reordering an existing group and taking
          only unlisted members


          Parameters: ‘ranks’ (‘Sequence’‘[’int(3)‘]’) –


          Return type: *note Group: 24.

      -- Method: Free ()

          Free a group


          Return type: None

      -- Method: Get_rank ()

          Return the rank of this process in a group


          Return type: int(4)

      -- Method: Get_size ()

          Return the size of a group


          Return type: int(5)

      -- Method: Incl (ranks)

          Produce a group by reordering an existing group and taking
          only listed members


          Parameters: ‘ranks’ (‘Sequence’‘[’int(6)‘]’) –


          Return type: *note Group: 24.

      -- Method: classmethod Intersection (group1, group2)

          Produce a group as the intersection of two existing groups


          Parameters:

             * ‘group1’ (*note Group: 24.) –

             * ‘group2’ (*note Group: 24.) –


          Return type: *note Group: 24.

      -- Method: Range_excl (ranks)

          Create a new group by excluding ranges of processes from an
          existing group


          Parameters: ‘ranks’ (‘Sequence’‘[’‘Tuple’‘[’int(7)‘, ’int(8)‘,
          ’int(9)‘]’‘]’) –


          Return type: *note Group: 24.

      -- Method: Range_incl (ranks)

          Create a new group from ranges of of ranks in an existing
          group


          Parameters: ‘ranks’ (‘Sequence’‘[’‘Tuple’‘[’int(10)‘,
          ’int(11)‘, ’int(12)‘]’‘]’) –


          Return type: *note Group: 24.

      -- Method: classmethod Translate_ranks (group1, ranks1,
               group2=None)

          Translate the ranks of processes in one group to those in
          another group


          Parameters:

             * ‘group1’ (*note Group: 24.) –

             * ‘ranks1’ (‘Sequence’‘[’int(13)‘]’) –

             * ‘group2’ (‘Optional’‘[’*note Group: 24.‘]’) –


          Return type: List[int(14)]

      -- Method: classmethod Union (group1, group2)

          Produce a group by combining two existing groups


          Parameters:

             * ‘group1’ (*note Group: 24.) –

             * ‘group2’ (*note Group: 24.) –


          Return type: *note Group: 24.

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(15)) –


          Return type: *note Group: 24.

      -- Method: py2f ()


          Return type: int(16)

     Attributes Documentation
     ........................

      -- Attribute: rank

          rank of this process in group

      -- Attribute: size

          number of processes in group

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#int

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Info,  Next: mpi4py MPI Intercomm,  Prev: mpi4py MPI Group,  Up: mpi4py MPI<2>

9.1.10 mpi4py.MPI.Info
----------------------

 -- Class: mpi4py.MPI.Info (info=None)

     Bases: object(1)

     Info object


     Parameters: ‘info’ (‘Optional’‘[’*note Info: cc.‘]’) –


     Return type: *note Info: cc.

      -- Method: static __new__ (cls, info=None)


          Parameters: ‘info’ (‘Optional’‘[’*note Info: cc.‘]’) –


          Return type: *note Info: cc.

     Methods Summary
     ...............

     *note Create: 331.()Create a new, empty info object
                    
                    
     *note Delete: 332.(key)Remove a (key, value) pair from info
                    
                    
     *note Dup: 333.()Duplicate an existing info object, creating a new object, with the same (key, value) pairs
                    and the same ordering of keys
                    
                    
     *note Free: 334.()Free a info object
                    
                    
     *note Get: 335.(key[,Retrieve the value associated with a key
     maxlen])       

     *note Get_nkeys: 336.()Return the number of currently defined keys in info
                    
                    
     *note Get_nthkey: 337.(n)Return the nth defined key in info.
                    
                    
     *note Set: 338.(key,Add the (key, value) pair to info, and overrides the value if a value for the same key was
     value)         previously set
                    
                    
     *note clear: 339.()info clear
                    
                    
     *note copy: 33a.()info copy
                    
                    
     *note f2py: 33b.(arg)

     *note get: 33c.(key[,info get
     default])      

     *note items: 33d.()info items
                    
                    
     *note keys: 33e.()info keys
                    
                    
     *note pop: 33f.(key,info pop
     *default)      

     *note popitem: 340.()info popitem
                    
                    
     *note py2f: 341.()

     *note update: 342.([other])info update
                    
                    
     *note values: 343.()info values
                    

     Methods Documentation
     .....................

      -- Method: classmethod Create ()

          Create a new, empty info object


          Return type: *note Info: cc.

      -- Method: Delete (key)

          Remove a (key, value) pair from info


          Parameters: ‘key’ (str(2)) –


          Return type: None

      -- Method: Dup ()

          Duplicate an existing info object, creating a new object, with
          the same (key, value) pairs and the same ordering of keys


          Return type: *note Info: cc.

      -- Method: Free ()

          Free a info object


          Return type: None

      -- Method: Get (key, maxlen=-1)

          Retrieve the value associated with a key


          Parameters:

             * ‘key’ (str(3)) –

             * ‘maxlen’ (int(4)) –


          Return type: Optional[str(5)]

      -- Method: Get_nkeys ()

          Return the number of currently defined keys in info


          Return type: int(6)

      -- Method: Get_nthkey (n)

          Return the nth defined key in info.  Keys are numbered in the
          range [0, N) where N is the value returned by *note
          Info.Get_nkeys(): 336.


          Parameters: ‘n’ (int(7)) –


          Return type: str(8)

      -- Method: Set (key, value)

          Add the (key, value) pair to info, and overrides the value if
          a value for the same key was previously set


          Parameters:

             * ‘key’ (str(9)) –

             * ‘value’ (str(10)) –


          Return type: None

      -- Method: clear ()

          info clear


          Return type: None

      -- Method: copy ()

          info copy


          Return type: *note Info: cc.

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(11)) –


          Return type: *note Info: cc.

      -- Method: get (key, default=None)

          info get


          Parameters:

             * ‘key’ (str(12)) –

             * ‘default’ (‘Optional’‘[’str(13)‘]’) –


          Return type: Optional[str(14)]

      -- Method: items ()

          info items


          Return type: List[Tuple[str(15), str(16)]]

      -- Method: keys ()

          info keys


          Return type: List[str(17)]

      -- Method: pop (key, *default)

          info pop


          Parameters:

             * ‘key’ (str(18)) –

             * ‘default’ (str(19)) –


          Return type: str(20)

      -- Method: popitem ()

          info popitem


          Return type: Tuple[str(21), str(22)]

      -- Method: py2f ()


          Return type: int(23)

      -- Method: update (other=(), **kwds)

          info update


          Parameters:

             * ‘other’ (‘Union’‘[’*note Info: cc.‘,
               ’‘Mapping’‘[’str(24)‘, ’str(25)‘]’‘,
               ’‘Iterable’‘[’‘Tuple’‘[’str(26)‘, ’str(27)‘]’‘]’‘]’) –

             * ‘kwds’ (str(28)) –


          Return type: None

      -- Method: values ()

          info values


          Return type: List[str(29)]

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/stdtypes.html#str

   (3) https://docs.python.org/3/library/stdtypes.html#str

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/stdtypes.html#str

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/stdtypes.html#str

   (9) https://docs.python.org/3/library/stdtypes.html#str

   (10) https://docs.python.org/3/library/stdtypes.html#str

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/stdtypes.html#str

   (13) https://docs.python.org/3/library/stdtypes.html#str

   (14) https://docs.python.org/3/library/stdtypes.html#str

   (15) https://docs.python.org/3/library/stdtypes.html#str

   (16) https://docs.python.org/3/library/stdtypes.html#str

   (17) https://docs.python.org/3/library/stdtypes.html#str

   (18) https://docs.python.org/3/library/stdtypes.html#str

   (19) https://docs.python.org/3/library/stdtypes.html#str

   (20) https://docs.python.org/3/library/stdtypes.html#str

   (21) https://docs.python.org/3/library/stdtypes.html#str

   (22) https://docs.python.org/3/library/stdtypes.html#str

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/stdtypes.html#str

   (25) https://docs.python.org/3/library/stdtypes.html#str

   (26) https://docs.python.org/3/library/stdtypes.html#str

   (27) https://docs.python.org/3/library/stdtypes.html#str

   (28) https://docs.python.org/3/library/stdtypes.html#str

   (29) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Intercomm,  Next: mpi4py MPI Intracomm,  Prev: mpi4py MPI Info,  Up: mpi4py MPI<2>

9.1.11 mpi4py.MPI.Intercomm
---------------------------

 -- Class: mpi4py.MPI.Intercomm (comm=None)

     Bases: *note Comm: 1a.

     Intercommunicator


     Parameters: ‘comm’ (‘Optional’‘[’*note Intercomm: 1c.‘]’) –


     Return type: *note Intercomm: 1c.

      -- Method: static __new__ (cls, comm=None)


          Parameters: ‘comm’ (‘Optional’‘[’*note Intercomm: 1c.‘]’) –


          Return type: *note Intercomm: 1c.

     Methods Summary
     ...............

     *note Get_remote_group: 347.()Access the remote group associated with the inter-communicator
                    
                    
     *note Get_remote_size: 348.()Intercommunicator remote size
                    
                    
     *note Merge: 2e.([high])Merge intercommunicator
                    

     Attributes Summary
     ..................

     *note remote_group: 349.remote group
                    
                    
     *note remote_size: 34a.number of remote processes
                    

     Methods Documentation
     .....................

      -- Method: Get_remote_group ()

          Access the remote group associated with the inter-communicator


          Return type: *note Group: 24.

      -- Method: Get_remote_size ()

          Intercommunicator remote size


          Return type: int(1)

      -- Method: Merge (high=False)

          Merge intercommunicator


          Parameters: ‘high’ (bool(2)) –


          Return type: *note Intracomm: 1b.

     Attributes Documentation
     ........................

      -- Attribute: remote_group

          remote group

      -- Attribute: remote_size

          number of remote processes

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#bool


File: mpi4py.info,  Node: mpi4py MPI Intracomm,  Next: mpi4py MPI Message,  Prev: mpi4py MPI Intercomm,  Up: mpi4py MPI<2>

9.1.12 mpi4py.MPI.Intracomm
---------------------------

 -- Class: mpi4py.MPI.Intracomm (comm=None)

     Bases: *note Comm: 1a.

     Intracommunicator


     Parameters: ‘comm’ (‘Optional’‘[’*note Intracomm: 1b.‘]’) –


     Return type: *note Intracomm: 1b.

      -- Method: static __new__ (cls, comm=None)


          Parameters: ‘comm’ (‘Optional’‘[’*note Intracomm: 1b.‘]’) –


          Return type: *note Intracomm: 1b.

     Methods Summary
     ...............

     *note Accept: 6b.(port_name[,Accept a request to form a new intercommunicator
     info, root])   

     *note Cart_map: 34e.(dims[,Return an optimal placement for the calling process on the physical machine
     periods])      

     *note Connect: 6d.(port_name[,Make a request to form a new intercommunicator
     info, root])   

     *note Create_cart: 32.(dims[,Create cartesian communicator
     periods,       
     reorder])

     *note Create_dist_graph: 34f.(sources,Create distributed graph communicator
     degrees,       
     destinations)

     *note Create_dist_graph_adjacent: 350.(sources,Create distributed graph communicator
     destinations)  

     *note Create_graph: 33.(index,Create graph communicator
     edges[,        
     reorder])

     *note Create_intercomm: 2d.(local_leader,Create intercommunicator
     peer_comm,     
     ...)

     *note Exscan: 5c.(sendbuf,Exclusive Scan
     recvbuf[,      
     op])

     *note Graph_map: 351.(index,Return an optimal placement for the calling process on the physical machine
     edges)         

     *note Iexscan: 352.(sendbuf,Inclusive Scan
     recvbuf[,      
     op])

     *note Iscan: 353.(sendbuf,Inclusive Scan
     recvbuf[,      
     op])

     *note Scan: 5b.(sendbuf,Inclusive Scan
     recvbuf[,      
     op])

     *note Spawn: 67.(command[,Spawn instances of a single MPI application
     args,          
     maxprocs,
     info, root,
     ...])

     *note Spawn_multiple: 354.(command[,Spawn instances of multiple MPI applications
     args,          
     maxprocs,
     ...])

     *note exscan: 60.(sendobj[,Exclusive Scan
     op])           

     *note scan: 5f.(sendobj[,Inclusive Scan
     op])           

     Methods Documentation
     .....................

      -- Method: Accept (port_name, info=INFO_NULL, root=0)

          Accept a request to form a new intercommunicator


          Parameters:

             * ‘port_name’ (str(1)) –

             * ‘info’ (*note Info: cc.) –

             * ‘root’ (int(2)) –


          Return type: *note Intercomm: 1c.

      -- Method: Cart_map (dims, periods=None)

          Return an optimal placement for the calling process on the
          physical machine


          Parameters:

             * ‘dims’ (‘Sequence’‘[’int(3)‘]’) –

             * ‘periods’ (‘Optional’‘[’‘Sequence’‘[’bool(4)‘]’‘]’) –


          Return type: int(5)

      -- Method: Connect (port_name, info=INFO_NULL, root=0)

          Make a request to form a new intercommunicator


          Parameters:

             * ‘port_name’ (str(6)) –

             * ‘info’ (*note Info: cc.) –

             * ‘root’ (int(7)) –


          Return type: *note Intercomm: 1c.

      -- Method: Create_cart (dims, periods=None, reorder=False)

          Create cartesian communicator


          Parameters:

             * ‘dims’ (‘Sequence’‘[’int(8)‘]’) –

             * ‘periods’ (‘Optional’‘[’‘Sequence’‘[’bool(9)‘]’‘]’) –

             * ‘reorder’ (bool(10)) –


          Return type: *note Cartcomm: 2f.

      -- Method: Create_dist_graph (sources, degrees, destinations,
               weights=None, info=INFO_NULL, reorder=False)

          Create distributed graph communicator


          Parameters:

             * ‘sources’ (‘Sequence’‘[’int(11)‘]’) –

             * ‘degrees’ (‘Sequence’‘[’int(12)‘]’) –

             * ‘destinations’ (‘Sequence’‘[’int(13)‘]’) –

             * ‘weights’ (‘Optional’‘[’‘Sequence’‘[’int(14)‘]’‘]’) –

             * ‘info’ (*note Info: cc.) –

             * ‘reorder’ (bool(15)) –


          Return type: *note Distgraphcomm: 31.

      -- Method: Create_dist_graph_adjacent (sources, destinations,
               sourceweights=None, destweights=None, info=INFO_NULL,
               reorder=False)

          Create distributed graph communicator


          Parameters:

             * ‘sources’ (‘Sequence’‘[’int(16)‘]’) –

             * ‘destinations’ (‘Sequence’‘[’int(17)‘]’) –

             * ‘sourceweights’ (‘Optional’‘[’‘Sequence’‘[’int(18)‘]’‘]’)
               –

             * ‘destweights’ (‘Optional’‘[’‘Sequence’‘[’int(19)‘]’‘]’) –

             * ‘info’ (*note Info: cc.) –

             * ‘reorder’ (bool(20)) –


          Return type: *note Distgraphcomm: 31.

      -- Method: Create_graph (index, edges, reorder=False)

          Create graph communicator


          Parameters:

             * ‘index’ (‘Sequence’‘[’int(21)‘]’) –

             * ‘edges’ (‘Sequence’‘[’int(22)‘]’) –

             * ‘reorder’ (bool(23)) –


          Return type: *note Graphcomm: 30.

      -- Method: Create_intercomm (local_leader, peer_comm,
               remote_leader, tag=0)

          Create intercommunicator


          Parameters:

             * ‘local_leader’ (int(24)) –

             * ‘peer_comm’ (*note Intracomm: 1b.) –

             * ‘remote_leader’ (int(25)) –

             * ‘tag’ (int(26)) –


          Return type: *note Intercomm: 1c.

      -- Method: Exscan (sendbuf, recvbuf, op=SUM)

          Exclusive Scan


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: Graph_map (index, edges)

          Return an optimal placement for the calling process on the
          physical machine


          Parameters:

             * ‘index’ (‘Sequence’‘[’int(27)‘]’) –

             * ‘edges’ (‘Sequence’‘[’int(28)‘]’) –


          Return type: int(29)

      -- Method: Iexscan (sendbuf, recvbuf, op=SUM)

          Inclusive Scan


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘op’ (*note Op: cb.) –


          Return type: *note Request: 3f.

      -- Method: Iscan (sendbuf, recvbuf, op=SUM)

          Inclusive Scan


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘op’ (*note Op: cb.) –


          Return type: *note Request: 3f.

      -- Method: Scan (sendbuf, recvbuf, op=SUM)

          Inclusive Scan


          Parameters:

             * ‘sendbuf’ (‘Union’‘[’‘BufSpec’‘, ’‘InPlace’‘]’) –

             * ‘recvbuf’ (‘BufSpec’) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: Spawn (command, args=None, maxprocs=1, info=INFO_NULL,
               root=0, errcodes=None)

          Spawn instances of a single MPI application


          Parameters:

             * ‘command’ (str(30)) –

             * ‘args’ (‘Optional’‘[’‘Sequence’‘[’str(31)‘]’‘]’) –

             * ‘maxprocs’ (int(32)) –

             * ‘info’ (*note Info: cc.) –

             * ‘root’ (int(33)) –

             * ‘errcodes’ (‘Optional’‘[’list(34)‘]’) –


          Return type: *note Intercomm: 1c.

      -- Method: Spawn_multiple (command, args=None, maxprocs=None,
               info=INFO_NULL, root=0, errcodes=None)

          Spawn instances of multiple MPI applications


          Parameters:

             * ‘command’ (‘Sequence’‘[’str(35)‘]’) –

             * ‘args’
               (‘Optional’‘[’‘Sequence’‘[’‘Sequence’‘[’str(36)‘]’‘]’‘]’)
               –

             * ‘maxprocs’ (‘Optional’‘[’‘Sequence’‘[’int(37)‘]’‘]’) –

             * ‘info’ (‘Union’‘[’*note Info: cc.‘, ’‘Sequence’‘[’*note
               Info: cc.‘]’‘]’) –

             * ‘root’ (int(38)) –

             * ‘errcodes’ (‘Optional’‘[’list(39)‘]’) –


          Return type: *note Intercomm: 1c.

      -- Method: exscan (sendobj, op=SUM)

          Exclusive Scan


          Parameters:

             * ‘sendobj’ (‘Any’) –

             * ‘op’ (‘Union’‘[’*note Op: cb.‘, ’‘Callable’‘[’‘[’‘Any’‘,
               ’‘Any’‘]’‘, ’‘Any’‘]’‘]’) –


          Return type: Any

      -- Method: scan (sendobj, op=SUM)

          Inclusive Scan


          Parameters:

             * ‘sendobj’ (‘Any’) –

             * ‘op’ (‘Union’‘[’*note Op: cb.‘, ’‘Callable’‘[’‘[’‘Any’‘,
               ’‘Any’‘]’‘, ’‘Any’‘]’‘]’) –


          Return type: Any

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#bool

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/stdtypes.html#str

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#bool

   (10) https://docs.python.org/3/library/functions.html#bool

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#int

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#bool

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#bool

   (21) https://docs.python.org/3/library/functions.html#int

   (22) https://docs.python.org/3/library/functions.html#int

   (23) https://docs.python.org/3/library/functions.html#bool

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/functions.html#int

   (28) https://docs.python.org/3/library/functions.html#int

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/stdtypes.html#str

   (31) https://docs.python.org/3/library/stdtypes.html#str

   (32) https://docs.python.org/3/library/functions.html#int

   (33) https://docs.python.org/3/library/functions.html#int

   (34) https://docs.python.org/3/library/stdtypes.html#list

   (35) https://docs.python.org/3/library/stdtypes.html#str

   (36) https://docs.python.org/3/library/stdtypes.html#str

   (37) https://docs.python.org/3/library/functions.html#int

   (38) https://docs.python.org/3/library/functions.html#int

   (39) https://docs.python.org/3/library/stdtypes.html#list


File: mpi4py.info,  Node: mpi4py MPI Message,  Next: mpi4py MPI Op,  Prev: mpi4py MPI Intracomm,  Up: mpi4py MPI<2>

9.1.13 mpi4py.MPI.Message
-------------------------

 -- Class: mpi4py.MPI.Message (message=None)

     Bases: object(1)

     Matched message handle


     Parameters: ‘message’ (‘Optional’‘[’*note Message: ce.‘]’) –


     Return type: *note Message: ce.

      -- Method: static __new__ (cls, message=None)


          Parameters: ‘message’ (‘Optional’‘[’*note Message: ce.‘]’) –


          Return type: *note Message: ce.

     Methods Summary
     ...............

     *note Iprobe: 358.(comm[,Nonblocking test for a matched message
     source, tag,   
     status])

     *note Irecv: 359.(buf)Nonblocking receive of matched message
                    
                    
     *note Probe: 35a.(comm[,Blocking test for a matched message
     source, tag,   
     status])

     *note Recv: 35b.(buf[,Blocking receive of matched message
     status])       

     *note f2py: 35c.(arg)

     *note iprobe: 35d.(comm[,Nonblocking test for a matched message
     source, tag,   
     status])

     *note irecv: 35e.()Nonblocking receive of matched message
                    
                    
     *note probe: 35f.(comm[,Blocking test for a matched message
     source, tag,   
     status])

     *note py2f: 360.()

     *note recv: 361.([status])Blocking receive of matched message
                    

     Methods Documentation
     .....................

      -- Method: classmethod Iprobe (comm, source=ANY_SOURCE,
               tag=ANY_TAG, status=None)

          Nonblocking test for a matched message


          Parameters:

             * ‘comm’ (*note Comm: 1a.) –

             * ‘source’ (int(2)) –

             * ‘tag’ (int(3)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Optional[*note Message: ce.]

      -- Method: Irecv (buf)

          Nonblocking receive of matched message


          Parameters: ‘buf’ (‘BufSpec’) –


          Return type: *note Request: 3f.

      -- Method: classmethod Probe (comm, source=ANY_SOURCE,
               tag=ANY_TAG, status=None)

          Blocking test for a matched message


          Parameters:

             * ‘comm’ (*note Comm: 1a.) –

             * ‘source’ (int(4)) –

             * ‘tag’ (int(5)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: *note Message: ce.

      -- Method: Recv (buf, status=None)

          Blocking receive of matched message


          Parameters:

             * ‘buf’ (‘BufSpec’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: None

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(6)) –


          Return type: *note Message: ce.

      -- Method: classmethod iprobe (comm, source=ANY_SOURCE,
               tag=ANY_TAG, status=None)

          Nonblocking test for a matched message


          Parameters:

             * ‘comm’ (*note Comm: 1a.) –

             * ‘source’ (int(7)) –

             * ‘tag’ (int(8)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Optional[*note Message: ce.]

      -- Method: irecv ()

          Nonblocking receive of matched message


          Return type: *note Request: 3f.

      -- Method: classmethod probe (comm, source=ANY_SOURCE,
               tag=ANY_TAG, status=None)

          Blocking test for a matched message


          Parameters:

             * ‘comm’ (*note Comm: 1a.) –

             * ‘source’ (int(9)) –

             * ‘tag’ (int(10)) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: *note Message: ce.

      -- Method: py2f ()


          Return type: int(11)

      -- Method: recv (status=None)

          Blocking receive of matched message


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Op,  Next: mpi4py MPI Pickle,  Prev: mpi4py MPI Message,  Up: mpi4py MPI<2>

9.1.14 mpi4py.MPI.Op
--------------------

 -- Class: mpi4py.MPI.Op (op=None)

     Bases: object(1)

     Operation object


     Parameters: ‘op’ (‘Optional’‘[’*note Op: cb.‘]’) –


     Return type: *note Op: cb.

      -- Method: static __new__ (cls, op=None)


          Parameters: ‘op’ (‘Optional’‘[’*note Op: cb.‘]’) –


          Return type: *note Op: cb.

     Methods Summary
     ...............

     *note Create: 365.(function[,Create a user-defined operation
     commute])      

     *note Free: 366.()Free the operation
                    
                    
     *note Is_commutative: 367.()Query reduction operations for their commutativity
                    
                    
     *note Reduce_local: 368.(inbuf,Apply a reduction operator to local data
     inoutbuf)      

     *note f2py: 369.(arg)

     *note py2f: 36a.()

     Attributes Summary
     ..................

     *note is_commutative: 36b.is commutative
                    
                    
     *note is_predefined: 36c.is a predefined operation
                    

     Methods Documentation
     .....................

      -- Method: classmethod Create (function, commute=False)

          Create a user-defined operation


          Parameters:

             * ‘function’ (‘Callable’‘[’‘[’‘Buffer’‘, ’‘Buffer’‘, ’*note
               Datatype: c8.‘]’‘, ’‘None’‘]’) –

             * ‘commute’ (bool(2)) –


          Return type: *note Op: cb.

      -- Method: Free ()

          Free the operation


          Return type: None

      -- Method: Is_commutative ()

          Query reduction operations for their commutativity


          Return type: bool(3)

      -- Method: Reduce_local (inbuf, inoutbuf)

          Apply a reduction operator to local data


          Parameters:

             * ‘inbuf’ (‘BufSpec’) –

             * ‘inoutbuf’ (‘BufSpec’) –


          Return type: None

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(4)) –


          Return type: *note Op: cb.

      -- Method: py2f ()


          Return type: int(5)

     Attributes Documentation
     ........................

      -- Attribute: is_commutative

          is commutative

      -- Attribute: is_predefined

          is a predefined operation

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#bool

   (3) https://docs.python.org/3/library/functions.html#bool

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Pickle,  Next: mpi4py MPI Prequest,  Prev: mpi4py MPI Op,  Up: mpi4py MPI<2>

9.1.15 mpi4py.MPI.Pickle
------------------------

 -- Class: mpi4py.MPI.Pickle (dumps=None, loads=None, protocol=None)

     Bases: object(1)

     Pickle/unpickle Python objects


     Parameters:

        * ‘dumps’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Any’‘, ’int(2)‘]’‘,
          ’bytes(3)‘]’‘]’) –

        * ‘loads’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Buffer’‘]’‘,
          ’‘Any’‘]’‘]’) –

        * ‘protocol’ (‘Optional’‘[’int(4)‘]’) –

      -- Method: __init__ (dumps=None, loads=None, protocol=None)


          Parameters:

             * ‘dumps’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Any’‘,
               ’int(5)‘]’‘, ’bytes(6)‘]’‘]’) –

             * ‘loads’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Buffer’‘]’‘,
               ’‘Any’‘]’‘]’) –

             * ‘protocol’ (‘Optional’‘[’int(7)‘]’) –


          Return type: None

     Methods Summary
     ...............

     *note dumps: 370.(obj[,Serialize object to pickle data stream.
     buffer_callback])

     *note loads: 371.(data[,Deserialize object from pickle data stream.
     buffers])      

     Attributes Summary
     ..................

     *note PROTOCOL: a2.pickle protocol
                    

     Methods Documentation
     .....................

      -- Method: dumps (obj, buffer_callback=None)

          Serialize object to pickle data stream.


          Parameters:

             * ‘obj’ (‘Any’) –

             * ‘buffer_callback’
               (‘Optional’‘[’‘Callable’‘[’‘[’‘Buffer’‘]’‘, ’‘Any’‘]’‘]’)
               –


          Return type: bytes(8)

      -- Method: loads (data, buffers=None)

          Deserialize object from pickle data stream.


          Parameters:

             * ‘data’ (‘Buffer’) –

             * ‘buffers’ (‘Optional’‘[’‘Iterable’‘[’‘Buffer’‘]’‘]’) –


          Return type: Any

     Attributes Documentation
     ........................

      -- Attribute: PROTOCOL

          pickle protocol

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/stdtypes.html#bytes

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/stdtypes.html#bytes

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/stdtypes.html#bytes


File: mpi4py.info,  Node: mpi4py MPI Prequest,  Next: mpi4py MPI Request,  Prev: mpi4py MPI Pickle,  Up: mpi4py MPI<2>

9.1.16 mpi4py.MPI.Prequest
--------------------------

 -- Class: mpi4py.MPI.Prequest (request=None)

     Bases: *note Request: 3f.

     Persistent request handle


     Parameters: ‘request’ (‘Optional’‘[’*note Prequest: 46.‘]’) –


     Return type: *note Prequest: 46.

      -- Method: static __new__ (cls, request=None)


          Parameters: ‘request’ (‘Optional’‘[’*note Prequest: 46.‘]’) –


          Return type: *note Prequest: 46.

     Methods Summary
     ...............

     *note Start: 47.()Initiate a communication with a persistent request
                    
                    
     *note Startall: 375.(requests)Start a collection of persistent requests
                    

     Methods Documentation
     .....................

      -- Method: Start ()

          Initiate a communication with a persistent request


          Return type: None

      -- Method: classmethod Startall (requests)

          Start a collection of persistent requests


          Parameters: ‘requests’ (‘List’‘[’*note Prequest: 46.‘]’) –


          Return type: None


File: mpi4py.info,  Node: mpi4py MPI Request,  Next: mpi4py MPI Status,  Prev: mpi4py MPI Prequest,  Up: mpi4py MPI<2>

9.1.17 mpi4py.MPI.Request
-------------------------

 -- Class: mpi4py.MPI.Request (request=None)

     Bases: object(1)

     Request handle


     Parameters: ‘request’ (‘Optional’‘[’*note Request: 3f.‘]’) –


     Return type: *note Request: 3f.

      -- Method: static __new__ (cls, request=None)


          Parameters: ‘request’ (‘Optional’‘[’*note Request: 3f.‘]’) –


          Return type: *note Request: 3f.

     Methods Summary
     ...............

     *note Cancel: 42.()Cancel a communication request
                    
                    
     *note Free: 379.()Free a communication request
                    
                    
     *note Get_status: 37a.([status])Non-destructive test for the completion of a request
                    
                    
     *note Test: 40.([status])Test for the completion of a send or receive
                    
                    
     *note Testall: 37b.(requests[,Test for completion of all previously initiated requests
     statuses])     

     *note Testany: 37c.(requests[,Test for completion of any previously initiated request
     status])       

     *note Testsome: 37d.(requests[,Test for completion of some previously initiated requests
     statuses])     

     *note Wait: 41.([status])Wait for a send or receive to complete
                    
                    
     *note Waitall: 37e.(requests[,Wait for all previously initiated requests to complete
     statuses])     

     *note Waitany: 37f.(requests[,Wait for any previously initiated request to complete
     status])       

     *note Waitsome: 380.(requests[,Wait for some previously initiated requests to complete
     statuses])     

     *note cancel: 381.()Cancel a communication request
                    
                    
     *note f2py: 382.(arg)

     *note get_status: 383.([status])Non-destructive test for the completion of a request
                    
                    
     *note py2f: 384.()

     *note test: 9e.([status])Test for the completion of a send or receive
                    
                    
     *note testall: 385.(requests[,Test for completion of all previously initiated requests
     statuses])     

     *note testany: 386.(requests[,Test for completion of any previously initiated request
     status])       

     *note testsome: 387.(requests[,Test for completion of some previously initiated requests
     statuses])     

     *note wait: 9f.([status])Wait for a send or receive to complete
                    
                    
     *note waitall: 388.(requests[,Wait for all previously initiated requests to complete
     statuses])     

     *note waitany: 389.(requests[,Wait for any previously initiated request to complete
     status])       

     *note waitsome: 38a.(requests[,Wait for some previously initiated requests to complete
     statuses])     

     Methods Documentation
     .....................

      -- Method: Cancel ()

          Cancel a communication request


          Return type: None

      -- Method: Free ()

          Free a communication request


          Return type: None

      -- Method: Get_status (status=None)

          Non-destructive test for the completion of a request


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: bool(2)

      -- Method: Test (status=None)

          Test for the completion of a send or receive


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: bool(3)

      -- Method: classmethod Testall (requests, statuses=None)

          Test for completion of all previously initiated requests


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: bool(4)

      -- Method: classmethod Testany (requests, status=None)

          Test for completion of any previously initiated request


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Tuple[int(5), bool(6)]

      -- Method: classmethod Testsome (requests, statuses=None)

          Test for completion of some previously initiated requests


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: Optional[List[int(7)]]

      -- Method: Wait (status=None)

          Wait for a send or receive to complete


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Literal[True]

      -- Method: classmethod Waitall (requests, statuses=None)

          Wait for all previously initiated requests to complete


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: Literal[True]

      -- Method: classmethod Waitany (requests, status=None)

          Wait for any previously initiated request to complete


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: int(8)

      -- Method: classmethod Waitsome (requests, statuses=None)

          Wait for some previously initiated requests to complete


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: Optional[List[int(9)]]

      -- Method: cancel ()

          Cancel a communication request


          Return type: None

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(10)) –


          Return type: *note Request: 3f.

      -- Method: get_status (status=None)

          Non-destructive test for the completion of a request


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: bool(11)

      -- Method: py2f ()


          Return type: int(12)

      -- Method: test (status=None)

          Test for the completion of a send or receive


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Tuple[bool(13), Optional[Any]]

      -- Method: classmethod testall (requests, statuses=None)

          Test for completion of all previously initiated requests


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: Tuple[bool(14), Optional[List[Any]]]

      -- Method: classmethod testany (requests, status=None)

          Test for completion of any previously initiated request


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Tuple[int(15), bool(16), Optional[Any]]

      -- Method: classmethod testsome (requests, statuses=None)

          Test for completion of some previously initiated requests


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: Tuple[Optional[List[int(17)]],
          Optional[List[Any]]]

      -- Method: wait (status=None)

          Wait for a send or receive to complete


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Any

      -- Method: classmethod waitall (requests, statuses=None)

          Wait for all previously initiated requests to complete


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: List[Any]

      -- Method: classmethod waitany (requests, status=None)

          Wait for any previously initiated request to complete


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: Tuple[int(18), Any]

      -- Method: classmethod waitsome (requests, statuses=None)

          Wait for some previously initiated requests to complete


          Parameters:

             * ‘requests’ (‘Sequence’‘[’*note Request: 3f.‘]’) –

             * ‘statuses’ (‘Optional’‘[’‘List’‘[’*note Status:
               c9.‘]’‘]’) –


          Return type: Tuple[Optional[List[int(19)]],
          Optional[List[Any]]]

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#bool

   (3) https://docs.python.org/3/library/functions.html#bool

   (4) https://docs.python.org/3/library/functions.html#bool

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#bool

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#bool

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#bool

   (14) https://docs.python.org/3/library/functions.html#bool

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#bool

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Status,  Next: mpi4py MPI Topocomm,  Prev: mpi4py MPI Request,  Up: mpi4py MPI<2>

9.1.18 mpi4py.MPI.Status
------------------------

 -- Class: mpi4py.MPI.Status (status=None)

     Bases: object(1)

     Status object


     Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


     Return type: *note Status: c9.

      -- Method: static __new__ (cls, status=None)


          Parameters: ‘status’ (‘Optional’‘[’*note Status: c9.‘]’) –


          Return type: *note Status: c9.

     Methods Summary
     ...............

     *note Get_count: 38e.([datatype])Get the number of ‘top level’ elements
                    
                    
     *note Get_elements: 38f.(datatype)Get the number of basic elements in a datatype
                    
                    
     *note Get_error: 390.()Get message error
                    
                    
     *note Get_source: 391.()Get message source
                    
                    
     *note Get_tag: 392.()Get message tag
                    
                    
     *note Is_cancelled: 393.()Test to see if a request was cancelled
                    
                    
     *note Set_cancelled: 394.(flag)Set the cancelled state associated with a status
                    
                    
     *note Set_elements: 395.(datatype,Set the number of elements in a status
     count)         

     *note Set_error: 396.(error)Set message error
                    
                    
     *note Set_source: 397.(source)Set message source
                    
                    
     *note Set_tag: 398.(tag)Set message tag
                    
                    
     *note f2py: 399.(arg)

     *note py2f: 39a.()

     Attributes Summary
     ..................

     *note cancelled: 39b.cancelled state
                    
                    
     *note count: 39c.byte count
                    
                    
     *note error: 39d.

     *note source: 39e.

     *note tag: 39f.

     Methods Documentation
     .....................

      -- Method: Get_count (datatype=BYTE)

          Get the number of ‘top level’ elements


          Parameters: ‘datatype’ (*note Datatype: c8.) –


          Return type: int(2)

      -- Method: Get_elements (datatype)

          Get the number of basic elements in a datatype


          Parameters: ‘datatype’ (*note Datatype: c8.) –


          Return type: int(3)

      -- Method: Get_error ()

          Get message error


          Return type: int(4)

      -- Method: Get_source ()

          Get message source


          Return type: int(5)

      -- Method: Get_tag ()

          Get message tag


          Return type: int(6)

      -- Method: Is_cancelled ()

          Test to see if a request was cancelled


          Return type: bool(7)

      -- Method: Set_cancelled (flag)

          Set the cancelled state associated with a status

               Note: This should be only used when implementing query
               callback functions for generalized requests


          Parameters: ‘flag’ (bool(8)) –


          Return type: None

      -- Method: Set_elements (datatype, count)

          Set the number of elements in a status

               Note: This should be only used when implementing query
               callback functions for generalized requests


          Parameters:

             * ‘datatype’ (*note Datatype: c8.) –

             * ‘count’ (int(9)) –


          Return type: None

      -- Method: Set_error (error)

          Set message error


          Parameters: ‘error’ (int(10)) –


          Return type: None

      -- Method: Set_source (source)

          Set message source


          Parameters: ‘source’ (int(11)) –


          Return type: None

      -- Method: Set_tag (tag)

          Set message tag


          Parameters: ‘tag’ (int(12)) –


          Return type: None

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (‘List’‘[’int(13)‘]’) –


          Return type: *note Status: c9.

      -- Method: py2f ()


          Return type: List[int(14)]

     Attributes Documentation
     ........................

      -- Attribute: cancelled

          cancelled state

      -- Attribute: count

          byte count

      -- Attribute: error

      -- Attribute: source

      -- Attribute: tag

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#bool

   (8) https://docs.python.org/3/library/functions.html#bool

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#int

   (14) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Topocomm,  Next: mpi4py MPI Win,  Prev: mpi4py MPI Status,  Up: mpi4py MPI<2>

9.1.19 mpi4py.MPI.Topocomm
--------------------------

 -- Class: mpi4py.MPI.Topocomm (comm=None)

     Bases: *note Intracomm: 1b.

     Topology intracommunicator


     Parameters: ‘comm’ (‘Optional’‘[’*note Topocomm: cd.‘]’) –


     Return type: *note Topocomm: cd.

      -- Method: static __new__ (cls, comm=None)


          Parameters: ‘comm’ (‘Optional’‘[’*note Topocomm: cd.‘]’) –


          Return type: *note Topocomm: cd.

     Methods Summary
     ...............

     *note Ineighbor_allgather: 3a3.(sendbuf,Nonblocking Neighbor Gather to All
     recvbuf)       

     *note Ineighbor_allgatherv: 3a4.(sendbuf,Nonblocking Neighbor Gather to All Vector
     recvbuf)       

     *note Ineighbor_alltoall: 3a5.(sendbuf,Nonblocking Neighbor All-to-All
     recvbuf)       

     *note Ineighbor_alltoallv: 3a6.(sendbuf,Nonblocking Neighbor All-to-All Vector
     recvbuf)       

     *note Ineighbor_alltoallw: 3a7.(sendbuf,Nonblocking Neighbor All-to-All Generalized
     recvbuf)       

     *note Neighbor_allgather: 3a8.(sendbuf,Neighbor Gather to All
     recvbuf)       

     *note Neighbor_allgatherv: 3a9.(sendbuf,Neighbor Gather to All Vector
     recvbuf)       

     *note Neighbor_alltoall: 3aa.(sendbuf,Neighbor All-to-All
     recvbuf)       

     *note Neighbor_alltoallv: 3ab.(sendbuf,Neighbor All-to-All Vector
     recvbuf)       

     *note Neighbor_alltoallw: 3ac.(sendbuf,Neighbor All-to-All Generalized
     recvbuf)       

     *note neighbor_allgather: 3ad.(sendobj)Neighbor Gather to All
                    
                    
     *note neighbor_alltoall: 3ae.(sendobj)Neighbor All to All Scatter/Gather
                    

     Attributes Summary
     ..................

     *note degrees: 3af.number of incoming and outgoing neighbors
                    
                    
     *note indegree: 3b0.number of incoming neighbors
                    
                    
     *note inedges: 3b1.incoming neighbors
                    
                    
     *note inoutedges: 3b2.incoming and outgoing neighbors
                    
                    
     *note outdegree: 3b3.number of outgoing neighbors
                    
                    
     *note outedges: 3b4.outgoing neighbors
                    

     Methods Documentation
     .....................

      -- Method: Ineighbor_allgather (sendbuf, recvbuf)

          Nonblocking Neighbor Gather to All


          Parameters:

             * ‘sendbuf’ (‘BufSpec’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: *note Request: 3f.

      -- Method: Ineighbor_allgatherv (sendbuf, recvbuf)

          Nonblocking Neighbor Gather to All Vector


          Parameters:

             * ‘sendbuf’ (‘BufSpec’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: *note Request: 3f.

      -- Method: Ineighbor_alltoall (sendbuf, recvbuf)

          Nonblocking Neighbor All-to-All


          Parameters:

             * ‘sendbuf’ (‘BufSpecB’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: *note Request: 3f.

      -- Method: Ineighbor_alltoallv (sendbuf, recvbuf)

          Nonblocking Neighbor All-to-All Vector


          Parameters:

             * ‘sendbuf’ (‘BufSpecV’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: *note Request: 3f.

      -- Method: Ineighbor_alltoallw (sendbuf, recvbuf)

          Nonblocking Neighbor All-to-All Generalized


          Parameters:

             * ‘sendbuf’ (‘BufSpecW’) –

             * ‘recvbuf’ (‘BufSpecW’) –


          Return type: *note Request: 3f.

      -- Method: Neighbor_allgather (sendbuf, recvbuf)

          Neighbor Gather to All


          Parameters:

             * ‘sendbuf’ (‘BufSpec’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: None

      -- Method: Neighbor_allgatherv (sendbuf, recvbuf)

          Neighbor Gather to All Vector


          Parameters:

             * ‘sendbuf’ (‘BufSpec’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: None

      -- Method: Neighbor_alltoall (sendbuf, recvbuf)

          Neighbor All-to-All


          Parameters:

             * ‘sendbuf’ (‘BufSpecB’) –

             * ‘recvbuf’ (‘BufSpecB’) –


          Return type: None

      -- Method: Neighbor_alltoallv (sendbuf, recvbuf)

          Neighbor All-to-All Vector


          Parameters:

             * ‘sendbuf’ (‘BufSpecV’) –

             * ‘recvbuf’ (‘BufSpecV’) –


          Return type: None

      -- Method: Neighbor_alltoallw (sendbuf, recvbuf)

          Neighbor All-to-All Generalized


          Parameters:

             * ‘sendbuf’ (‘BufSpecW’) –

             * ‘recvbuf’ (‘BufSpecW’) –


          Return type: None

      -- Method: neighbor_allgather (sendobj)

          Neighbor Gather to All


          Parameters: ‘sendobj’ (‘Any’) –


          Return type: List[Any]

      -- Method: neighbor_alltoall (sendobj)

          Neighbor All to All Scatter/Gather


          Parameters: ‘sendobj’ (‘List’‘[’‘Any’‘]’) –


          Return type: List[Any]

     Attributes Documentation
     ........................

      -- Attribute: degrees

          number of incoming and outgoing neighbors

      -- Attribute: indegree

          number of incoming neighbors

      -- Attribute: inedges

          incoming neighbors

      -- Attribute: inoutedges

          incoming and outgoing neighbors

      -- Attribute: outdegree

          number of outgoing neighbors

      -- Attribute: outedges

          outgoing neighbors


File: mpi4py.info,  Node: mpi4py MPI Win,  Next: mpi4py MPI memory,  Prev: mpi4py MPI Topocomm,  Up: mpi4py MPI<2>

9.1.20 mpi4py.MPI.Win
---------------------

 -- Class: mpi4py.MPI.Win (win=None)

     Bases: object(1)

     Window handle


     Parameters: ‘win’ (‘Optional’‘[’*note Win: 72.‘]’) –


     Return type: *note Win: 72.

      -- Method: static __new__ (cls, win=None)


          Parameters: ‘win’ (‘Optional’‘[’*note Win: 72.‘]’) –


          Return type: *note Win: 72.

     Methods Summary
     ...............

     *note Accumulate: 77.(origin,Accumulate data into the target process
     target_rank[,  
     target, op])

     *note Allocate: 3b8.(size[,Create an window object for one-sided communication
     disp_unit,     
     info, comm])

     *note Allocate_shared: 3b9.(size[,Create an window object for one-sided communication
     disp_unit,     
     info, comm])

     *note Attach: 3ba.(memory)Attach a local memory region
                    
                    
     *note Call_errhandler: 3bb.(errorcode)Call the error handler installed on a window
                    
                    
     *note Compare_and_swap: 3bc.(origin,Perform one-sided atomic compare-and-swap
     compare,       
     result, ...)

     *note Complete: 79.()Completes an RMA operations begun after an *note Win.Start(): 78.
                    
                    
     *note Create: 73.(memory[,Create an window object for one-sided communication
     disp_unit,     
     info, comm])

     *note Create_dynamic: 3bd.([info,Create an window object for one-sided communication
     comm])         

     *note Create_keyval: 3be.([copy_fn,Create a new attribute key for windows
     delete_fn,     
     nopython])

     *note Delete_attr: 3bf.(keyval)Delete attribute value associated with a key
                    
                    
     *note Detach: 3c0.(memory)Detach a local memory region
                    
                    
     *note Fence: 7c.([assertion])Perform an MPI fence synchronization on a window
                    
                    
     *note Fetch_and_op: 3c1.(origin,Perform one-sided read-modify-write
     result,        
     target_rank[,
     ...])

     *note Flush: 3c2.(rank)Complete all outstanding RMA operations at the given target
                    
                    
     *note Flush_all: 3c3.()Complete all outstanding RMA operations at all targets
                    
                    
     *note Flush_local: 3c4.(rank)Complete locally all outstanding RMA operations at the given target
                    
                    
     *note Flush_local_all: 3c5.()Complete locally all outstanding RMA opera- tions at all targets
                    
                    
     *note Free: 74.()Free a window
                    
                    
     *note Free_keyval: 3c6.(keyval)Free an attribute key for windows
                    
                    
     *note Get: 76.(origin,Get data from a memory window on a remote process.
     target_rank[,  
     target])

     *note Get_accumulate: 3c7.(origin,Fetch-and-accumulate data into the target process
     result,        
     target_rank)

     *note Get_attr: 3c8.(keyval)Retrieve attribute value by key
                    
                    
     *note Get_errhandler: 3c9.()Get the error handler for a window
                    
                    
     *note Get_group: 3ca.()Return a duplicate of the group of the communicator used to create the window
                    
                    
     *note Get_info: 3cb.()Return the hints for a windows that are currently in use
                    
                    
     *note Get_name: 3cc.()Get the print name associated with the window
                    
                    
     *note Lock: 7d.(rank[,Begin an RMA access epoch at the target process
     lock_type,     
     assertion])

     *note Lock_all: 3cd.([assertion])Begin an RMA access epoch at all processes
                    
                    
     *note Post: 7a.(group[,Start an RMA exposure epoch
     assertion])    

     *note Put: 75.(origin,Put data into a memory window on a remote process.
     target_rank[,  
     target])

     *note Raccumulate: 3ce.(origin,Fetch-and-accumulate data into the target process
     target_rank[,  
     target, op])

     *note Rget: 3cf.(origin,Get data from a memory window on a remote process.
     target_rank[,  
     target])

     *note Rget_accumulate: 3d0.(origin,Accumulate data into the target process using remote memory access.
     result,        
     target_rank)

     *note Rput: 3d1.(origin,Put data into a memory window on a remote process.
     target_rank[,  
     target])

     *note Set_attr: 3d2.(keyval,Store attribute value associated with a key
     attrval)       

     *note Set_errhandler: 3d3.(errhandler)Set the error handler for a window
                    
                    
     *note Set_info: 3d4.(info)Set new values for the hints associated with a window
                    
                    
     *note Set_name: 3d5.(name)Set the print name associated with the window
                    
                    
     *note Shared_query: 3d6.(rank)Query the process-local address for remote memory segments created with
                    *note Win.Allocate_shared(): 3b9.
                    
                    
     *note Start: 78.(group[,Start an RMA access epoch for MPI
     assertion])    

     *note Sync: 3d7.()Synchronize public and private copies of the given window
                    
                    
     *note Test: 3d8.()Test whether an RMA exposure epoch has completed
                    
                    
     *note Unlock: 7e.(rank)Complete an RMA access epoch at the target process
                    
                    
     *note Unlock_all: 3d9.()Complete an RMA access epoch at all processes
                    
                    
     *note Wait: 7b.()Complete an RMA exposure epoch begun with *note Win.Post(): 7a.
                    
                    
     *note f2py: 3da.(arg)

     *note py2f: 3db.()

     *note tomemory: 3dc.()Return window memory buffer
                    

     Attributes Summary
     ..................

     *note attrs: 3dd.window attributes
                    
                    
     *note flavor: 3de.window create flavor
                    
                    
     *note group: 3df.window group
                    
                    
     *note info: 3e0.window info
                    
                    
     *note model: 3e1.window memory model
                    
                    
     *note name: 3e2.window name
                    

     Methods Documentation
     .....................

      -- Method: Accumulate (origin, target_rank, target=None, op=SUM)

          Accumulate data into the target process


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘target_rank’ (int(2)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: classmethod Allocate (size, disp_unit=1,
               info=INFO_NULL, comm=COMM_SELF)

          Create an window object for one-sided communication


          Parameters:

             * ‘size’ (int(3)) –

             * ‘disp_unit’ (int(4)) –

             * ‘info’ (*note Info: cc.) –

             * ‘comm’ (*note Intracomm: 1b.) –


          Return type: *note Win: 72.

      -- Method: classmethod Allocate_shared (size, disp_unit=1,
               info=INFO_NULL, comm=COMM_SELF)

          Create an window object for one-sided communication


          Parameters:

             * ‘size’ (int(5)) –

             * ‘disp_unit’ (int(6)) –

             * ‘info’ (*note Info: cc.) –

             * ‘comm’ (*note Intracomm: 1b.) –


          Return type: *note Win: 72.

      -- Method: Attach (memory)

          Attach a local memory region


          Parameters: ‘memory’ (‘Buffer’) –


          Return type: None

      -- Method: Call_errhandler (errorcode)

          Call the error handler installed on a window


          Parameters: ‘errorcode’ (int(7)) –


          Return type: None

      -- Method: Compare_and_swap (origin, compare, result, target_rank,
               target_disp=0)

          Perform one-sided atomic compare-and-swap


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘compare’ (‘BufSpec’) –

             * ‘result’ (‘BufSpec’) –

             * ‘target_rank’ (int(8)) –

             * ‘target_disp’ (int(9)) –


          Return type: None

      -- Method: Complete ()

          Completes an RMA operations begun after an *note Win.Start():
          78.


          Return type: None

      -- Method: classmethod Create (memory, disp_unit=1,
               info=INFO_NULL, comm=COMM_SELF)

          Create an window object for one-sided communication


          Parameters:

             * ‘memory’ (‘Union’‘[’‘Buffer’‘, ’‘Bottom’‘, ’‘None’‘]’) –

             * ‘disp_unit’ (int(10)) –

             * ‘info’ (*note Info: cc.) –

             * ‘comm’ (*note Intracomm: 1b.) –


          Return type: *note Win: 72.

      -- Method: classmethod Create_dynamic (info=INFO_NULL,
               comm=COMM_SELF)

          Create an window object for one-sided communication


          Parameters:

             * ‘info’ (*note Info: cc.) –

             * ‘comm’ (*note Intracomm: 1b.) –


          Return type: *note Win: 72.

      -- Method: classmethod Create_keyval (copy_fn=None,
               delete_fn=None, nopython=False)

          Create a new attribute key for windows


          Parameters:

             * ‘copy_fn’ (‘Optional’‘[’‘Callable’‘[’‘[’*note Win: 72.‘,
               ’int(11)‘, ’‘Any’‘]’‘, ’‘Any’‘]’‘]’) –

             * ‘delete_fn’ (‘Optional’‘[’‘Callable’‘[’‘[’*note Win:
               72.‘, ’int(12)‘, ’‘Any’‘]’‘, ’‘None’‘]’‘]’) –

             * ‘nopython’ (bool(13)) –


          Return type: int(14)

      -- Method: Delete_attr (keyval)

          Delete attribute value associated with a key


          Parameters: ‘keyval’ (int(15)) –


          Return type: None

      -- Method: Detach (memory)

          Detach a local memory region


          Parameters: ‘memory’ (‘Buffer’) –


          Return type: None

      -- Method: Fence (assertion=0)

          Perform an MPI fence synchronization on a window


          Parameters: ‘assertion’ (int(16)) –


          Return type: None

      -- Method: Fetch_and_op (origin, result, target_rank,
               target_disp=0, op=SUM)

          Perform one-sided read-modify-write


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘result’ (‘BufSpec’) –

             * ‘target_rank’ (int(17)) –

             * ‘target_disp’ (int(18)) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: Flush (rank)

          Complete all outstanding RMA operations at the given target


          Parameters: ‘rank’ (int(19)) –


          Return type: None

      -- Method: Flush_all ()

          Complete all outstanding RMA operations at all targets


          Return type: None

      -- Method: Flush_local (rank)

          Complete locally all outstanding RMA operations at the given
          target


          Parameters: ‘rank’ (int(20)) –


          Return type: None

      -- Method: Flush_local_all ()

          Complete locally all outstanding RMA opera- tions at all
          targets


          Return type: None

      -- Method: Free ()

          Free a window


          Return type: None

      -- Method: classmethod Free_keyval (keyval)

          Free an attribute key for windows


          Parameters: ‘keyval’ (int(21)) –


          Return type: int(22)

      -- Method: Get (origin, target_rank, target=None)

          Get data from a memory window on a remote process.


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘target_rank’ (int(23)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –


          Return type: None

      -- Method: Get_accumulate (origin, result, target_rank,
               target=None, op=SUM)

          Fetch-and-accumulate data into the target process


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘result’ (‘BufSpec’) –

             * ‘target_rank’ (int(24)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: None

      -- Method: Get_attr (keyval)

          Retrieve attribute value by key


          Parameters: ‘keyval’ (int(25)) –


          Return type: Optional[Union[int(26), Any]]

      -- Method: Get_errhandler ()

          Get the error handler for a window


          Return type: *note Errhandler: cf.

      -- Method: Get_group ()

          Return a duplicate of the group of the communicator used to
          create the window


          Return type: *note Group: 24.

      -- Method: Get_info ()

          Return the hints for a windows that are currently in use


          Return type: *note Info: cc.

      -- Method: Get_name ()

          Get the print name associated with the window


          Return type: str(27)

      -- Method: Lock (rank, lock_type=LOCK_EXCLUSIVE, assertion=0)

          Begin an RMA access epoch at the target process


          Parameters:

             * ‘rank’ (int(28)) –

             * ‘lock_type’ (int(29)) –

             * ‘assertion’ (int(30)) –


          Return type: None

      -- Method: Lock_all (assertion=0)

          Begin an RMA access epoch at all processes


          Parameters: ‘assertion’ (int(31)) –


          Return type: None

      -- Method: Post (group, assertion=0)

          Start an RMA exposure epoch


          Parameters:

             * ‘group’ (*note Group: 24.) –

             * ‘assertion’ (int(32)) –


          Return type: None

      -- Method: Put (origin, target_rank, target=None)

          Put data into a memory window on a remote process.


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘target_rank’ (int(33)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –


          Return type: None

      -- Method: Raccumulate (origin, target_rank, target=None, op=SUM)

          Fetch-and-accumulate data into the target process


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘target_rank’ (int(34)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: *note Request: 3f.

      -- Method: Rget (origin, target_rank, target=None)

          Get data from a memory window on a remote process.


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘target_rank’ (int(35)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –


          Return type: *note Request: 3f.

      -- Method: Rget_accumulate (origin, result, target_rank,
               target=None, op=SUM)

          Accumulate data into the target process using remote memory
          access.


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘result’ (‘BufSpec’) –

             * ‘target_rank’ (int(36)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –

             * ‘op’ (*note Op: cb.) –


          Return type: *note Request: 3f.

      -- Method: Rput (origin, target_rank, target=None)

          Put data into a memory window on a remote process.


          Parameters:

             * ‘origin’ (‘BufSpec’) –

             * ‘target_rank’ (int(37)) –

             * ‘target’ (‘Optional’‘[’‘TargetSpec’‘]’) –


          Return type: *note Request: 3f.

      -- Method: Set_attr (keyval, attrval)

          Store attribute value associated with a key


          Parameters:

             * ‘keyval’ (int(38)) –

             * ‘attrval’ (‘Any’) –


          Return type: None

      -- Method: Set_errhandler (errhandler)

          Set the error handler for a window


          Parameters: ‘errhandler’ (*note Errhandler: cf.) –


          Return type: None

      -- Method: Set_info (info)

          Set new values for the hints associated with a window


          Parameters: ‘info’ (*note Info: cc.) –


          Return type: None

      -- Method: Set_name (name)

          Set the print name associated with the window


          Parameters: ‘name’ (str(39)) –


          Return type: None

      -- Method: Shared_query (rank)

          Query the process-local address for remote memory segments
          created with *note Win.Allocate_shared(): 3b9.


          Parameters: ‘rank’ (int(40)) –


          Return type: Tuple[*note memory: d1, int(41)]

      -- Method: Start (group, assertion=0)

          Start an RMA access epoch for MPI


          Parameters:

             * ‘group’ (*note Group: 24.) –

             * ‘assertion’ (int(42)) –


          Return type: None

      -- Method: Sync ()

          Synchronize public and private copies of the given window


          Return type: None

      -- Method: Test ()

          Test whether an RMA exposure epoch has completed


          Return type: bool(43)

      -- Method: Unlock (rank)

          Complete an RMA access epoch at the target process


          Parameters: ‘rank’ (int(44)) –


          Return type: None

      -- Method: Unlock_all ()

          Complete an RMA access epoch at all processes


          Return type: None

      -- Method: Wait ()

          Complete an RMA exposure epoch begun with *note Win.Post():
          7a.


          Return type: Literal[True]

      -- Method: classmethod f2py (arg)


          Parameters: ‘arg’ (int(45)) –


          Return type: *note Win: 72.

      -- Method: py2f ()


          Return type: int(46)

      -- Method: tomemory ()

          Return window memory buffer


          Return type: *note memory: d1.

     Attributes Documentation
     ........................

      -- Attribute: attrs

          window attributes

      -- Attribute: flavor

          window create flavor

      -- Attribute: group

          window group

      -- Attribute: info

          window info

      -- Attribute: model

          window memory model

      -- Attribute: name

          window name

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#bool

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#int

   (21) https://docs.python.org/3/library/functions.html#int

   (22) https://docs.python.org/3/library/functions.html#int

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/stdtypes.html#str

   (28) https://docs.python.org/3/library/functions.html#int

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/functions.html#int

   (31) https://docs.python.org/3/library/functions.html#int

   (32) https://docs.python.org/3/library/functions.html#int

   (33) https://docs.python.org/3/library/functions.html#int

   (34) https://docs.python.org/3/library/functions.html#int

   (35) https://docs.python.org/3/library/functions.html#int

   (36) https://docs.python.org/3/library/functions.html#int

   (37) https://docs.python.org/3/library/functions.html#int

   (38) https://docs.python.org/3/library/functions.html#int

   (39) https://docs.python.org/3/library/stdtypes.html#str

   (40) https://docs.python.org/3/library/functions.html#int

   (41) https://docs.python.org/3/library/functions.html#int

   (42) https://docs.python.org/3/library/functions.html#int

   (43) https://docs.python.org/3/library/functions.html#bool

   (44) https://docs.python.org/3/library/functions.html#int

   (45) https://docs.python.org/3/library/functions.html#int

   (46) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI memory,  Next: mpi4py MPI Exception,  Prev: mpi4py MPI Win,  Up: mpi4py MPI<2>

9.1.21 mpi4py.MPI.memory
------------------------

 -- Class: mpi4py.MPI.memory (buf)

     Bases: object(1)

     Memory buffer


     Parameters: ‘buf’ (‘Buffer’) –


     Return type: *note memory: d1.

      -- Method: static __new__ (cls, buf)


          Parameters: ‘buf’ (‘Buffer’) –


          Return type: *note memory: d1.

     Methods Summary
     ...............

     *note allocate: 3e6.(nbytes[,Memory allocation
     clear])        

     *note fromaddress: 3e7.(address,Memory from address and size in bytes
     nbytes[,       
     readonly])

     *note frombuffer: 3e8.(obj[,Memory from buffer-like object
     readonly])     

     *note release: 3e9.()Release the underlying buffer exposed by the memory object
                    
                    
     *note tobytes: 3ea.([order])Return the data in the buffer as a byte string
                    
                    
     *note toreadonly: 3eb.()Return a readonly version of the memory object
                    

     Attributes Summary
     ..................

     *note address: 3ec.Memory address
                    
                    
     *note format: 3ed.A string with the format of each element
                    
                    
     *note itemsize: 3ee.The size in bytes of each element
                    
                    
     *note nbytes: 3ef.Memory size (in bytes)
                    
                    
     *note obj: 3f0.The underlying object of the memory
                    
                    
     *note readonly: 3f1.Boolean indicating whether the memory is read-only
                    

     Methods Documentation
     .....................

      -- Method: static allocate (nbytes, clear=False)

          Memory allocation


          Parameters:

             * ‘nbytes’ (int(2)) –

             * ‘clear’ (bool(3)) –


          Return type: *note memory: d1.

      -- Method: static fromaddress (address, nbytes, readonly=False)

          Memory from address and size in bytes


          Parameters:

             * ‘address’ (int(4)) –

             * ‘nbytes’ (int(5)) –

             * ‘readonly’ (bool(6)) –


          Return type: *note memory: d1.

      -- Method: static frombuffer (obj, readonly=False)

          Memory from buffer-like object


          Parameters:

             * ‘obj’ (‘Buffer’) –

             * ‘readonly’ (bool(7)) –


          Return type: *note memory: d1.

      -- Method: release ()

          Release the underlying buffer exposed by the memory object


          Return type: None

      -- Method: tobytes (order=None)

          Return the data in the buffer as a byte string


          Parameters: ‘order’ (‘Optional’‘[’str(8)‘]’) –


          Return type: bytes(9)

      -- Method: toreadonly ()

          Return a readonly version of the memory object


          Return type: *note memory: d1.

     Attributes Documentation
     ........................

      -- Attribute: address

          Memory address

      -- Attribute: format

          A string with the format of each element

      -- Attribute: itemsize

          The size in bytes of each element

      -- Attribute: nbytes

          Memory size (in bytes)

      -- Attribute: obj

          The underlying object of the memory

      -- Attribute: readonly

          Boolean indicating whether the memory is read-only

Exceptions
..........

*note Exception: 99.([ierr])Exception class
               

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#object

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#bool

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#bool

   (7) https://docs.python.org/3/library/functions.html#bool

   (8) https://docs.python.org/3/library/stdtypes.html#str

   (9) https://docs.python.org/3/library/stdtypes.html#bytes


File: mpi4py.info,  Node: mpi4py MPI Exception,  Next: mpi4py MPI Add_error_class,  Prev: mpi4py MPI memory,  Up: mpi4py MPI<2>

9.1.22 mpi4py.MPI.Exception
---------------------------

 -- Exception: mpi4py.MPI.Exception (ierr=SUCCESS)

     Bases: RuntimeError(1)

     Exception class


     Parameters: ‘ierr’ (int(2)) –


     Return type: *note Exception: 99.

      -- Method: static __new__ (cls, ierr=SUCCESS)


          Parameters: ‘ierr’ (int(3)) –


          Return type: *note Exception: 99.

     Methods Summary
     ...............

     *note Get_error_class: 3f5.()Error class
                    
                    
     *note Get_error_code: 3f6.()Error code
                    
                    
     *note Get_error_string: 3f7.()Error string
                    

     Attributes Summary
     ..................

     *note error_class: 3f8.error class
                    
                    
     *note error_code: 3f9.error code
                    
                    
     *note error_string: 3fa.error string
                    

     Methods Documentation
     .....................

      -- Method: Get_error_class ()

          Error class


          Return type: int(4)

      -- Method: Get_error_code ()

          Error code


          Return type: int(5)

      -- Method: Get_error_string ()

          Error string


          Return type: str(6)

     Attributes Documentation
     ........................

      -- Attribute: error_class

          error class

      -- Attribute: error_code

          error code

      -- Attribute: error_string

          error string

Functions
.........

*note Add_error_class: dd.()Add an ‘error class’ to the known error classes
               
               
*note Add_error_code: de.(errorclass)Add an ‘error code’ to an ‘error class’
               
               
*note Add_error_string: df.(errorcode,Associate an ‘error string’ with an ‘error class’ or ‘errorcode’
string)        

*note Aint_add: d9.(base,Return the sum of base address and displacement
disp)          

*note Aint_diff: da.(addr1,Return the difference between absolute addresses
addr2)         

*note Alloc_mem: d6.(size[,Allocate memory for message passing and RMA
info])         

*note Attach_buffer: e0.(buf)Attach a user-provided buffer for sending in buffered mode
               
               
*note Close_port: 70.(port_name)Close a port
               
               
*note Compute_dims: e2.(nnodes,Return a balanced distribution of processes per coordinate direction
dims)          

*note Detach_buffer: e1.()Remove an existing attached buffer
               
               
*note Finalize: 8a.()Terminate the MPI execution environment
               
               
*note Free_mem: d7.(mem)Free memory allocated with *note Alloc_mem(): d6.
               
               
*note Get_address: d8.(location)Get the address of a location in memory
               
               
*note Get_error_class: db.(errorcode)Convert an ‘error code’ into an ‘error class’
               
               
*note Get_error_string: dc.(errorcode)Return the ‘error string’ for a given ‘error class’ or ‘error code’
               
               
*note Get_library_version: d3.()Obtain the version string of the MPI library
               
               
*note Get_processor_name: 8f.()Obtain the name of the calling processor
               
               
*note Get_version: 8e.()Obtain the version number of the MPI standard supported by the implementation as a tuple
               ‘(version, subversion)’
               
               
*note Init: 88.()Initialize the MPI execution environment
               
               
*note Init_thread: 89.([required])Initialize the MPI execution environment
               
               
*note Is_finalized: 8c.()Indicates whether *note Finalize: 8a. has completed
               
               
*note Is_initialized: 8b.()Indicates whether *note Init: 88. has been called
               
               
*note Is_thread_main: d5.()Indicate whether this thread called *note Init: 88. or *note Init_thread: 89.
               
               
*note Lookup_name: 6c.(service_name[,Lookup a port name given a service name
info])         

*note Open_port: 69.([info])Return an address that can be used to establish connections between groups of MPI processes
               
               
*note Pcontrol: e4.(level)Control profiling
               
               
*note Publish_name: 6a.(service_name,Publish a service name
port_name[,    
info])

*note Query_thread: d4.()Return the level of thread support provided by the MPI library
               
               
*note Register_datarep: e3.(datarep,Register user-defined data representations
read_fn,       
write_fn,
...)

*note Unpublish_name: 6f.(service_name,Unpublish a service name
port_name[,    
info])

*note Wtick: 93.()Return the resolution of *note Wtime: 92.
               
               
*note Wtime: 92.()Return an elapsed time on the calling processor
               
               
*note get_vendor: e5.()Infomation about the underlying MPI implementation
               

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/exceptions.html#RuntimeError

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Add_error_class,  Next: mpi4py MPI Add_error_code,  Prev: mpi4py MPI Exception,  Up: mpi4py MPI<2>

9.1.23 mpi4py.MPI.Add_error_class
---------------------------------

 -- Function: mpi4py.MPI.Add_error_class ()

     Add an ‘error class’ to the known error classes


     Return type: int(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Add_error_code,  Next: mpi4py MPI Add_error_string,  Prev: mpi4py MPI Add_error_class,  Up: mpi4py MPI<2>

9.1.24 mpi4py.MPI.Add_error_code
--------------------------------

 -- Function: mpi4py.MPI.Add_error_code (errorclass)

     Add an ‘error code’ to an ‘error class’


     Parameters: ‘errorclass’ (int(1)) –


     Return type: int(2)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Add_error_string,  Next: mpi4py MPI Aint_add,  Prev: mpi4py MPI Add_error_code,  Up: mpi4py MPI<2>

9.1.25 mpi4py.MPI.Add_error_string
----------------------------------

 -- Function: mpi4py.MPI.Add_error_string (errorcode, string)

     Associate an ‘error string’ with an ‘error class’ or ‘errorcode’


     Parameters:

        * ‘errorcode’ (int(1)) –

        * ‘string’ (str(2)) –


     Return type: None

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Aint_add,  Next: mpi4py MPI Aint_diff,  Prev: mpi4py MPI Add_error_string,  Up: mpi4py MPI<2>

9.1.26 mpi4py.MPI.Aint_add
--------------------------

 -- Function: mpi4py.MPI.Aint_add (base, disp)

     Return the sum of base address and displacement


     Parameters:

        * ‘base’ (int(1)) –

        * ‘disp’ (int(2)) –


     Return type: int(3)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Aint_diff,  Next: mpi4py MPI Alloc_mem,  Prev: mpi4py MPI Aint_add,  Up: mpi4py MPI<2>

9.1.27 mpi4py.MPI.Aint_diff
---------------------------

 -- Function: mpi4py.MPI.Aint_diff (addr1, addr2)

     Return the difference between absolute addresses


     Parameters:

        * ‘addr1’ (int(1)) –

        * ‘addr2’ (int(2)) –


     Return type: int(3)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Alloc_mem,  Next: mpi4py MPI Attach_buffer,  Prev: mpi4py MPI Aint_diff,  Up: mpi4py MPI<2>

9.1.28 mpi4py.MPI.Alloc_mem
---------------------------

 -- Function: mpi4py.MPI.Alloc_mem (size, info=INFO_NULL)

     Allocate memory for message passing and RMA


     Parameters:

        * ‘size’ (int(1)) –

        * ‘info’ (*note Info: cc.) –


     Return type: *note memory: d1.

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Attach_buffer,  Next: mpi4py MPI Close_port,  Prev: mpi4py MPI Alloc_mem,  Up: mpi4py MPI<2>

9.1.29 mpi4py.MPI.Attach_buffer
-------------------------------

 -- Function: mpi4py.MPI.Attach_buffer (buf)

     Attach a user-provided buffer for sending in buffered mode


     Parameters: ‘buf’ (‘Buffer’) –


     Return type: None


File: mpi4py.info,  Node: mpi4py MPI Close_port,  Next: mpi4py MPI Compute_dims,  Prev: mpi4py MPI Attach_buffer,  Up: mpi4py MPI<2>

9.1.30 mpi4py.MPI.Close_port
----------------------------

 -- Function: mpi4py.MPI.Close_port (port_name)

     Close a port


     Parameters: ‘port_name’ (str(1)) –


     Return type: None

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Compute_dims,  Next: mpi4py MPI Detach_buffer,  Prev: mpi4py MPI Close_port,  Up: mpi4py MPI<2>

9.1.31 mpi4py.MPI.Compute_dims
------------------------------

 -- Function: mpi4py.MPI.Compute_dims (nnodes, dims)

     Return a balanced distribution of processes per coordinate
     direction


     Parameters:

        * ‘nnodes’ (int(1)) –

        * ‘dims’ (‘Union’‘[’int(2)‘, ’‘Sequence’‘[’int(3)‘]’‘]’) –


     Return type: List[int(4)]

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Detach_buffer,  Next: mpi4py MPI Finalize,  Prev: mpi4py MPI Compute_dims,  Up: mpi4py MPI<2>

9.1.32 mpi4py.MPI.Detach_buffer
-------------------------------

 -- Function: mpi4py.MPI.Detach_buffer ()

     Remove an existing attached buffer


     Return type: Buffer


File: mpi4py.info,  Node: mpi4py MPI Finalize,  Next: mpi4py MPI Free_mem,  Prev: mpi4py MPI Detach_buffer,  Up: mpi4py MPI<2>

9.1.33 mpi4py.MPI.Finalize
--------------------------

 -- Function: mpi4py.MPI.Finalize ()

     Terminate the MPI execution environment


     Return type: None


File: mpi4py.info,  Node: mpi4py MPI Free_mem,  Next: mpi4py MPI Get_address,  Prev: mpi4py MPI Finalize,  Up: mpi4py MPI<2>

9.1.34 mpi4py.MPI.Free_mem
--------------------------

 -- Function: mpi4py.MPI.Free_mem (mem)

     Free memory allocated with *note Alloc_mem(): d6.


     Parameters: ‘mem’ (*note memory: d1.) –


     Return type: None


File: mpi4py.info,  Node: mpi4py MPI Get_address,  Next: mpi4py MPI Get_error_class,  Prev: mpi4py MPI Free_mem,  Up: mpi4py MPI<2>

9.1.35 mpi4py.MPI.Get_address
-----------------------------

 -- Function: mpi4py.MPI.Get_address (location)

     Get the address of a location in memory


     Parameters: ‘location’ (‘Union’‘[’‘Buffer’‘, ’‘Bottom’‘]’) –


     Return type: int(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Get_error_class,  Next: mpi4py MPI Get_error_string,  Prev: mpi4py MPI Get_address,  Up: mpi4py MPI<2>

9.1.36 mpi4py.MPI.Get_error_class
---------------------------------

 -- Function: mpi4py.MPI.Get_error_class (errorcode)

     Convert an ‘error code’ into an ‘error class’


     Parameters: ‘errorcode’ (int(1)) –


     Return type: int(2)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Get_error_string,  Next: mpi4py MPI Get_library_version,  Prev: mpi4py MPI Get_error_class,  Up: mpi4py MPI<2>

9.1.37 mpi4py.MPI.Get_error_string
----------------------------------

 -- Function: mpi4py.MPI.Get_error_string (errorcode)

     Return the ‘error string’ for a given ‘error class’ or ‘error code’


     Parameters: ‘errorcode’ (int(1)) –


     Return type: str(2)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Get_library_version,  Next: mpi4py MPI Get_processor_name,  Prev: mpi4py MPI Get_error_string,  Up: mpi4py MPI<2>

9.1.38 mpi4py.MPI.Get_library_version
-------------------------------------

 -- Function: mpi4py.MPI.Get_library_version ()

     Obtain the version string of the MPI library


     Return type: str(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Get_processor_name,  Next: mpi4py MPI Get_version,  Prev: mpi4py MPI Get_library_version,  Up: mpi4py MPI<2>

9.1.39 mpi4py.MPI.Get_processor_name
------------------------------------

 -- Function: mpi4py.MPI.Get_processor_name ()

     Obtain the name of the calling processor


     Return type: str(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Get_version,  Next: mpi4py MPI Init,  Prev: mpi4py MPI Get_processor_name,  Up: mpi4py MPI<2>

9.1.40 mpi4py.MPI.Get_version
-----------------------------

 -- Function: mpi4py.MPI.Get_version ()

     Obtain the version number of the MPI standard supported by the
     implementation as a tuple ‘(version, subversion)’


     Return type: Tuple[int(1), int(2)]

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Init,  Next: mpi4py MPI Init_thread,  Prev: mpi4py MPI Get_version,  Up: mpi4py MPI<2>

9.1.41 mpi4py.MPI.Init
----------------------

 -- Function: mpi4py.MPI.Init ()

     Initialize the MPI execution environment


     Return type: None


File: mpi4py.info,  Node: mpi4py MPI Init_thread,  Next: mpi4py MPI Is_finalized,  Prev: mpi4py MPI Init,  Up: mpi4py MPI<2>

9.1.42 mpi4py.MPI.Init_thread
-----------------------------

 -- Function: mpi4py.MPI.Init_thread (required=THREAD_MULTIPLE)

     Initialize the MPI execution environment


     Parameters: ‘required’ (int(1)) –


     Return type: int(2)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Is_finalized,  Next: mpi4py MPI Is_initialized,  Prev: mpi4py MPI Init_thread,  Up: mpi4py MPI<2>

9.1.43 mpi4py.MPI.Is_finalized
------------------------------

 -- Function: mpi4py.MPI.Is_finalized ()

     Indicates whether *note Finalize: 8a. has completed


     Return type: bool(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#bool


File: mpi4py.info,  Node: mpi4py MPI Is_initialized,  Next: mpi4py MPI Is_thread_main,  Prev: mpi4py MPI Is_finalized,  Up: mpi4py MPI<2>

9.1.44 mpi4py.MPI.Is_initialized
--------------------------------

 -- Function: mpi4py.MPI.Is_initialized ()

     Indicates whether *note Init: 88. has been called


     Return type: bool(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#bool


File: mpi4py.info,  Node: mpi4py MPI Is_thread_main,  Next: mpi4py MPI Lookup_name,  Prev: mpi4py MPI Is_initialized,  Up: mpi4py MPI<2>

9.1.45 mpi4py.MPI.Is_thread_main
--------------------------------

 -- Function: mpi4py.MPI.Is_thread_main ()

     Indicate whether this thread called *note Init: 88. or *note
     Init_thread: 89.


     Return type: bool(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#bool


File: mpi4py.info,  Node: mpi4py MPI Lookup_name,  Next: mpi4py MPI Open_port,  Prev: mpi4py MPI Is_thread_main,  Up: mpi4py MPI<2>

9.1.46 mpi4py.MPI.Lookup_name
-----------------------------

 -- Function: mpi4py.MPI.Lookup_name (service_name, info=INFO_NULL)

     Lookup a port name given a service name


     Parameters:

        * ‘service_name’ (str(1)) –

        * ‘info’ (*note Info: cc.) –


     Return type: str(2)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str

   (2) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Open_port,  Next: mpi4py MPI Pcontrol,  Prev: mpi4py MPI Lookup_name,  Up: mpi4py MPI<2>

9.1.47 mpi4py.MPI.Open_port
---------------------------

 -- Function: mpi4py.MPI.Open_port (info=INFO_NULL)

     Return an address that can be used to establish connections between
     groups of MPI processes


     Parameters: ‘info’ (*note Info: cc.) –


     Return type: str(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Pcontrol,  Next: mpi4py MPI Publish_name,  Prev: mpi4py MPI Open_port,  Up: mpi4py MPI<2>

9.1.48 mpi4py.MPI.Pcontrol
--------------------------

 -- Function: mpi4py.MPI.Pcontrol (level)

     Control profiling


     Parameters: ‘level’ (int(1)) –


     Return type: None

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Publish_name,  Next: mpi4py MPI Query_thread,  Prev: mpi4py MPI Pcontrol,  Up: mpi4py MPI<2>

9.1.49 mpi4py.MPI.Publish_name
------------------------------

 -- Function: mpi4py.MPI.Publish_name (service_name, port_name,
          info=INFO_NULL)

     Publish a service name


     Parameters:

        * ‘service_name’ (str(1)) –

        * ‘port_name’ (str(2)) –

        * ‘info’ (*note Info: cc.) –


     Return type: None

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str

   (2) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Query_thread,  Next: mpi4py MPI Register_datarep,  Prev: mpi4py MPI Publish_name,  Up: mpi4py MPI<2>

9.1.50 mpi4py.MPI.Query_thread
------------------------------

 -- Function: mpi4py.MPI.Query_thread ()

     Return the level of thread support provided by the MPI library


     Return type: int(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Register_datarep,  Next: mpi4py MPI Unpublish_name,  Prev: mpi4py MPI Query_thread,  Up: mpi4py MPI<2>

9.1.51 mpi4py.MPI.Register_datarep
----------------------------------

 -- Function: mpi4py.MPI.Register_datarep (datarep, read_fn, write_fn,
          extent_fn)

     Register user-defined data representations


     Parameters:

        * ‘datarep’ (str(1)) –

        * ‘read_fn’ (‘Callable’‘[’‘[’‘Buffer’‘, ’*note Datatype: c8.‘,
          ’int(2)‘, ’‘Buffer’‘, ’int(3)‘]’‘, ’‘None’‘]’) –

        * ‘write_fn’ (‘Callable’‘[’‘[’‘Buffer’‘, ’*note Datatype: c8.‘,
          ’int(4)‘, ’‘Buffer’‘, ’int(5)‘]’‘, ’‘None’‘]’) –

        * ‘extent_fn’ (‘Callable’‘[’‘[’*note Datatype: c8.‘]’‘,
          ’int(6)‘]’) –


     Return type: None

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI Unpublish_name,  Next: mpi4py MPI Wtick,  Prev: mpi4py MPI Register_datarep,  Up: mpi4py MPI<2>

9.1.52 mpi4py.MPI.Unpublish_name
--------------------------------

 -- Function: mpi4py.MPI.Unpublish_name (service_name, port_name,
          info=INFO_NULL)

     Unpublish a service name


     Parameters:

        * ‘service_name’ (str(1)) –

        * ‘port_name’ (str(2)) –

        * ‘info’ (*note Info: cc.) –


     Return type: None

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str

   (2) https://docs.python.org/3/library/stdtypes.html#str


File: mpi4py.info,  Node: mpi4py MPI Wtick,  Next: mpi4py MPI Wtime,  Prev: mpi4py MPI Unpublish_name,  Up: mpi4py MPI<2>

9.1.53 mpi4py.MPI.Wtick
-----------------------

 -- Function: mpi4py.MPI.Wtick ()

     Return the resolution of *note Wtime: 92.


     Return type: float(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#float


File: mpi4py.info,  Node: mpi4py MPI Wtime,  Next: mpi4py MPI get_vendor,  Prev: mpi4py MPI Wtick,  Up: mpi4py MPI<2>

9.1.54 mpi4py.MPI.Wtime
-----------------------

 -- Function: mpi4py.MPI.Wtime ()

     Return an elapsed time on the calling processor


     Return type: float(1)

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#float


File: mpi4py.info,  Node: mpi4py MPI get_vendor,  Next: mpi4py MPI UNDEFINED,  Prev: mpi4py MPI Wtime,  Up: mpi4py MPI<2>

9.1.55 mpi4py.MPI.get_vendor
----------------------------

 -- Function: mpi4py.MPI.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)’


     Return type: Tuple[str(1), Tuple[int(2), int(3), int(4)]]

Attributes
..........

*note UNDEFINED: e7.int(5) ‘UNDEFINED’
               
               
*note ANY_SOURCE: e8.int(6) ‘ANY_SOURCE’
               
               
*note ANY_TAG: e9.int(7) ‘ANY_TAG’
               
               
*note PROC_NULL: ea.int(8) ‘PROC_NULL’
               
               
*note ROOT: eb.int(9) ‘ROOT’
               
               
*note BOTTOM: ec.‘Bottom’ ‘BOTTOM’
               
               
*note IN_PLACE: ed.‘InPlace’ ‘IN_PLACE’
               
               
*note KEYVAL_INVALID: ee.int(10) ‘KEYVAL_INVALID’
               
               
*note TAG_UB: ef.int(11) ‘TAG_UB’
               
               
*note HOST: f0.int(12) ‘HOST’
               
               
*note IO: f1.  int(13) ‘IO’
               
               
*note WTIME_IS_GLOBAL: f2.int(14) ‘WTIME_IS_GLOBAL’
               
               
*note UNIVERSE_SIZE: f3.int(15) ‘UNIVERSE_SIZE’
               
               
*note APPNUM: f4.int(16) ‘APPNUM’
               
               
*note LASTUSEDCODE: f5.int(17) ‘LASTUSEDCODE’
               
               
*note WIN_BASE: f6.int(18) ‘WIN_BASE’
               
               
*note WIN_SIZE: f7.int(19) ‘WIN_SIZE’
               
               
*note WIN_DISP_UNIT: f8.int(20) ‘WIN_DISP_UNIT’
               
               
*note WIN_CREATE_FLAVOR: f9.int(21) ‘WIN_CREATE_FLAVOR’
               
               
*note WIN_FLAVOR: fa.int(22) ‘WIN_FLAVOR’
               
               
*note WIN_MODEL: fb.int(23) ‘WIN_MODEL’
               
               
*note SUCCESS: fc.int(24) ‘SUCCESS’
               
               
*note ERR_LASTCODE: fd.int(25) ‘ERR_LASTCODE’
               
               
*note ERR_COMM: fe.int(26) ‘ERR_COMM’
               
               
*note ERR_GROUP: ff.int(27) ‘ERR_GROUP’
               
               
*note ERR_TYPE: 100.int(28) ‘ERR_TYPE’
               
               
*note ERR_REQUEST: 101.int(29) ‘ERR_REQUEST’
               
               
*note ERR_OP: 102.int(30) ‘ERR_OP’
               
               
*note ERR_BUFFER: 103.int(31) ‘ERR_BUFFER’
               
               
*note ERR_COUNT: 104.int(32) ‘ERR_COUNT’
               
               
*note ERR_TAG: 105.int(33) ‘ERR_TAG’
               
               
*note ERR_RANK: 106.int(34) ‘ERR_RANK’
               
               
*note ERR_ROOT: 107.int(35) ‘ERR_ROOT’
               
               
*note ERR_TRUNCATE: 108.int(36) ‘ERR_TRUNCATE’
               
               
*note ERR_IN_STATUS: 109.int(37) ‘ERR_IN_STATUS’
               
               
*note ERR_PENDING: 10a.int(38) ‘ERR_PENDING’
               
               
*note ERR_TOPOLOGY: 10b.int(39) ‘ERR_TOPOLOGY’
               
               
*note ERR_DIMS: 10c.int(40) ‘ERR_DIMS’
               
               
*note ERR_ARG: 10d.int(41) ‘ERR_ARG’
               
               
*note ERR_OTHER: 10e.int(42) ‘ERR_OTHER’
               
               
*note ERR_UNKNOWN: 10f.int(43) ‘ERR_UNKNOWN’
               
               
*note ERR_INTERN: 110.int(44) ‘ERR_INTERN’
               
               
*note ERR_INFO: 111.int(45) ‘ERR_INFO’
               
               
*note ERR_FILE: 112.int(46) ‘ERR_FILE’
               
               
*note ERR_WIN: 113.int(47) ‘ERR_WIN’
               
               
*note ERR_KEYVAL: 114.int(48) ‘ERR_KEYVAL’
               
               
*note ERR_INFO_KEY: 115.int(49) ‘ERR_INFO_KEY’
               
               
*note ERR_INFO_VALUE: 116.int(50) ‘ERR_INFO_VALUE’
               
               
*note ERR_INFO_NOKEY: 117.int(51) ‘ERR_INFO_NOKEY’
               
               
*note ERR_ACCESS: 118.int(52) ‘ERR_ACCESS’
               
               
*note ERR_AMODE: 119.int(53) ‘ERR_AMODE’
               
               
*note ERR_BAD_FILE: 11a.int(54) ‘ERR_BAD_FILE’
               
               
*note ERR_FILE_EXISTS: 11b.int(55) ‘ERR_FILE_EXISTS’
               
               
*note ERR_FILE_IN_USE: 11c.int(56) ‘ERR_FILE_IN_USE’
               
               
*note ERR_NO_SPACE: 11d.int(57) ‘ERR_NO_SPACE’
               
               
*note ERR_NO_SUCH_FILE: 11e.int(58) ‘ERR_NO_SUCH_FILE’
               
               
*note ERR_IO: 11f.int(59) ‘ERR_IO’
               
               
*note ERR_READ_ONLY: 120.int(60) ‘ERR_READ_ONLY’
               
               
*note ERR_CONVERSION: 121.int(61) ‘ERR_CONVERSION’
               
               
*note ERR_DUP_DATAREP: 122.int(62) ‘ERR_DUP_DATAREP’
               
               
*note ERR_UNSUPPORTED_DATAREP: 123.int(63) ‘ERR_UNSUPPORTED_DATAREP’
               
               
*note ERR_UNSUPPORTED_OPERATION: 124.int(64) ‘ERR_UNSUPPORTED_OPERATION’
               
               
*note ERR_NAME: 125.int(65) ‘ERR_NAME’
               
               
*note ERR_NO_MEM: 126.int(66) ‘ERR_NO_MEM’
               
               
*note ERR_NOT_SAME: 127.int(67) ‘ERR_NOT_SAME’
               
               
*note ERR_PORT: 128.int(68) ‘ERR_PORT’
               
               
*note ERR_QUOTA: 129.int(69) ‘ERR_QUOTA’
               
               
*note ERR_SERVICE: 12a.int(70) ‘ERR_SERVICE’
               
               
*note ERR_SPAWN: 12b.int(71) ‘ERR_SPAWN’
               
               
*note ERR_BASE: 12c.int(72) ‘ERR_BASE’
               
               
*note ERR_SIZE: 12d.int(73) ‘ERR_SIZE’
               
               
*note ERR_DISP: 12e.int(74) ‘ERR_DISP’
               
               
*note ERR_ASSERT: 12f.int(75) ‘ERR_ASSERT’
               
               
*note ERR_LOCKTYPE: 130.int(76) ‘ERR_LOCKTYPE’
               
               
*note ERR_RMA_CONFLICT: 131.int(77) ‘ERR_RMA_CONFLICT’
               
               
*note ERR_RMA_SYNC: 132.int(78) ‘ERR_RMA_SYNC’
               
               
*note ERR_RMA_RANGE: 133.int(79) ‘ERR_RMA_RANGE’
               
               
*note ERR_RMA_ATTACH: 134.int(80) ‘ERR_RMA_ATTACH’
               
               
*note ERR_RMA_SHARED: 135.int(81) ‘ERR_RMA_SHARED’
               
               
*note ERR_RMA_FLAVOR: 136.int(82) ‘ERR_RMA_FLAVOR’
               
               
*note ORDER_C: 137.int(83) ‘ORDER_C’
               
               
*note ORDER_FORTRAN: 139.int(84) ‘ORDER_FORTRAN’
               
               
*note ORDER_F: 138.int(85) ‘ORDER_F’
               
               
*note TYPECLASS_INTEGER: 13a.int(86) ‘TYPECLASS_INTEGER’
               
               
*note TYPECLASS_REAL: 13b.int(87) ‘TYPECLASS_REAL’
               
               
*note TYPECLASS_COMPLEX: 13c.int(88) ‘TYPECLASS_COMPLEX’
               
               
*note DISTRIBUTE_NONE: 13d.int(89) ‘DISTRIBUTE_NONE’
               
               
*note DISTRIBUTE_BLOCK: 13e.int(90) ‘DISTRIBUTE_BLOCK’
               
               
*note DISTRIBUTE_CYCLIC: 13f.int(91) ‘DISTRIBUTE_CYCLIC’
               
               
*note DISTRIBUTE_DFLT_DARG: 140.int(92) ‘DISTRIBUTE_DFLT_DARG’
               
               
*note COMBINER_NAMED: 141.int(93) ‘COMBINER_NAMED’
               
               
*note COMBINER_DUP: 142.int(94) ‘COMBINER_DUP’
               
               
*note COMBINER_CONTIGUOUS: 143.int(95) ‘COMBINER_CONTIGUOUS’
               
               
*note COMBINER_VECTOR: 144.int(96) ‘COMBINER_VECTOR’
               
               
*note COMBINER_HVECTOR: 145.int(97) ‘COMBINER_HVECTOR’
               
               
*note COMBINER_INDEXED: 146.int(98) ‘COMBINER_INDEXED’
               
               
*note COMBINER_HINDEXED: 147.int(99) ‘COMBINER_HINDEXED’
               
               
*note COMBINER_INDEXED_BLOCK: 148.int(100) ‘COMBINER_INDEXED_BLOCK’
               
               
*note COMBINER_HINDEXED_BLOCK: 149.int(101) ‘COMBINER_HINDEXED_BLOCK’
               
               
*note COMBINER_STRUCT: 14a.int(102) ‘COMBINER_STRUCT’
               
               
*note COMBINER_SUBARRAY: 14b.int(103) ‘COMBINER_SUBARRAY’
               
               
*note COMBINER_DARRAY: 14c.int(104) ‘COMBINER_DARRAY’
               
               
*note COMBINER_RESIZED: 14d.int(105) ‘COMBINER_RESIZED’
               
               
*note COMBINER_F90_REAL: 14e.int(106) ‘COMBINER_F90_REAL’
               
               
*note COMBINER_F90_COMPLEX: 14f.int(107) ‘COMBINER_F90_COMPLEX’
               
               
*note COMBINER_F90_INTEGER: 150.int(108) ‘COMBINER_F90_INTEGER’
               
               
*note IDENT: 151.int(109) ‘IDENT’
               
               
*note CONGRUENT: 152.int(110) ‘CONGRUENT’
               
               
*note SIMILAR: 153.int(111) ‘SIMILAR’
               
               
*note UNEQUAL: 154.int(112) ‘UNEQUAL’
               
               
*note CART: 155.int(113) ‘CART’
               
               
*note GRAPH: 156.int(114) ‘GRAPH’
               
               
*note DIST_GRAPH: 157.int(115) ‘DIST_GRAPH’
               
               
*note UNWEIGHTED: 158.int(116) ‘UNWEIGHTED’
               
               
*note WEIGHTS_EMPTY: 159.int(117) ‘WEIGHTS_EMPTY’
               
               
*note COMM_TYPE_SHARED: 15a.int(118) ‘COMM_TYPE_SHARED’
               
               
*note BSEND_OVERHEAD: 15b.int(119) ‘BSEND_OVERHEAD’
               
               
*note WIN_FLAVOR_CREATE: 15c.int(120) ‘WIN_FLAVOR_CREATE’
               
               
*note WIN_FLAVOR_ALLOCATE: 15d.int(121) ‘WIN_FLAVOR_ALLOCATE’
               
               
*note WIN_FLAVOR_DYNAMIC: 15e.int(122) ‘WIN_FLAVOR_DYNAMIC’
               
               
*note WIN_FLAVOR_SHARED: 15f.int(123) ‘WIN_FLAVOR_SHARED’
               
               
*note WIN_SEPARATE: 160.int(124) ‘WIN_SEPARATE’
               
               
*note WIN_UNIFIED: 161.int(125) ‘WIN_UNIFIED’
               
               
*note MODE_NOCHECK: 162.int(126) ‘MODE_NOCHECK’
               
               
*note MODE_NOSTORE: 163.int(127) ‘MODE_NOSTORE’
               
               
*note MODE_NOPUT: 164.int(128) ‘MODE_NOPUT’
               
               
*note MODE_NOPRECEDE: 165.int(129) ‘MODE_NOPRECEDE’
               
               
*note MODE_NOSUCCEED: 166.int(130) ‘MODE_NOSUCCEED’
               
               
*note LOCK_EXCLUSIVE: 167.int(131) ‘LOCK_EXCLUSIVE’
               
               
*note LOCK_SHARED: 168.int(132) ‘LOCK_SHARED’
               
               
*note MODE_RDONLY: 169.int(133) ‘MODE_RDONLY’
               
               
*note MODE_WRONLY: 16a.int(134) ‘MODE_WRONLY’
               
               
*note MODE_RDWR: 16b.int(135) ‘MODE_RDWR’
               
               
*note MODE_CREATE: 16c.int(136) ‘MODE_CREATE’
               
               
*note MODE_EXCL: 16d.int(137) ‘MODE_EXCL’
               
               
*note MODE_DELETE_ON_CLOSE: 16e.int(138) ‘MODE_DELETE_ON_CLOSE’
               
               
*note MODE_UNIQUE_OPEN: 16f.int(139) ‘MODE_UNIQUE_OPEN’
               
               
*note MODE_SEQUENTIAL: 170.int(140) ‘MODE_SEQUENTIAL’
               
               
*note MODE_APPEND: 171.int(141) ‘MODE_APPEND’
               
               
*note SEEK_SET: 172.int(142) ‘SEEK_SET’
               
               
*note SEEK_CUR: 173.int(143) ‘SEEK_CUR’
               
               
*note SEEK_END: 174.int(144) ‘SEEK_END’
               
               
*note DISPLACEMENT_CURRENT: 175.int(145) ‘DISPLACEMENT_CURRENT’
               
               
*note DISP_CUR: 176.int(146) ‘DISP_CUR’
               
               
*note THREAD_SINGLE: 177.int(147) ‘THREAD_SINGLE’
               
               
*note THREAD_FUNNELED: 178.int(148) ‘THREAD_FUNNELED’
               
               
*note THREAD_SERIALIZED: 179.int(149) ‘THREAD_SERIALIZED’
               
               
*note THREAD_MULTIPLE: 17a.int(150) ‘THREAD_MULTIPLE’
               
               
*note VERSION: 17b.int(151) ‘VERSION’
               
               
*note SUBVERSION: 17c.int(152) ‘SUBVERSION’
               
               
*note MAX_PROCESSOR_NAME: 17d.int(153) ‘MAX_PROCESSOR_NAME’
               
               
*note MAX_ERROR_STRING: 17e.int(154) ‘MAX_ERROR_STRING’
               
               
*note MAX_PORT_NAME: 17f.int(155) ‘MAX_PORT_NAME’
               
               
*note MAX_INFO_KEY: 180.int(156) ‘MAX_INFO_KEY’
               
               
*note MAX_INFO_VAL: 181.int(157) ‘MAX_INFO_VAL’
               
               
*note MAX_OBJECT_NAME: 182.int(158) ‘MAX_OBJECT_NAME’
               
               
*note MAX_DATAREP_STRING: 183.int(159) ‘MAX_DATAREP_STRING’
               
               
*note MAX_LIBRARY_VERSION_STRING: 184.int(160) ‘MAX_LIBRARY_VERSION_STRING’
               
               
*note DATATYPE_NULL: 185.*note Datatype: c8. ‘DATATYPE_NULL’
               
               
*note UB: 186. *note Datatype: c8. ‘UB’
               
               
*note LB: 187. *note Datatype: c8. ‘LB’
               
               
*note PACKED: 188.*note Datatype: c8. ‘PACKED’
               
               
*note BYTE: 189.*note Datatype: c8. ‘BYTE’
               
               
*note AINT: 18a.*note Datatype: c8. ‘AINT’
               
               
*note OFFSET: 18b.*note Datatype: c8. ‘OFFSET’
               
               
*note COUNT: 18c.*note Datatype: c8. ‘COUNT’
               
               
*note CHAR: 18d.*note Datatype: c8. ‘CHAR’
               
               
*note WCHAR: 18e.*note Datatype: c8. ‘WCHAR’
               
               
*note SIGNED_CHAR: 18f.*note Datatype: c8. ‘SIGNED_CHAR’
               
               
*note SHORT: 190.*note Datatype: c8. ‘SHORT’
               
               
*note INT: 191.*note Datatype: c8. ‘INT’
               
               
*note LONG: 192.*note Datatype: c8. ‘LONG’
               
               
*note LONG_LONG: 193.*note Datatype: c8. ‘LONG_LONG’
               
               
*note UNSIGNED_CHAR: 194.*note Datatype: c8. ‘UNSIGNED_CHAR’
               
               
*note UNSIGNED_SHORT: 195.*note Datatype: c8. ‘UNSIGNED_SHORT’
               
               
*note UNSIGNED: 196.*note Datatype: c8. ‘UNSIGNED’
               
               
*note UNSIGNED_LONG: 197.*note Datatype: c8. ‘UNSIGNED_LONG’
               
               
*note UNSIGNED_LONG_LONG: 198.*note Datatype: c8. ‘UNSIGNED_LONG_LONG’
               
               
*note FLOAT: 199.*note Datatype: c8. ‘FLOAT’
               
               
*note DOUBLE: 19a.*note Datatype: c8. ‘DOUBLE’
               
               
*note LONG_DOUBLE: 19b.*note Datatype: c8. ‘LONG_DOUBLE’
               
               
*note C_BOOL: 19c.*note Datatype: c8. ‘C_BOOL’
               
               
*note INT8_T: 19d.*note Datatype: c8. ‘INT8_T’
               
               
*note INT16_T: 19e.*note Datatype: c8. ‘INT16_T’
               
               
*note INT32_T: 19f.*note Datatype: c8. ‘INT32_T’
               
               
*note INT64_T: 1a0.*note Datatype: c8. ‘INT64_T’
               
               
*note UINT8_T: 1a1.*note Datatype: c8. ‘UINT8_T’
               
               
*note UINT16_T: 1a2.*note Datatype: c8. ‘UINT16_T’
               
               
*note UINT32_T: 1a3.*note Datatype: c8. ‘UINT32_T’
               
               
*note UINT64_T: 1a4.*note Datatype: c8. ‘UINT64_T’
               
               
*note C_COMPLEX: 1a5.*note Datatype: c8. ‘C_COMPLEX’
               
               
*note C_FLOAT_COMPLEX: 1a6.*note Datatype: c8. ‘C_FLOAT_COMPLEX’
               
               
*note C_DOUBLE_COMPLEX: 1a7.*note Datatype: c8. ‘C_DOUBLE_COMPLEX’
               
               
*note C_LONG_DOUBLE_COMPLEX: 1a8.*note Datatype: c8. ‘C_LONG_DOUBLE_COMPLEX’
               
               
*note CXX_BOOL: 1a9.*note Datatype: c8. ‘CXX_BOOL’
               
               
*note CXX_FLOAT_COMPLEX: 1aa.*note Datatype: c8. ‘CXX_FLOAT_COMPLEX’
               
               
*note CXX_DOUBLE_COMPLEX: 1ab.*note Datatype: c8. ‘CXX_DOUBLE_COMPLEX’
               
               
*note CXX_LONG_DOUBLE_COMPLEX: 1ac.*note Datatype: c8. ‘CXX_LONG_DOUBLE_COMPLEX’
               
               
*note SHORT_INT: 1ad.*note Datatype: c8. ‘SHORT_INT’
               
               
*note INT_INT: 1ae.*note Datatype: c8. ‘INT_INT’
               
               
*note TWOINT: 1af.*note Datatype: c8. ‘TWOINT’
               
               
*note LONG_INT: 1b0.*note Datatype: c8. ‘LONG_INT’
               
               
*note FLOAT_INT: 1b1.*note Datatype: c8. ‘FLOAT_INT’
               
               
*note DOUBLE_INT: 1b2.*note Datatype: c8. ‘DOUBLE_INT’
               
               
*note LONG_DOUBLE_INT: 1b3.*note Datatype: c8. ‘LONG_DOUBLE_INT’
               
               
*note CHARACTER: 1b4.*note Datatype: c8. ‘CHARACTER’
               
               
*note LOGICAL: 1b5.*note Datatype: c8. ‘LOGICAL’
               
               
*note INTEGER: 1b6.*note Datatype: c8. ‘INTEGER’
               
               
*note REAL: 1b7.*note Datatype: c8. ‘REAL’
               
               
*note DOUBLE_PRECISION: 1b8.*note Datatype: c8. ‘DOUBLE_PRECISION’
               
               
*note COMPLEX: 1b9.*note Datatype: c8. ‘COMPLEX’
               
               
*note DOUBLE_COMPLEX: 1ba.*note Datatype: c8. ‘DOUBLE_COMPLEX’
               
               
*note LOGICAL1: 1bb.*note Datatype: c8. ‘LOGICAL1’
               
               
*note LOGICAL2: 1bc.*note Datatype: c8. ‘LOGICAL2’
               
               
*note LOGICAL4: 1bd.*note Datatype: c8. ‘LOGICAL4’
               
               
*note LOGICAL8: 1be.*note Datatype: c8. ‘LOGICAL8’
               
               
*note INTEGER1: 1bf.*note Datatype: c8. ‘INTEGER1’
               
               
*note INTEGER2: 1c0.*note Datatype: c8. ‘INTEGER2’
               
               
*note INTEGER4: 1c1.*note Datatype: c8. ‘INTEGER4’
               
               
*note INTEGER8: 1c2.*note Datatype: c8. ‘INTEGER8’
               
               
*note INTEGER16: 1c3.*note Datatype: c8. ‘INTEGER16’
               
               
*note REAL2: 1c4.*note Datatype: c8. ‘REAL2’
               
               
*note REAL4: 1c5.*note Datatype: c8. ‘REAL4’
               
               
*note REAL8: 1c6.*note Datatype: c8. ‘REAL8’
               
               
*note REAL16: 1c7.*note Datatype: c8. ‘REAL16’
               
               
*note COMPLEX4: 1c8.*note Datatype: c8. ‘COMPLEX4’
               
               
*note COMPLEX8: 1c9.*note Datatype: c8. ‘COMPLEX8’
               
               
*note COMPLEX16: 1ca.*note Datatype: c8. ‘COMPLEX16’
               
               
*note COMPLEX32: 1cb.*note Datatype: c8. ‘COMPLEX32’
               
               
*note UNSIGNED_INT: 1cc.*note Datatype: c8. ‘UNSIGNED_INT’
               
               
*note SIGNED_SHORT: 1cd.*note Datatype: c8. ‘SIGNED_SHORT’
               
               
*note SIGNED_INT: 1ce.*note Datatype: c8. ‘SIGNED_INT’
               
               
*note SIGNED_LONG: 1cf.*note Datatype: c8. ‘SIGNED_LONG’
               
               
*note SIGNED_LONG_LONG: 1d0.*note Datatype: c8. ‘SIGNED_LONG_LONG’
               
               
*note BOOL: 1d1.*note Datatype: c8. ‘BOOL’
               
               
*note SINT8_T: 1d2.*note Datatype: c8. ‘SINT8_T’
               
               
*note SINT16_T: 1d3.*note Datatype: c8. ‘SINT16_T’
               
               
*note SINT32_T: 1d4.*note Datatype: c8. ‘SINT32_T’
               
               
*note SINT64_T: 1d5.*note Datatype: c8. ‘SINT64_T’
               
               
*note F_BOOL: 1d6.*note Datatype: c8. ‘F_BOOL’
               
               
*note F_INT: 1d7.*note Datatype: c8. ‘F_INT’
               
               
*note F_FLOAT: 1d8.*note Datatype: c8. ‘F_FLOAT’
               
               
*note F_DOUBLE: 1d9.*note Datatype: c8. ‘F_DOUBLE’
               
               
*note F_COMPLEX: 1da.*note Datatype: c8. ‘F_COMPLEX’
               
               
*note F_FLOAT_COMPLEX: 1db.*note Datatype: c8. ‘F_FLOAT_COMPLEX’
               
               
*note F_DOUBLE_COMPLEX: 1dc.*note Datatype: c8. ‘F_DOUBLE_COMPLEX’
               
               
*note REQUEST_NULL: 1dd.*note Request: 3f. ‘REQUEST_NULL’
               
               
*note MESSAGE_NULL: 1de.*note Message: ce. ‘MESSAGE_NULL’
               
               
*note MESSAGE_NO_PROC: 1df.*note Message: ce. ‘MESSAGE_NO_PROC’
               
               
*note OP_NULL: 1e0.*note Op: cb. ‘OP_NULL’
               
               
*note MAX: 63. *note Op: cb. ‘MAX’
               
               
*note MIN: 1e1.*note Op: cb. ‘MIN’
               
               
*note SUM: 61. *note Op: cb. ‘SUM’
               
               
*note PROD: 62.*note Op: cb. ‘PROD’
               
               
*note LAND: 1e2.*note Op: cb. ‘LAND’
               
               
*note BAND: 1e3.*note Op: cb. ‘BAND’
               
               
*note LOR: 1e4.*note Op: cb. ‘LOR’
               
               
*note BOR: 1e5.*note Op: cb. ‘BOR’
               
               
*note LXOR: 1e6.*note Op: cb. ‘LXOR’
               
               
*note BXOR: 1e7.*note Op: cb. ‘BXOR’
               
               
*note MAXLOC: 1e8.*note Op: cb. ‘MAXLOC’
               
               
*note MINLOC: 1e9.*note Op: cb. ‘MINLOC’
               
               
*note REPLACE: 1ea.*note Op: cb. ‘REPLACE’
               
               
*note NO_OP: 1eb.*note Op: cb. ‘NO_OP’
               
               
*note GROUP_NULL: 1ec.*note Group: 24. ‘GROUP_NULL’
               
               
*note GROUP_EMPTY: 1ed.*note Group: 24. ‘GROUP_EMPTY’
               
               
*note INFO_NULL: 1ee.*note Info: cc. ‘INFO_NULL’
               
               
*note INFO_ENV: 1ef.*note Info: cc. ‘INFO_ENV’
               
               
*note ERRHANDLER_NULL: 1f0.*note Errhandler: cf. ‘ERRHANDLER_NULL’
               
               
*note ERRORS_RETURN: 95.*note Errhandler: cf. ‘ERRORS_RETURN’
               
               
*note ERRORS_ARE_FATAL: 96.*note Errhandler: cf. ‘ERRORS_ARE_FATAL’
               
               
*note COMM_NULL: 1f1.*note Comm: 1a. ‘COMM_NULL’
               
               
*note COMM_SELF: 1f.*note Intracomm: 1b. ‘COMM_SELF’
               
               
*note COMM_WORLD: 20.*note Intracomm: 1b. ‘COMM_WORLD’
               
               
*note WIN_NULL: 1f2.*note Win: 72. ‘WIN_NULL’
               
               
*note FILE_NULL: 1f3.*note File: 80. ‘FILE_NULL’
               
               
*note pickle: a3.*note Pickle: d0. ‘pickle’
               

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/stdtypes.html#str

   (2) https://docs.python.org/3/library/functions.html#int

   (3) https://docs.python.org/3/library/functions.html#int

   (4) https://docs.python.org/3/library/functions.html#int

   (5) https://docs.python.org/3/library/functions.html#int

   (6) https://docs.python.org/3/library/functions.html#int

   (7) https://docs.python.org/3/library/functions.html#int

   (8) https://docs.python.org/3/library/functions.html#int

   (9) https://docs.python.org/3/library/functions.html#int

   (10) https://docs.python.org/3/library/functions.html#int

   (11) https://docs.python.org/3/library/functions.html#int

   (12) https://docs.python.org/3/library/functions.html#int

   (13) https://docs.python.org/3/library/functions.html#int

   (14) https://docs.python.org/3/library/functions.html#int

   (15) https://docs.python.org/3/library/functions.html#int

   (16) https://docs.python.org/3/library/functions.html#int

   (17) https://docs.python.org/3/library/functions.html#int

   (18) https://docs.python.org/3/library/functions.html#int

   (19) https://docs.python.org/3/library/functions.html#int

   (20) https://docs.python.org/3/library/functions.html#int

   (21) https://docs.python.org/3/library/functions.html#int

   (22) https://docs.python.org/3/library/functions.html#int

   (23) https://docs.python.org/3/library/functions.html#int

   (24) https://docs.python.org/3/library/functions.html#int

   (25) https://docs.python.org/3/library/functions.html#int

   (26) https://docs.python.org/3/library/functions.html#int

   (27) https://docs.python.org/3/library/functions.html#int

   (28) https://docs.python.org/3/library/functions.html#int

   (29) https://docs.python.org/3/library/functions.html#int

   (30) https://docs.python.org/3/library/functions.html#int

   (31) https://docs.python.org/3/library/functions.html#int

   (32) https://docs.python.org/3/library/functions.html#int

   (33) https://docs.python.org/3/library/functions.html#int

   (34) https://docs.python.org/3/library/functions.html#int

   (35) https://docs.python.org/3/library/functions.html#int

   (36) https://docs.python.org/3/library/functions.html#int

   (37) https://docs.python.org/3/library/functions.html#int

   (38) https://docs.python.org/3/library/functions.html#int

   (39) https://docs.python.org/3/library/functions.html#int

   (40) https://docs.python.org/3/library/functions.html#int

   (41) https://docs.python.org/3/library/functions.html#int

   (42) https://docs.python.org/3/library/functions.html#int

   (43) https://docs.python.org/3/library/functions.html#int

   (44) https://docs.python.org/3/library/functions.html#int

   (45) https://docs.python.org/3/library/functions.html#int

   (46) https://docs.python.org/3/library/functions.html#int

   (47) https://docs.python.org/3/library/functions.html#int

   (48) https://docs.python.org/3/library/functions.html#int

   (49) https://docs.python.org/3/library/functions.html#int

   (50) https://docs.python.org/3/library/functions.html#int

   (51) https://docs.python.org/3/library/functions.html#int

   (52) https://docs.python.org/3/library/functions.html#int

   (53) https://docs.python.org/3/library/functions.html#int

   (54) https://docs.python.org/3/library/functions.html#int

   (55) https://docs.python.org/3/library/functions.html#int

   (56) https://docs.python.org/3/library/functions.html#int

   (57) https://docs.python.org/3/library/functions.html#int

   (58) https://docs.python.org/3/library/functions.html#int

   (59) https://docs.python.org/3/library/functions.html#int

   (60) https://docs.python.org/3/library/functions.html#int

   (61) https://docs.python.org/3/library/functions.html#int

   (62) https://docs.python.org/3/library/functions.html#int

   (63) https://docs.python.org/3/library/functions.html#int

   (64) https://docs.python.org/3/library/functions.html#int

   (65) https://docs.python.org/3/library/functions.html#int

   (66) https://docs.python.org/3/library/functions.html#int

   (67) https://docs.python.org/3/library/functions.html#int

   (68) https://docs.python.org/3/library/functions.html#int

   (69) https://docs.python.org/3/library/functions.html#int

   (70) https://docs.python.org/3/library/functions.html#int

   (71) https://docs.python.org/3/library/functions.html#int

   (72) https://docs.python.org/3/library/functions.html#int

   (73) https://docs.python.org/3/library/functions.html#int

   (74) https://docs.python.org/3/library/functions.html#int

   (75) https://docs.python.org/3/library/functions.html#int

   (76) https://docs.python.org/3/library/functions.html#int

   (77) https://docs.python.org/3/library/functions.html#int

   (78) https://docs.python.org/3/library/functions.html#int

   (79) https://docs.python.org/3/library/functions.html#int

   (80) https://docs.python.org/3/library/functions.html#int

   (81) https://docs.python.org/3/library/functions.html#int

   (82) https://docs.python.org/3/library/functions.html#int

   (83) https://docs.python.org/3/library/functions.html#int

   (84) https://docs.python.org/3/library/functions.html#int

   (85) https://docs.python.org/3/library/functions.html#int

   (86) https://docs.python.org/3/library/functions.html#int

   (87) https://docs.python.org/3/library/functions.html#int

   (88) https://docs.python.org/3/library/functions.html#int

   (89) https://docs.python.org/3/library/functions.html#int

   (90) https://docs.python.org/3/library/functions.html#int

   (91) https://docs.python.org/3/library/functions.html#int

   (92) https://docs.python.org/3/library/functions.html#int

   (93) https://docs.python.org/3/library/functions.html#int

   (94) https://docs.python.org/3/library/functions.html#int

   (95) https://docs.python.org/3/library/functions.html#int

   (96) https://docs.python.org/3/library/functions.html#int

   (97) https://docs.python.org/3/library/functions.html#int

   (98) https://docs.python.org/3/library/functions.html#int

   (99) https://docs.python.org/3/library/functions.html#int

   (100) https://docs.python.org/3/library/functions.html#int

   (101) https://docs.python.org/3/library/functions.html#int

   (102) https://docs.python.org/3/library/functions.html#int

   (103) https://docs.python.org/3/library/functions.html#int

   (104) https://docs.python.org/3/library/functions.html#int

   (105) https://docs.python.org/3/library/functions.html#int

   (106) https://docs.python.org/3/library/functions.html#int

   (107) https://docs.python.org/3/library/functions.html#int

   (108) https://docs.python.org/3/library/functions.html#int

   (109) https://docs.python.org/3/library/functions.html#int

   (110) https://docs.python.org/3/library/functions.html#int

   (111) https://docs.python.org/3/library/functions.html#int

   (112) https://docs.python.org/3/library/functions.html#int

   (113) https://docs.python.org/3/library/functions.html#int

   (114) https://docs.python.org/3/library/functions.html#int

   (115) https://docs.python.org/3/library/functions.html#int

   (116) https://docs.python.org/3/library/functions.html#int

   (117) https://docs.python.org/3/library/functions.html#int

   (118) https://docs.python.org/3/library/functions.html#int

   (119) https://docs.python.org/3/library/functions.html#int

   (120) https://docs.python.org/3/library/functions.html#int

   (121) https://docs.python.org/3/library/functions.html#int

   (122) https://docs.python.org/3/library/functions.html#int

   (123) https://docs.python.org/3/library/functions.html#int

   (124) https://docs.python.org/3/library/functions.html#int

   (125) https://docs.python.org/3/library/functions.html#int

   (126) https://docs.python.org/3/library/functions.html#int

   (127) https://docs.python.org/3/library/functions.html#int

   (128) https://docs.python.org/3/library/functions.html#int

   (129) https://docs.python.org/3/library/functions.html#int

   (130) https://docs.python.org/3/library/functions.html#int

   (131) https://docs.python.org/3/library/functions.html#int

   (132) https://docs.python.org/3/library/functions.html#int

   (133) https://docs.python.org/3/library/functions.html#int

   (134) https://docs.python.org/3/library/functions.html#int

   (135) https://docs.python.org/3/library/functions.html#int

   (136) https://docs.python.org/3/library/functions.html#int

   (137) https://docs.python.org/3/library/functions.html#int

   (138) https://docs.python.org/3/library/functions.html#int

   (139) https://docs.python.org/3/library/functions.html#int

   (140) https://docs.python.org/3/library/functions.html#int

   (141) https://docs.python.org/3/library/functions.html#int

   (142) https://docs.python.org/3/library/functions.html#int

   (143) https://docs.python.org/3/library/functions.html#int

   (144) https://docs.python.org/3/library/functions.html#int

   (145) https://docs.python.org/3/library/functions.html#int

   (146) https://docs.python.org/3/library/functions.html#int

   (147) https://docs.python.org/3/library/functions.html#int

   (148) https://docs.python.org/3/library/functions.html#int

   (149) https://docs.python.org/3/library/functions.html#int

   (150) https://docs.python.org/3/library/functions.html#int

   (151) https://docs.python.org/3/library/functions.html#int

   (152) https://docs.python.org/3/library/functions.html#int

   (153) https://docs.python.org/3/library/functions.html#int

   (154) https://docs.python.org/3/library/functions.html#int

   (155) https://docs.python.org/3/library/functions.html#int

   (156) https://docs.python.org/3/library/functions.html#int

   (157) https://docs.python.org/3/library/functions.html#int

   (158) https://docs.python.org/3/library/functions.html#int

   (159) https://docs.python.org/3/library/functions.html#int

   (160) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI UNDEFINED,  Next: mpi4py MPI ANY_SOURCE,  Prev: mpi4py MPI get_vendor,  Up: mpi4py MPI<2>

9.1.56 mpi4py.MPI.UNDEFINED
---------------------------

 -- Data: mpi4py.MPI.UNDEFINED: int(1) = UNDEFINED

     int(2) ‘UNDEFINED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ANY_SOURCE,  Next: mpi4py MPI ANY_TAG,  Prev: mpi4py MPI UNDEFINED,  Up: mpi4py MPI<2>

9.1.57 mpi4py.MPI.ANY_SOURCE
----------------------------

 -- Data: mpi4py.MPI.ANY_SOURCE: int(1) = ANY_SOURCE

     int(2) ‘ANY_SOURCE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ANY_TAG,  Next: mpi4py MPI PROC_NULL,  Prev: mpi4py MPI ANY_SOURCE,  Up: mpi4py MPI<2>

9.1.58 mpi4py.MPI.ANY_TAG
-------------------------

 -- Data: mpi4py.MPI.ANY_TAG: int(1) = ANY_TAG

     int(2) ‘ANY_TAG’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI PROC_NULL,  Next: mpi4py MPI ROOT,  Prev: mpi4py MPI ANY_TAG,  Up: mpi4py MPI<2>

9.1.59 mpi4py.MPI.PROC_NULL
---------------------------

 -- Data: mpi4py.MPI.PROC_NULL: int(1) = PROC_NULL

     int(2) ‘PROC_NULL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ROOT,  Next: mpi4py MPI BOTTOM,  Prev: mpi4py MPI PROC_NULL,  Up: mpi4py MPI<2>

9.1.60 mpi4py.MPI.ROOT
----------------------

 -- Data: mpi4py.MPI.ROOT: int(1) = ROOT

     int(2) ‘ROOT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI BOTTOM,  Next: mpi4py MPI IN_PLACE,  Prev: mpi4py MPI ROOT,  Up: mpi4py MPI<2>

9.1.61 mpi4py.MPI.BOTTOM
------------------------

 -- Data: mpi4py.MPI.BOTTOM: Bottom = BOTTOM

     ‘Bottom’ ‘BOTTOM’


File: mpi4py.info,  Node: mpi4py MPI IN_PLACE,  Next: mpi4py MPI KEYVAL_INVALID,  Prev: mpi4py MPI BOTTOM,  Up: mpi4py MPI<2>

9.1.62 mpi4py.MPI.IN_PLACE
--------------------------

 -- Data: mpi4py.MPI.IN_PLACE: InPlace = IN_PLACE

     ‘InPlace’ ‘IN_PLACE’


File: mpi4py.info,  Node: mpi4py MPI KEYVAL_INVALID,  Next: mpi4py MPI TAG_UB,  Prev: mpi4py MPI IN_PLACE,  Up: mpi4py MPI<2>

9.1.63 mpi4py.MPI.KEYVAL_INVALID
--------------------------------

 -- Data: mpi4py.MPI.KEYVAL_INVALID: int(1) = KEYVAL_INVALID

     int(2) ‘KEYVAL_INVALID’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI TAG_UB,  Next: mpi4py MPI HOST,  Prev: mpi4py MPI KEYVAL_INVALID,  Up: mpi4py MPI<2>

9.1.64 mpi4py.MPI.TAG_UB
------------------------

 -- Data: mpi4py.MPI.TAG_UB: int(1) = TAG_UB

     int(2) ‘TAG_UB’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI HOST,  Next: mpi4py MPI IO,  Prev: mpi4py MPI TAG_UB,  Up: mpi4py MPI<2>

9.1.65 mpi4py.MPI.HOST
----------------------

 -- Data: mpi4py.MPI.HOST: int(1) = HOST

     int(2) ‘HOST’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI IO,  Next: mpi4py MPI WTIME_IS_GLOBAL,  Prev: mpi4py MPI HOST,  Up: mpi4py MPI<2>

9.1.66 mpi4py.MPI.IO
--------------------

 -- Data: mpi4py.MPI.IO: int(1) = IO

     int(2) ‘IO’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WTIME_IS_GLOBAL,  Next: mpi4py MPI UNIVERSE_SIZE,  Prev: mpi4py MPI IO,  Up: mpi4py MPI<2>

9.1.67 mpi4py.MPI.WTIME_IS_GLOBAL
---------------------------------

 -- Data: mpi4py.MPI.WTIME_IS_GLOBAL: int(1) = WTIME_IS_GLOBAL

     int(2) ‘WTIME_IS_GLOBAL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI UNIVERSE_SIZE,  Next: mpi4py MPI APPNUM,  Prev: mpi4py MPI WTIME_IS_GLOBAL,  Up: mpi4py MPI<2>

9.1.68 mpi4py.MPI.UNIVERSE_SIZE
-------------------------------

 -- Data: mpi4py.MPI.UNIVERSE_SIZE: int(1) = UNIVERSE_SIZE

     int(2) ‘UNIVERSE_SIZE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI APPNUM,  Next: mpi4py MPI LASTUSEDCODE,  Prev: mpi4py MPI UNIVERSE_SIZE,  Up: mpi4py MPI<2>

9.1.69 mpi4py.MPI.APPNUM
------------------------

 -- Data: mpi4py.MPI.APPNUM: int(1) = APPNUM

     int(2) ‘APPNUM’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI LASTUSEDCODE,  Next: mpi4py MPI WIN_BASE,  Prev: mpi4py MPI APPNUM,  Up: mpi4py MPI<2>

9.1.70 mpi4py.MPI.LASTUSEDCODE
------------------------------

 -- Data: mpi4py.MPI.LASTUSEDCODE: int(1) = LASTUSEDCODE

     int(2) ‘LASTUSEDCODE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_BASE,  Next: mpi4py MPI WIN_SIZE,  Prev: mpi4py MPI LASTUSEDCODE,  Up: mpi4py MPI<2>

9.1.71 mpi4py.MPI.WIN_BASE
--------------------------

 -- Data: mpi4py.MPI.WIN_BASE: int(1) = WIN_BASE

     int(2) ‘WIN_BASE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_SIZE,  Next: mpi4py MPI WIN_DISP_UNIT,  Prev: mpi4py MPI WIN_BASE,  Up: mpi4py MPI<2>

9.1.72 mpi4py.MPI.WIN_SIZE
--------------------------

 -- Data: mpi4py.MPI.WIN_SIZE: int(1) = WIN_SIZE

     int(2) ‘WIN_SIZE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_DISP_UNIT,  Next: mpi4py MPI WIN_CREATE_FLAVOR,  Prev: mpi4py MPI WIN_SIZE,  Up: mpi4py MPI<2>

9.1.73 mpi4py.MPI.WIN_DISP_UNIT
-------------------------------

 -- Data: mpi4py.MPI.WIN_DISP_UNIT: int(1) = WIN_DISP_UNIT

     int(2) ‘WIN_DISP_UNIT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_CREATE_FLAVOR,  Next: mpi4py MPI WIN_FLAVOR,  Prev: mpi4py MPI WIN_DISP_UNIT,  Up: mpi4py MPI<2>

9.1.74 mpi4py.MPI.WIN_CREATE_FLAVOR
-----------------------------------

 -- Data: mpi4py.MPI.WIN_CREATE_FLAVOR: int(1) = WIN_CREATE_FLAVOR

     int(2) ‘WIN_CREATE_FLAVOR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_FLAVOR,  Next: mpi4py MPI WIN_MODEL,  Prev: mpi4py MPI WIN_CREATE_FLAVOR,  Up: mpi4py MPI<2>

9.1.75 mpi4py.MPI.WIN_FLAVOR
----------------------------

 -- Data: mpi4py.MPI.WIN_FLAVOR: int(1) = WIN_FLAVOR

     int(2) ‘WIN_FLAVOR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_MODEL,  Next: mpi4py MPI SUCCESS,  Prev: mpi4py MPI WIN_FLAVOR,  Up: mpi4py MPI<2>

9.1.76 mpi4py.MPI.WIN_MODEL
---------------------------

 -- Data: mpi4py.MPI.WIN_MODEL: int(1) = WIN_MODEL

     int(2) ‘WIN_MODEL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI SUCCESS,  Next: mpi4py MPI ERR_LASTCODE,  Prev: mpi4py MPI WIN_MODEL,  Up: mpi4py MPI<2>

9.1.77 mpi4py.MPI.SUCCESS
-------------------------

 -- Data: mpi4py.MPI.SUCCESS: int(1) = SUCCESS

     int(2) ‘SUCCESS’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_LASTCODE,  Next: mpi4py MPI ERR_COMM,  Prev: mpi4py MPI SUCCESS,  Up: mpi4py MPI<2>

9.1.78 mpi4py.MPI.ERR_LASTCODE
------------------------------

 -- Data: mpi4py.MPI.ERR_LASTCODE: int(1) = ERR_LASTCODE

     int(2) ‘ERR_LASTCODE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_COMM,  Next: mpi4py MPI ERR_GROUP,  Prev: mpi4py MPI ERR_LASTCODE,  Up: mpi4py MPI<2>

9.1.79 mpi4py.MPI.ERR_COMM
--------------------------

 -- Data: mpi4py.MPI.ERR_COMM: int(1) = ERR_COMM

     int(2) ‘ERR_COMM’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_GROUP,  Next: mpi4py MPI ERR_TYPE,  Prev: mpi4py MPI ERR_COMM,  Up: mpi4py MPI<2>

9.1.80 mpi4py.MPI.ERR_GROUP
---------------------------

 -- Data: mpi4py.MPI.ERR_GROUP: int(1) = ERR_GROUP

     int(2) ‘ERR_GROUP’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_TYPE,  Next: mpi4py MPI ERR_REQUEST,  Prev: mpi4py MPI ERR_GROUP,  Up: mpi4py MPI<2>

9.1.81 mpi4py.MPI.ERR_TYPE
--------------------------

 -- Data: mpi4py.MPI.ERR_TYPE: int(1) = ERR_TYPE

     int(2) ‘ERR_TYPE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_REQUEST,  Next: mpi4py MPI ERR_OP,  Prev: mpi4py MPI ERR_TYPE,  Up: mpi4py MPI<2>

9.1.82 mpi4py.MPI.ERR_REQUEST
-----------------------------

 -- Data: mpi4py.MPI.ERR_REQUEST: int(1) = ERR_REQUEST

     int(2) ‘ERR_REQUEST’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_OP,  Next: mpi4py MPI ERR_BUFFER,  Prev: mpi4py MPI ERR_REQUEST,  Up: mpi4py MPI<2>

9.1.83 mpi4py.MPI.ERR_OP
------------------------

 -- Data: mpi4py.MPI.ERR_OP: int(1) = ERR_OP

     int(2) ‘ERR_OP’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_BUFFER,  Next: mpi4py MPI ERR_COUNT,  Prev: mpi4py MPI ERR_OP,  Up: mpi4py MPI<2>

9.1.84 mpi4py.MPI.ERR_BUFFER
----------------------------

 -- Data: mpi4py.MPI.ERR_BUFFER: int(1) = ERR_BUFFER

     int(2) ‘ERR_BUFFER’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_COUNT,  Next: mpi4py MPI ERR_TAG,  Prev: mpi4py MPI ERR_BUFFER,  Up: mpi4py MPI<2>

9.1.85 mpi4py.MPI.ERR_COUNT
---------------------------

 -- Data: mpi4py.MPI.ERR_COUNT: int(1) = ERR_COUNT

     int(2) ‘ERR_COUNT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_TAG,  Next: mpi4py MPI ERR_RANK,  Prev: mpi4py MPI ERR_COUNT,  Up: mpi4py MPI<2>

9.1.86 mpi4py.MPI.ERR_TAG
-------------------------

 -- Data: mpi4py.MPI.ERR_TAG: int(1) = ERR_TAG

     int(2) ‘ERR_TAG’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_RANK,  Next: mpi4py MPI ERR_ROOT,  Prev: mpi4py MPI ERR_TAG,  Up: mpi4py MPI<2>

9.1.87 mpi4py.MPI.ERR_RANK
--------------------------

 -- Data: mpi4py.MPI.ERR_RANK: int(1) = ERR_RANK

     int(2) ‘ERR_RANK’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_ROOT,  Next: mpi4py MPI ERR_TRUNCATE,  Prev: mpi4py MPI ERR_RANK,  Up: mpi4py MPI<2>

9.1.88 mpi4py.MPI.ERR_ROOT
--------------------------

 -- Data: mpi4py.MPI.ERR_ROOT: int(1) = ERR_ROOT

     int(2) ‘ERR_ROOT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_TRUNCATE,  Next: mpi4py MPI ERR_IN_STATUS,  Prev: mpi4py MPI ERR_ROOT,  Up: mpi4py MPI<2>

9.1.89 mpi4py.MPI.ERR_TRUNCATE
------------------------------

 -- Data: mpi4py.MPI.ERR_TRUNCATE: int(1) = ERR_TRUNCATE

     int(2) ‘ERR_TRUNCATE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_IN_STATUS,  Next: mpi4py MPI ERR_PENDING,  Prev: mpi4py MPI ERR_TRUNCATE,  Up: mpi4py MPI<2>

9.1.90 mpi4py.MPI.ERR_IN_STATUS
-------------------------------

 -- Data: mpi4py.MPI.ERR_IN_STATUS: int(1) = ERR_IN_STATUS

     int(2) ‘ERR_IN_STATUS’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_PENDING,  Next: mpi4py MPI ERR_TOPOLOGY,  Prev: mpi4py MPI ERR_IN_STATUS,  Up: mpi4py MPI<2>

9.1.91 mpi4py.MPI.ERR_PENDING
-----------------------------

 -- Data: mpi4py.MPI.ERR_PENDING: int(1) = ERR_PENDING

     int(2) ‘ERR_PENDING’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_TOPOLOGY,  Next: mpi4py MPI ERR_DIMS,  Prev: mpi4py MPI ERR_PENDING,  Up: mpi4py MPI<2>

9.1.92 mpi4py.MPI.ERR_TOPOLOGY
------------------------------

 -- Data: mpi4py.MPI.ERR_TOPOLOGY: int(1) = ERR_TOPOLOGY

     int(2) ‘ERR_TOPOLOGY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_DIMS,  Next: mpi4py MPI ERR_ARG,  Prev: mpi4py MPI ERR_TOPOLOGY,  Up: mpi4py MPI<2>

9.1.93 mpi4py.MPI.ERR_DIMS
--------------------------

 -- Data: mpi4py.MPI.ERR_DIMS: int(1) = ERR_DIMS

     int(2) ‘ERR_DIMS’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_ARG,  Next: mpi4py MPI ERR_OTHER,  Prev: mpi4py MPI ERR_DIMS,  Up: mpi4py MPI<2>

9.1.94 mpi4py.MPI.ERR_ARG
-------------------------

 -- Data: mpi4py.MPI.ERR_ARG: int(1) = ERR_ARG

     int(2) ‘ERR_ARG’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_OTHER,  Next: mpi4py MPI ERR_UNKNOWN,  Prev: mpi4py MPI ERR_ARG,  Up: mpi4py MPI<2>

9.1.95 mpi4py.MPI.ERR_OTHER
---------------------------

 -- Data: mpi4py.MPI.ERR_OTHER: int(1) = ERR_OTHER

     int(2) ‘ERR_OTHER’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_UNKNOWN,  Next: mpi4py MPI ERR_INTERN,  Prev: mpi4py MPI ERR_OTHER,  Up: mpi4py MPI<2>

9.1.96 mpi4py.MPI.ERR_UNKNOWN
-----------------------------

 -- Data: mpi4py.MPI.ERR_UNKNOWN: int(1) = ERR_UNKNOWN

     int(2) ‘ERR_UNKNOWN’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_INTERN,  Next: mpi4py MPI ERR_INFO,  Prev: mpi4py MPI ERR_UNKNOWN,  Up: mpi4py MPI<2>

9.1.97 mpi4py.MPI.ERR_INTERN
----------------------------

 -- Data: mpi4py.MPI.ERR_INTERN: int(1) = ERR_INTERN

     int(2) ‘ERR_INTERN’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_INFO,  Next: mpi4py MPI ERR_FILE,  Prev: mpi4py MPI ERR_INTERN,  Up: mpi4py MPI<2>

9.1.98 mpi4py.MPI.ERR_INFO
--------------------------

 -- Data: mpi4py.MPI.ERR_INFO: int(1) = ERR_INFO

     int(2) ‘ERR_INFO’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_FILE,  Next: mpi4py MPI ERR_WIN,  Prev: mpi4py MPI ERR_INFO,  Up: mpi4py MPI<2>

9.1.99 mpi4py.MPI.ERR_FILE
--------------------------

 -- Data: mpi4py.MPI.ERR_FILE: int(1) = ERR_FILE

     int(2) ‘ERR_FILE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_WIN,  Next: mpi4py MPI ERR_KEYVAL,  Prev: mpi4py MPI ERR_FILE,  Up: mpi4py MPI<2>

9.1.100 mpi4py.MPI.ERR_WIN
--------------------------

 -- Data: mpi4py.MPI.ERR_WIN: int(1) = ERR_WIN

     int(2) ‘ERR_WIN’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_KEYVAL,  Next: mpi4py MPI ERR_INFO_KEY,  Prev: mpi4py MPI ERR_WIN,  Up: mpi4py MPI<2>

9.1.101 mpi4py.MPI.ERR_KEYVAL
-----------------------------

 -- Data: mpi4py.MPI.ERR_KEYVAL: int(1) = ERR_KEYVAL

     int(2) ‘ERR_KEYVAL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_INFO_KEY,  Next: mpi4py MPI ERR_INFO_VALUE,  Prev: mpi4py MPI ERR_KEYVAL,  Up: mpi4py MPI<2>

9.1.102 mpi4py.MPI.ERR_INFO_KEY
-------------------------------

 -- Data: mpi4py.MPI.ERR_INFO_KEY: int(1) = ERR_INFO_KEY

     int(2) ‘ERR_INFO_KEY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_INFO_VALUE,  Next: mpi4py MPI ERR_INFO_NOKEY,  Prev: mpi4py MPI ERR_INFO_KEY,  Up: mpi4py MPI<2>

9.1.103 mpi4py.MPI.ERR_INFO_VALUE
---------------------------------

 -- Data: mpi4py.MPI.ERR_INFO_VALUE: int(1) = ERR_INFO_VALUE

     int(2) ‘ERR_INFO_VALUE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_INFO_NOKEY,  Next: mpi4py MPI ERR_ACCESS,  Prev: mpi4py MPI ERR_INFO_VALUE,  Up: mpi4py MPI<2>

9.1.104 mpi4py.MPI.ERR_INFO_NOKEY
---------------------------------

 -- Data: mpi4py.MPI.ERR_INFO_NOKEY: int(1) = ERR_INFO_NOKEY

     int(2) ‘ERR_INFO_NOKEY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_ACCESS,  Next: mpi4py MPI ERR_AMODE,  Prev: mpi4py MPI ERR_INFO_NOKEY,  Up: mpi4py MPI<2>

9.1.105 mpi4py.MPI.ERR_ACCESS
-----------------------------

 -- Data: mpi4py.MPI.ERR_ACCESS: int(1) = ERR_ACCESS

     int(2) ‘ERR_ACCESS’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_AMODE,  Next: mpi4py MPI ERR_BAD_FILE,  Prev: mpi4py MPI ERR_ACCESS,  Up: mpi4py MPI<2>

9.1.106 mpi4py.MPI.ERR_AMODE
----------------------------

 -- Data: mpi4py.MPI.ERR_AMODE: int(1) = ERR_AMODE

     int(2) ‘ERR_AMODE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_BAD_FILE,  Next: mpi4py MPI ERR_FILE_EXISTS,  Prev: mpi4py MPI ERR_AMODE,  Up: mpi4py MPI<2>

9.1.107 mpi4py.MPI.ERR_BAD_FILE
-------------------------------

 -- Data: mpi4py.MPI.ERR_BAD_FILE: int(1) = ERR_BAD_FILE

     int(2) ‘ERR_BAD_FILE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_FILE_EXISTS,  Next: mpi4py MPI ERR_FILE_IN_USE,  Prev: mpi4py MPI ERR_BAD_FILE,  Up: mpi4py MPI<2>

9.1.108 mpi4py.MPI.ERR_FILE_EXISTS
----------------------------------

 -- Data: mpi4py.MPI.ERR_FILE_EXISTS: int(1) = ERR_FILE_EXISTS

     int(2) ‘ERR_FILE_EXISTS’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_FILE_IN_USE,  Next: mpi4py MPI ERR_NO_SPACE,  Prev: mpi4py MPI ERR_FILE_EXISTS,  Up: mpi4py MPI<2>

9.1.109 mpi4py.MPI.ERR_FILE_IN_USE
----------------------------------

 -- Data: mpi4py.MPI.ERR_FILE_IN_USE: int(1) = ERR_FILE_IN_USE

     int(2) ‘ERR_FILE_IN_USE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_NO_SPACE,  Next: mpi4py MPI ERR_NO_SUCH_FILE,  Prev: mpi4py MPI ERR_FILE_IN_USE,  Up: mpi4py MPI<2>

9.1.110 mpi4py.MPI.ERR_NO_SPACE
-------------------------------

 -- Data: mpi4py.MPI.ERR_NO_SPACE: int(1) = ERR_NO_SPACE

     int(2) ‘ERR_NO_SPACE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_NO_SUCH_FILE,  Next: mpi4py MPI ERR_IO,  Prev: mpi4py MPI ERR_NO_SPACE,  Up: mpi4py MPI<2>

9.1.111 mpi4py.MPI.ERR_NO_SUCH_FILE
-----------------------------------

 -- Data: mpi4py.MPI.ERR_NO_SUCH_FILE: int(1) = ERR_NO_SUCH_FILE

     int(2) ‘ERR_NO_SUCH_FILE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_IO,  Next: mpi4py MPI ERR_READ_ONLY,  Prev: mpi4py MPI ERR_NO_SUCH_FILE,  Up: mpi4py MPI<2>

9.1.112 mpi4py.MPI.ERR_IO
-------------------------

 -- Data: mpi4py.MPI.ERR_IO: int(1) = ERR_IO

     int(2) ‘ERR_IO’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_READ_ONLY,  Next: mpi4py MPI ERR_CONVERSION,  Prev: mpi4py MPI ERR_IO,  Up: mpi4py MPI<2>

9.1.113 mpi4py.MPI.ERR_READ_ONLY
--------------------------------

 -- Data: mpi4py.MPI.ERR_READ_ONLY: int(1) = ERR_READ_ONLY

     int(2) ‘ERR_READ_ONLY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_CONVERSION,  Next: mpi4py MPI ERR_DUP_DATAREP,  Prev: mpi4py MPI ERR_READ_ONLY,  Up: mpi4py MPI<2>

9.1.114 mpi4py.MPI.ERR_CONVERSION
---------------------------------

 -- Data: mpi4py.MPI.ERR_CONVERSION: int(1) = ERR_CONVERSION

     int(2) ‘ERR_CONVERSION’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_DUP_DATAREP,  Next: mpi4py MPI ERR_UNSUPPORTED_DATAREP,  Prev: mpi4py MPI ERR_CONVERSION,  Up: mpi4py MPI<2>

9.1.115 mpi4py.MPI.ERR_DUP_DATAREP
----------------------------------

 -- Data: mpi4py.MPI.ERR_DUP_DATAREP: int(1) = ERR_DUP_DATAREP

     int(2) ‘ERR_DUP_DATAREP’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_UNSUPPORTED_DATAREP,  Next: mpi4py MPI ERR_UNSUPPORTED_OPERATION,  Prev: mpi4py MPI ERR_DUP_DATAREP,  Up: mpi4py MPI<2>

9.1.116 mpi4py.MPI.ERR_UNSUPPORTED_DATAREP
------------------------------------------

 -- Data: mpi4py.MPI.ERR_UNSUPPORTED_DATAREP: int(1) =
          ERR_UNSUPPORTED_DATAREP

     int(2) ‘ERR_UNSUPPORTED_DATAREP’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_UNSUPPORTED_OPERATION,  Next: mpi4py MPI ERR_NAME,  Prev: mpi4py MPI ERR_UNSUPPORTED_DATAREP,  Up: mpi4py MPI<2>

9.1.117 mpi4py.MPI.ERR_UNSUPPORTED_OPERATION
--------------------------------------------

 -- Data: mpi4py.MPI.ERR_UNSUPPORTED_OPERATION: int(1) =
          ERR_UNSUPPORTED_OPERATION

     int(2) ‘ERR_UNSUPPORTED_OPERATION’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_NAME,  Next: mpi4py MPI ERR_NO_MEM,  Prev: mpi4py MPI ERR_UNSUPPORTED_OPERATION,  Up: mpi4py MPI<2>

9.1.118 mpi4py.MPI.ERR_NAME
---------------------------

 -- Data: mpi4py.MPI.ERR_NAME: int(1) = ERR_NAME

     int(2) ‘ERR_NAME’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_NO_MEM,  Next: mpi4py MPI ERR_NOT_SAME,  Prev: mpi4py MPI ERR_NAME,  Up: mpi4py MPI<2>

9.1.119 mpi4py.MPI.ERR_NO_MEM
-----------------------------

 -- Data: mpi4py.MPI.ERR_NO_MEM: int(1) = ERR_NO_MEM

     int(2) ‘ERR_NO_MEM’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_NOT_SAME,  Next: mpi4py MPI ERR_PORT,  Prev: mpi4py MPI ERR_NO_MEM,  Up: mpi4py MPI<2>

9.1.120 mpi4py.MPI.ERR_NOT_SAME
-------------------------------

 -- Data: mpi4py.MPI.ERR_NOT_SAME: int(1) = ERR_NOT_SAME

     int(2) ‘ERR_NOT_SAME’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_PORT,  Next: mpi4py MPI ERR_QUOTA,  Prev: mpi4py MPI ERR_NOT_SAME,  Up: mpi4py MPI<2>

9.1.121 mpi4py.MPI.ERR_PORT
---------------------------

 -- Data: mpi4py.MPI.ERR_PORT: int(1) = ERR_PORT

     int(2) ‘ERR_PORT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_QUOTA,  Next: mpi4py MPI ERR_SERVICE,  Prev: mpi4py MPI ERR_PORT,  Up: mpi4py MPI<2>

9.1.122 mpi4py.MPI.ERR_QUOTA
----------------------------

 -- Data: mpi4py.MPI.ERR_QUOTA: int(1) = ERR_QUOTA

     int(2) ‘ERR_QUOTA’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_SERVICE,  Next: mpi4py MPI ERR_SPAWN,  Prev: mpi4py MPI ERR_QUOTA,  Up: mpi4py MPI<2>

9.1.123 mpi4py.MPI.ERR_SERVICE
------------------------------

 -- Data: mpi4py.MPI.ERR_SERVICE: int(1) = ERR_SERVICE

     int(2) ‘ERR_SERVICE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_SPAWN,  Next: mpi4py MPI ERR_BASE,  Prev: mpi4py MPI ERR_SERVICE,  Up: mpi4py MPI<2>

9.1.124 mpi4py.MPI.ERR_SPAWN
----------------------------

 -- Data: mpi4py.MPI.ERR_SPAWN: int(1) = ERR_SPAWN

     int(2) ‘ERR_SPAWN’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_BASE,  Next: mpi4py MPI ERR_SIZE,  Prev: mpi4py MPI ERR_SPAWN,  Up: mpi4py MPI<2>

9.1.125 mpi4py.MPI.ERR_BASE
---------------------------

 -- Data: mpi4py.MPI.ERR_BASE: int(1) = ERR_BASE

     int(2) ‘ERR_BASE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_SIZE,  Next: mpi4py MPI ERR_DISP,  Prev: mpi4py MPI ERR_BASE,  Up: mpi4py MPI<2>

9.1.126 mpi4py.MPI.ERR_SIZE
---------------------------

 -- Data: mpi4py.MPI.ERR_SIZE: int(1) = ERR_SIZE

     int(2) ‘ERR_SIZE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_DISP,  Next: mpi4py MPI ERR_ASSERT,  Prev: mpi4py MPI ERR_SIZE,  Up: mpi4py MPI<2>

9.1.127 mpi4py.MPI.ERR_DISP
---------------------------

 -- Data: mpi4py.MPI.ERR_DISP: int(1) = ERR_DISP

     int(2) ‘ERR_DISP’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_ASSERT,  Next: mpi4py MPI ERR_LOCKTYPE,  Prev: mpi4py MPI ERR_DISP,  Up: mpi4py MPI<2>

9.1.128 mpi4py.MPI.ERR_ASSERT
-----------------------------

 -- Data: mpi4py.MPI.ERR_ASSERT: int(1) = ERR_ASSERT

     int(2) ‘ERR_ASSERT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_LOCKTYPE,  Next: mpi4py MPI ERR_RMA_CONFLICT,  Prev: mpi4py MPI ERR_ASSERT,  Up: mpi4py MPI<2>

9.1.129 mpi4py.MPI.ERR_LOCKTYPE
-------------------------------

 -- Data: mpi4py.MPI.ERR_LOCKTYPE: int(1) = ERR_LOCKTYPE

     int(2) ‘ERR_LOCKTYPE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_RMA_CONFLICT,  Next: mpi4py MPI ERR_RMA_SYNC,  Prev: mpi4py MPI ERR_LOCKTYPE,  Up: mpi4py MPI<2>

9.1.130 mpi4py.MPI.ERR_RMA_CONFLICT
-----------------------------------

 -- Data: mpi4py.MPI.ERR_RMA_CONFLICT: int(1) = ERR_RMA_CONFLICT

     int(2) ‘ERR_RMA_CONFLICT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_RMA_SYNC,  Next: mpi4py MPI ERR_RMA_RANGE,  Prev: mpi4py MPI ERR_RMA_CONFLICT,  Up: mpi4py MPI<2>

9.1.131 mpi4py.MPI.ERR_RMA_SYNC
-------------------------------

 -- Data: mpi4py.MPI.ERR_RMA_SYNC: int(1) = ERR_RMA_SYNC

     int(2) ‘ERR_RMA_SYNC’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_RMA_RANGE,  Next: mpi4py MPI ERR_RMA_ATTACH,  Prev: mpi4py MPI ERR_RMA_SYNC,  Up: mpi4py MPI<2>

9.1.132 mpi4py.MPI.ERR_RMA_RANGE
--------------------------------

 -- Data: mpi4py.MPI.ERR_RMA_RANGE: int(1) = ERR_RMA_RANGE

     int(2) ‘ERR_RMA_RANGE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_RMA_ATTACH,  Next: mpi4py MPI ERR_RMA_SHARED,  Prev: mpi4py MPI ERR_RMA_RANGE,  Up: mpi4py MPI<2>

9.1.133 mpi4py.MPI.ERR_RMA_ATTACH
---------------------------------

 -- Data: mpi4py.MPI.ERR_RMA_ATTACH: int(1) = ERR_RMA_ATTACH

     int(2) ‘ERR_RMA_ATTACH’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_RMA_SHARED,  Next: mpi4py MPI ERR_RMA_FLAVOR,  Prev: mpi4py MPI ERR_RMA_ATTACH,  Up: mpi4py MPI<2>

9.1.134 mpi4py.MPI.ERR_RMA_SHARED
---------------------------------

 -- Data: mpi4py.MPI.ERR_RMA_SHARED: int(1) = ERR_RMA_SHARED

     int(2) ‘ERR_RMA_SHARED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ERR_RMA_FLAVOR,  Next: mpi4py MPI ORDER_C,  Prev: mpi4py MPI ERR_RMA_SHARED,  Up: mpi4py MPI<2>

9.1.135 mpi4py.MPI.ERR_RMA_FLAVOR
---------------------------------

 -- Data: mpi4py.MPI.ERR_RMA_FLAVOR: int(1) = ERR_RMA_FLAVOR

     int(2) ‘ERR_RMA_FLAVOR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ORDER_C,  Next: mpi4py MPI ORDER_FORTRAN,  Prev: mpi4py MPI ERR_RMA_FLAVOR,  Up: mpi4py MPI<2>

9.1.136 mpi4py.MPI.ORDER_C
--------------------------

 -- Data: mpi4py.MPI.ORDER_C: int(1) = ORDER_C

     int(2) ‘ORDER_C’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ORDER_FORTRAN,  Next: mpi4py MPI ORDER_F,  Prev: mpi4py MPI ORDER_C,  Up: mpi4py MPI<2>

9.1.137 mpi4py.MPI.ORDER_FORTRAN
--------------------------------

 -- Data: mpi4py.MPI.ORDER_FORTRAN: int(1) = ORDER_FORTRAN

     int(2) ‘ORDER_FORTRAN’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI ORDER_F,  Next: mpi4py MPI TYPECLASS_INTEGER,  Prev: mpi4py MPI ORDER_FORTRAN,  Up: mpi4py MPI<2>

9.1.138 mpi4py.MPI.ORDER_F
--------------------------

 -- Data: mpi4py.MPI.ORDER_F: int(1) = ORDER_F

     int(2) ‘ORDER_F’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI TYPECLASS_INTEGER,  Next: mpi4py MPI TYPECLASS_REAL,  Prev: mpi4py MPI ORDER_F,  Up: mpi4py MPI<2>

9.1.139 mpi4py.MPI.TYPECLASS_INTEGER
------------------------------------

 -- Data: mpi4py.MPI.TYPECLASS_INTEGER: int(1) = TYPECLASS_INTEGER

     int(2) ‘TYPECLASS_INTEGER’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI TYPECLASS_REAL,  Next: mpi4py MPI TYPECLASS_COMPLEX,  Prev: mpi4py MPI TYPECLASS_INTEGER,  Up: mpi4py MPI<2>

9.1.140 mpi4py.MPI.TYPECLASS_REAL
---------------------------------

 -- Data: mpi4py.MPI.TYPECLASS_REAL: int(1) = TYPECLASS_REAL

     int(2) ‘TYPECLASS_REAL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI TYPECLASS_COMPLEX,  Next: mpi4py MPI DISTRIBUTE_NONE,  Prev: mpi4py MPI TYPECLASS_REAL,  Up: mpi4py MPI<2>

9.1.141 mpi4py.MPI.TYPECLASS_COMPLEX
------------------------------------

 -- Data: mpi4py.MPI.TYPECLASS_COMPLEX: int(1) = TYPECLASS_COMPLEX

     int(2) ‘TYPECLASS_COMPLEX’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DISTRIBUTE_NONE,  Next: mpi4py MPI DISTRIBUTE_BLOCK,  Prev: mpi4py MPI TYPECLASS_COMPLEX,  Up: mpi4py MPI<2>

9.1.142 mpi4py.MPI.DISTRIBUTE_NONE
----------------------------------

 -- Data: mpi4py.MPI.DISTRIBUTE_NONE: int(1) = DISTRIBUTE_NONE

     int(2) ‘DISTRIBUTE_NONE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DISTRIBUTE_BLOCK,  Next: mpi4py MPI DISTRIBUTE_CYCLIC,  Prev: mpi4py MPI DISTRIBUTE_NONE,  Up: mpi4py MPI<2>

9.1.143 mpi4py.MPI.DISTRIBUTE_BLOCK
-----------------------------------

 -- Data: mpi4py.MPI.DISTRIBUTE_BLOCK: int(1) = DISTRIBUTE_BLOCK

     int(2) ‘DISTRIBUTE_BLOCK’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DISTRIBUTE_CYCLIC,  Next: mpi4py MPI DISTRIBUTE_DFLT_DARG,  Prev: mpi4py MPI DISTRIBUTE_BLOCK,  Up: mpi4py MPI<2>

9.1.144 mpi4py.MPI.DISTRIBUTE_CYCLIC
------------------------------------

 -- Data: mpi4py.MPI.DISTRIBUTE_CYCLIC: int(1) = DISTRIBUTE_CYCLIC

     int(2) ‘DISTRIBUTE_CYCLIC’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DISTRIBUTE_DFLT_DARG,  Next: mpi4py MPI COMBINER_NAMED,  Prev: mpi4py MPI DISTRIBUTE_CYCLIC,  Up: mpi4py MPI<2>

9.1.145 mpi4py.MPI.DISTRIBUTE_DFLT_DARG
---------------------------------------

 -- Data: mpi4py.MPI.DISTRIBUTE_DFLT_DARG: int(1) = DISTRIBUTE_DFLT_DARG

     int(2) ‘DISTRIBUTE_DFLT_DARG’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_NAMED,  Next: mpi4py MPI COMBINER_DUP,  Prev: mpi4py MPI DISTRIBUTE_DFLT_DARG,  Up: mpi4py MPI<2>

9.1.146 mpi4py.MPI.COMBINER_NAMED
---------------------------------

 -- Data: mpi4py.MPI.COMBINER_NAMED: int(1) = COMBINER_NAMED

     int(2) ‘COMBINER_NAMED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_DUP,  Next: mpi4py MPI COMBINER_CONTIGUOUS,  Prev: mpi4py MPI COMBINER_NAMED,  Up: mpi4py MPI<2>

9.1.147 mpi4py.MPI.COMBINER_DUP
-------------------------------

 -- Data: mpi4py.MPI.COMBINER_DUP: int(1) = COMBINER_DUP

     int(2) ‘COMBINER_DUP’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_CONTIGUOUS,  Next: mpi4py MPI COMBINER_VECTOR,  Prev: mpi4py MPI COMBINER_DUP,  Up: mpi4py MPI<2>

9.1.148 mpi4py.MPI.COMBINER_CONTIGUOUS
--------------------------------------

 -- Data: mpi4py.MPI.COMBINER_CONTIGUOUS: int(1) = COMBINER_CONTIGUOUS

     int(2) ‘COMBINER_CONTIGUOUS’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_VECTOR,  Next: mpi4py MPI COMBINER_HVECTOR,  Prev: mpi4py MPI COMBINER_CONTIGUOUS,  Up: mpi4py MPI<2>

9.1.149 mpi4py.MPI.COMBINER_VECTOR
----------------------------------

 -- Data: mpi4py.MPI.COMBINER_VECTOR: int(1) = COMBINER_VECTOR

     int(2) ‘COMBINER_VECTOR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_HVECTOR,  Next: mpi4py MPI COMBINER_INDEXED,  Prev: mpi4py MPI COMBINER_VECTOR,  Up: mpi4py MPI<2>

9.1.150 mpi4py.MPI.COMBINER_HVECTOR
-----------------------------------

 -- Data: mpi4py.MPI.COMBINER_HVECTOR: int(1) = COMBINER_HVECTOR

     int(2) ‘COMBINER_HVECTOR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_INDEXED,  Next: mpi4py MPI COMBINER_HINDEXED,  Prev: mpi4py MPI COMBINER_HVECTOR,  Up: mpi4py MPI<2>

9.1.151 mpi4py.MPI.COMBINER_INDEXED
-----------------------------------

 -- Data: mpi4py.MPI.COMBINER_INDEXED: int(1) = COMBINER_INDEXED

     int(2) ‘COMBINER_INDEXED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_HINDEXED,  Next: mpi4py MPI COMBINER_INDEXED_BLOCK,  Prev: mpi4py MPI COMBINER_INDEXED,  Up: mpi4py MPI<2>

9.1.152 mpi4py.MPI.COMBINER_HINDEXED
------------------------------------

 -- Data: mpi4py.MPI.COMBINER_HINDEXED: int(1) = COMBINER_HINDEXED

     int(2) ‘COMBINER_HINDEXED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_INDEXED_BLOCK,  Next: mpi4py MPI COMBINER_HINDEXED_BLOCK,  Prev: mpi4py MPI COMBINER_HINDEXED,  Up: mpi4py MPI<2>

9.1.153 mpi4py.MPI.COMBINER_INDEXED_BLOCK
-----------------------------------------

 -- Data: mpi4py.MPI.COMBINER_INDEXED_BLOCK: int(1) =
          COMBINER_INDEXED_BLOCK

     int(2) ‘COMBINER_INDEXED_BLOCK’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_HINDEXED_BLOCK,  Next: mpi4py MPI COMBINER_STRUCT,  Prev: mpi4py MPI COMBINER_INDEXED_BLOCK,  Up: mpi4py MPI<2>

9.1.154 mpi4py.MPI.COMBINER_HINDEXED_BLOCK
------------------------------------------

 -- Data: mpi4py.MPI.COMBINER_HINDEXED_BLOCK: int(1) =
          COMBINER_HINDEXED_BLOCK

     int(2) ‘COMBINER_HINDEXED_BLOCK’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_STRUCT,  Next: mpi4py MPI COMBINER_SUBARRAY,  Prev: mpi4py MPI COMBINER_HINDEXED_BLOCK,  Up: mpi4py MPI<2>

9.1.155 mpi4py.MPI.COMBINER_STRUCT
----------------------------------

 -- Data: mpi4py.MPI.COMBINER_STRUCT: int(1) = COMBINER_STRUCT

     int(2) ‘COMBINER_STRUCT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_SUBARRAY,  Next: mpi4py MPI COMBINER_DARRAY,  Prev: mpi4py MPI COMBINER_STRUCT,  Up: mpi4py MPI<2>

9.1.156 mpi4py.MPI.COMBINER_SUBARRAY
------------------------------------

 -- Data: mpi4py.MPI.COMBINER_SUBARRAY: int(1) = COMBINER_SUBARRAY

     int(2) ‘COMBINER_SUBARRAY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_DARRAY,  Next: mpi4py MPI COMBINER_RESIZED,  Prev: mpi4py MPI COMBINER_SUBARRAY,  Up: mpi4py MPI<2>

9.1.157 mpi4py.MPI.COMBINER_DARRAY
----------------------------------

 -- Data: mpi4py.MPI.COMBINER_DARRAY: int(1) = COMBINER_DARRAY

     int(2) ‘COMBINER_DARRAY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_RESIZED,  Next: mpi4py MPI COMBINER_F90_REAL,  Prev: mpi4py MPI COMBINER_DARRAY,  Up: mpi4py MPI<2>

9.1.158 mpi4py.MPI.COMBINER_RESIZED
-----------------------------------

 -- Data: mpi4py.MPI.COMBINER_RESIZED: int(1) = COMBINER_RESIZED

     int(2) ‘COMBINER_RESIZED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_F90_REAL,  Next: mpi4py MPI COMBINER_F90_COMPLEX,  Prev: mpi4py MPI COMBINER_RESIZED,  Up: mpi4py MPI<2>

9.1.159 mpi4py.MPI.COMBINER_F90_REAL
------------------------------------

 -- Data: mpi4py.MPI.COMBINER_F90_REAL: int(1) = COMBINER_F90_REAL

     int(2) ‘COMBINER_F90_REAL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_F90_COMPLEX,  Next: mpi4py MPI COMBINER_F90_INTEGER,  Prev: mpi4py MPI COMBINER_F90_REAL,  Up: mpi4py MPI<2>

9.1.160 mpi4py.MPI.COMBINER_F90_COMPLEX
---------------------------------------

 -- Data: mpi4py.MPI.COMBINER_F90_COMPLEX: int(1) = COMBINER_F90_COMPLEX

     int(2) ‘COMBINER_F90_COMPLEX’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMBINER_F90_INTEGER,  Next: mpi4py MPI IDENT,  Prev: mpi4py MPI COMBINER_F90_COMPLEX,  Up: mpi4py MPI<2>

9.1.161 mpi4py.MPI.COMBINER_F90_INTEGER
---------------------------------------

 -- Data: mpi4py.MPI.COMBINER_F90_INTEGER: int(1) = COMBINER_F90_INTEGER

     int(2) ‘COMBINER_F90_INTEGER’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI IDENT,  Next: mpi4py MPI CONGRUENT,  Prev: mpi4py MPI COMBINER_F90_INTEGER,  Up: mpi4py MPI<2>

9.1.162 mpi4py.MPI.IDENT
------------------------

 -- Data: mpi4py.MPI.IDENT: int(1) = IDENT

     int(2) ‘IDENT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI CONGRUENT,  Next: mpi4py MPI SIMILAR,  Prev: mpi4py MPI IDENT,  Up: mpi4py MPI<2>

9.1.163 mpi4py.MPI.CONGRUENT
----------------------------

 -- Data: mpi4py.MPI.CONGRUENT: int(1) = CONGRUENT

     int(2) ‘CONGRUENT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI SIMILAR,  Next: mpi4py MPI UNEQUAL,  Prev: mpi4py MPI CONGRUENT,  Up: mpi4py MPI<2>

9.1.164 mpi4py.MPI.SIMILAR
--------------------------

 -- Data: mpi4py.MPI.SIMILAR: int(1) = SIMILAR

     int(2) ‘SIMILAR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI UNEQUAL,  Next: mpi4py MPI CART,  Prev: mpi4py MPI SIMILAR,  Up: mpi4py MPI<2>

9.1.165 mpi4py.MPI.UNEQUAL
--------------------------

 -- Data: mpi4py.MPI.UNEQUAL: int(1) = UNEQUAL

     int(2) ‘UNEQUAL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI CART,  Next: mpi4py MPI GRAPH,  Prev: mpi4py MPI UNEQUAL,  Up: mpi4py MPI<2>

9.1.166 mpi4py.MPI.CART
-----------------------

 -- Data: mpi4py.MPI.CART: int(1) = CART

     int(2) ‘CART’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI GRAPH,  Next: mpi4py MPI DIST_GRAPH,  Prev: mpi4py MPI CART,  Up: mpi4py MPI<2>

9.1.167 mpi4py.MPI.GRAPH
------------------------

 -- Data: mpi4py.MPI.GRAPH: int(1) = GRAPH

     int(2) ‘GRAPH’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DIST_GRAPH,  Next: mpi4py MPI UNWEIGHTED,  Prev: mpi4py MPI GRAPH,  Up: mpi4py MPI<2>

9.1.168 mpi4py.MPI.DIST_GRAPH
-----------------------------

 -- Data: mpi4py.MPI.DIST_GRAPH: int(1) = DIST_GRAPH

     int(2) ‘DIST_GRAPH’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI UNWEIGHTED,  Next: mpi4py MPI WEIGHTS_EMPTY,  Prev: mpi4py MPI DIST_GRAPH,  Up: mpi4py MPI<2>

9.1.169 mpi4py.MPI.UNWEIGHTED
-----------------------------

 -- Data: mpi4py.MPI.UNWEIGHTED: int(1) = UNWEIGHTED

     int(2) ‘UNWEIGHTED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WEIGHTS_EMPTY,  Next: mpi4py MPI COMM_TYPE_SHARED,  Prev: mpi4py MPI UNWEIGHTED,  Up: mpi4py MPI<2>

9.1.170 mpi4py.MPI.WEIGHTS_EMPTY
--------------------------------

 -- Data: mpi4py.MPI.WEIGHTS_EMPTY: int(1) = WEIGHTS_EMPTY

     int(2) ‘WEIGHTS_EMPTY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI COMM_TYPE_SHARED,  Next: mpi4py MPI BSEND_OVERHEAD,  Prev: mpi4py MPI WEIGHTS_EMPTY,  Up: mpi4py MPI<2>

9.1.171 mpi4py.MPI.COMM_TYPE_SHARED
-----------------------------------

 -- Data: mpi4py.MPI.COMM_TYPE_SHARED: int(1) = COMM_TYPE_SHARED

     int(2) ‘COMM_TYPE_SHARED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI BSEND_OVERHEAD,  Next: mpi4py MPI WIN_FLAVOR_CREATE,  Prev: mpi4py MPI COMM_TYPE_SHARED,  Up: mpi4py MPI<2>

9.1.172 mpi4py.MPI.BSEND_OVERHEAD
---------------------------------

 -- Data: mpi4py.MPI.BSEND_OVERHEAD: int(1) = BSEND_OVERHEAD

     int(2) ‘BSEND_OVERHEAD’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_FLAVOR_CREATE,  Next: mpi4py MPI WIN_FLAVOR_ALLOCATE,  Prev: mpi4py MPI BSEND_OVERHEAD,  Up: mpi4py MPI<2>

9.1.173 mpi4py.MPI.WIN_FLAVOR_CREATE
------------------------------------

 -- Data: mpi4py.MPI.WIN_FLAVOR_CREATE: int(1) = WIN_FLAVOR_CREATE

     int(2) ‘WIN_FLAVOR_CREATE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_FLAVOR_ALLOCATE,  Next: mpi4py MPI WIN_FLAVOR_DYNAMIC,  Prev: mpi4py MPI WIN_FLAVOR_CREATE,  Up: mpi4py MPI<2>

9.1.174 mpi4py.MPI.WIN_FLAVOR_ALLOCATE
--------------------------------------

 -- Data: mpi4py.MPI.WIN_FLAVOR_ALLOCATE: int(1) = WIN_FLAVOR_ALLOCATE

     int(2) ‘WIN_FLAVOR_ALLOCATE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_FLAVOR_DYNAMIC,  Next: mpi4py MPI WIN_FLAVOR_SHARED,  Prev: mpi4py MPI WIN_FLAVOR_ALLOCATE,  Up: mpi4py MPI<2>

9.1.175 mpi4py.MPI.WIN_FLAVOR_DYNAMIC
-------------------------------------

 -- Data: mpi4py.MPI.WIN_FLAVOR_DYNAMIC: int(1) = WIN_FLAVOR_DYNAMIC

     int(2) ‘WIN_FLAVOR_DYNAMIC’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_FLAVOR_SHARED,  Next: mpi4py MPI WIN_SEPARATE,  Prev: mpi4py MPI WIN_FLAVOR_DYNAMIC,  Up: mpi4py MPI<2>

9.1.176 mpi4py.MPI.WIN_FLAVOR_SHARED
------------------------------------

 -- Data: mpi4py.MPI.WIN_FLAVOR_SHARED: int(1) = WIN_FLAVOR_SHARED

     int(2) ‘WIN_FLAVOR_SHARED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_SEPARATE,  Next: mpi4py MPI WIN_UNIFIED,  Prev: mpi4py MPI WIN_FLAVOR_SHARED,  Up: mpi4py MPI<2>

9.1.177 mpi4py.MPI.WIN_SEPARATE
-------------------------------

 -- Data: mpi4py.MPI.WIN_SEPARATE: int(1) = WIN_SEPARATE

     int(2) ‘WIN_SEPARATE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI WIN_UNIFIED,  Next: mpi4py MPI MODE_NOCHECK,  Prev: mpi4py MPI WIN_SEPARATE,  Up: mpi4py MPI<2>

9.1.178 mpi4py.MPI.WIN_UNIFIED
------------------------------

 -- Data: mpi4py.MPI.WIN_UNIFIED: int(1) = WIN_UNIFIED

     int(2) ‘WIN_UNIFIED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_NOCHECK,  Next: mpi4py MPI MODE_NOSTORE,  Prev: mpi4py MPI WIN_UNIFIED,  Up: mpi4py MPI<2>

9.1.179 mpi4py.MPI.MODE_NOCHECK
-------------------------------

 -- Data: mpi4py.MPI.MODE_NOCHECK: int(1) = MODE_NOCHECK

     int(2) ‘MODE_NOCHECK’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_NOSTORE,  Next: mpi4py MPI MODE_NOPUT,  Prev: mpi4py MPI MODE_NOCHECK,  Up: mpi4py MPI<2>

9.1.180 mpi4py.MPI.MODE_NOSTORE
-------------------------------

 -- Data: mpi4py.MPI.MODE_NOSTORE: int(1) = MODE_NOSTORE

     int(2) ‘MODE_NOSTORE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_NOPUT,  Next: mpi4py MPI MODE_NOPRECEDE,  Prev: mpi4py MPI MODE_NOSTORE,  Up: mpi4py MPI<2>

9.1.181 mpi4py.MPI.MODE_NOPUT
-----------------------------

 -- Data: mpi4py.MPI.MODE_NOPUT: int(1) = MODE_NOPUT

     int(2) ‘MODE_NOPUT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_NOPRECEDE,  Next: mpi4py MPI MODE_NOSUCCEED,  Prev: mpi4py MPI MODE_NOPUT,  Up: mpi4py MPI<2>

9.1.182 mpi4py.MPI.MODE_NOPRECEDE
---------------------------------

 -- Data: mpi4py.MPI.MODE_NOPRECEDE: int(1) = MODE_NOPRECEDE

     int(2) ‘MODE_NOPRECEDE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_NOSUCCEED,  Next: mpi4py MPI LOCK_EXCLUSIVE,  Prev: mpi4py MPI MODE_NOPRECEDE,  Up: mpi4py MPI<2>

9.1.183 mpi4py.MPI.MODE_NOSUCCEED
---------------------------------

 -- Data: mpi4py.MPI.MODE_NOSUCCEED: int(1) = MODE_NOSUCCEED

     int(2) ‘MODE_NOSUCCEED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI LOCK_EXCLUSIVE,  Next: mpi4py MPI LOCK_SHARED,  Prev: mpi4py MPI MODE_NOSUCCEED,  Up: mpi4py MPI<2>

9.1.184 mpi4py.MPI.LOCK_EXCLUSIVE
---------------------------------

 -- Data: mpi4py.MPI.LOCK_EXCLUSIVE: int(1) = LOCK_EXCLUSIVE

     int(2) ‘LOCK_EXCLUSIVE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI LOCK_SHARED,  Next: mpi4py MPI MODE_RDONLY,  Prev: mpi4py MPI LOCK_EXCLUSIVE,  Up: mpi4py MPI<2>

9.1.185 mpi4py.MPI.LOCK_SHARED
------------------------------

 -- Data: mpi4py.MPI.LOCK_SHARED: int(1) = LOCK_SHARED

     int(2) ‘LOCK_SHARED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_RDONLY,  Next: mpi4py MPI MODE_WRONLY,  Prev: mpi4py MPI LOCK_SHARED,  Up: mpi4py MPI<2>

9.1.186 mpi4py.MPI.MODE_RDONLY
------------------------------

 -- Data: mpi4py.MPI.MODE_RDONLY: int(1) = MODE_RDONLY

     int(2) ‘MODE_RDONLY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_WRONLY,  Next: mpi4py MPI MODE_RDWR,  Prev: mpi4py MPI MODE_RDONLY,  Up: mpi4py MPI<2>

9.1.187 mpi4py.MPI.MODE_WRONLY
------------------------------

 -- Data: mpi4py.MPI.MODE_WRONLY: int(1) = MODE_WRONLY

     int(2) ‘MODE_WRONLY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_RDWR,  Next: mpi4py MPI MODE_CREATE,  Prev: mpi4py MPI MODE_WRONLY,  Up: mpi4py MPI<2>

9.1.188 mpi4py.MPI.MODE_RDWR
----------------------------

 -- Data: mpi4py.MPI.MODE_RDWR: int(1) = MODE_RDWR

     int(2) ‘MODE_RDWR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_CREATE,  Next: mpi4py MPI MODE_EXCL,  Prev: mpi4py MPI MODE_RDWR,  Up: mpi4py MPI<2>

9.1.189 mpi4py.MPI.MODE_CREATE
------------------------------

 -- Data: mpi4py.MPI.MODE_CREATE: int(1) = MODE_CREATE

     int(2) ‘MODE_CREATE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_EXCL,  Next: mpi4py MPI MODE_DELETE_ON_CLOSE,  Prev: mpi4py MPI MODE_CREATE,  Up: mpi4py MPI<2>

9.1.190 mpi4py.MPI.MODE_EXCL
----------------------------

 -- Data: mpi4py.MPI.MODE_EXCL: int(1) = MODE_EXCL

     int(2) ‘MODE_EXCL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_DELETE_ON_CLOSE,  Next: mpi4py MPI MODE_UNIQUE_OPEN,  Prev: mpi4py MPI MODE_EXCL,  Up: mpi4py MPI<2>

9.1.191 mpi4py.MPI.MODE_DELETE_ON_CLOSE
---------------------------------------

 -- Data: mpi4py.MPI.MODE_DELETE_ON_CLOSE: int(1) = MODE_DELETE_ON_CLOSE

     int(2) ‘MODE_DELETE_ON_CLOSE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_UNIQUE_OPEN,  Next: mpi4py MPI MODE_SEQUENTIAL,  Prev: mpi4py MPI MODE_DELETE_ON_CLOSE,  Up: mpi4py MPI<2>

9.1.192 mpi4py.MPI.MODE_UNIQUE_OPEN
-----------------------------------

 -- Data: mpi4py.MPI.MODE_UNIQUE_OPEN: int(1) = MODE_UNIQUE_OPEN

     int(2) ‘MODE_UNIQUE_OPEN’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_SEQUENTIAL,  Next: mpi4py MPI MODE_APPEND,  Prev: mpi4py MPI MODE_UNIQUE_OPEN,  Up: mpi4py MPI<2>

9.1.193 mpi4py.MPI.MODE_SEQUENTIAL
----------------------------------

 -- Data: mpi4py.MPI.MODE_SEQUENTIAL: int(1) = MODE_SEQUENTIAL

     int(2) ‘MODE_SEQUENTIAL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MODE_APPEND,  Next: mpi4py MPI SEEK_SET,  Prev: mpi4py MPI MODE_SEQUENTIAL,  Up: mpi4py MPI<2>

9.1.194 mpi4py.MPI.MODE_APPEND
------------------------------

 -- Data: mpi4py.MPI.MODE_APPEND: int(1) = MODE_APPEND

     int(2) ‘MODE_APPEND’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI SEEK_SET,  Next: mpi4py MPI SEEK_CUR,  Prev: mpi4py MPI MODE_APPEND,  Up: mpi4py MPI<2>

9.1.195 mpi4py.MPI.SEEK_SET
---------------------------

 -- Data: mpi4py.MPI.SEEK_SET: int(1) = SEEK_SET

     int(2) ‘SEEK_SET’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI SEEK_CUR,  Next: mpi4py MPI SEEK_END,  Prev: mpi4py MPI SEEK_SET,  Up: mpi4py MPI<2>

9.1.196 mpi4py.MPI.SEEK_CUR
---------------------------

 -- Data: mpi4py.MPI.SEEK_CUR: int(1) = SEEK_CUR

     int(2) ‘SEEK_CUR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI SEEK_END,  Next: mpi4py MPI DISPLACEMENT_CURRENT,  Prev: mpi4py MPI SEEK_CUR,  Up: mpi4py MPI<2>

9.1.197 mpi4py.MPI.SEEK_END
---------------------------

 -- Data: mpi4py.MPI.SEEK_END: int(1) = SEEK_END

     int(2) ‘SEEK_END’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DISPLACEMENT_CURRENT,  Next: mpi4py MPI DISP_CUR,  Prev: mpi4py MPI SEEK_END,  Up: mpi4py MPI<2>

9.1.198 mpi4py.MPI.DISPLACEMENT_CURRENT
---------------------------------------

 -- Data: mpi4py.MPI.DISPLACEMENT_CURRENT: int(1) = DISPLACEMENT_CURRENT

     int(2) ‘DISPLACEMENT_CURRENT’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DISP_CUR,  Next: mpi4py MPI THREAD_SINGLE,  Prev: mpi4py MPI DISPLACEMENT_CURRENT,  Up: mpi4py MPI<2>

9.1.199 mpi4py.MPI.DISP_CUR
---------------------------

 -- Data: mpi4py.MPI.DISP_CUR: int(1) = DISP_CUR

     int(2) ‘DISP_CUR’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI THREAD_SINGLE,  Next: mpi4py MPI THREAD_FUNNELED,  Prev: mpi4py MPI DISP_CUR,  Up: mpi4py MPI<2>

9.1.200 mpi4py.MPI.THREAD_SINGLE
--------------------------------

 -- Data: mpi4py.MPI.THREAD_SINGLE: int(1) = THREAD_SINGLE

     int(2) ‘THREAD_SINGLE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI THREAD_FUNNELED,  Next: mpi4py MPI THREAD_SERIALIZED,  Prev: mpi4py MPI THREAD_SINGLE,  Up: mpi4py MPI<2>

9.1.201 mpi4py.MPI.THREAD_FUNNELED
----------------------------------

 -- Data: mpi4py.MPI.THREAD_FUNNELED: int(1) = THREAD_FUNNELED

     int(2) ‘THREAD_FUNNELED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI THREAD_SERIALIZED,  Next: mpi4py MPI THREAD_MULTIPLE,  Prev: mpi4py MPI THREAD_FUNNELED,  Up: mpi4py MPI<2>

9.1.202 mpi4py.MPI.THREAD_SERIALIZED
------------------------------------

 -- Data: mpi4py.MPI.THREAD_SERIALIZED: int(1) = THREAD_SERIALIZED

     int(2) ‘THREAD_SERIALIZED’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI THREAD_MULTIPLE,  Next: mpi4py MPI VERSION,  Prev: mpi4py MPI THREAD_SERIALIZED,  Up: mpi4py MPI<2>

9.1.203 mpi4py.MPI.THREAD_MULTIPLE
----------------------------------

 -- Data: mpi4py.MPI.THREAD_MULTIPLE: int(1) = THREAD_MULTIPLE

     int(2) ‘THREAD_MULTIPLE’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI VERSION,  Next: mpi4py MPI SUBVERSION,  Prev: mpi4py MPI THREAD_MULTIPLE,  Up: mpi4py MPI<2>

9.1.204 mpi4py.MPI.VERSION
--------------------------

 -- Data: mpi4py.MPI.VERSION: int(1) = VERSION

     int(2) ‘VERSION’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI SUBVERSION,  Next: mpi4py MPI MAX_PROCESSOR_NAME,  Prev: mpi4py MPI VERSION,  Up: mpi4py MPI<2>

9.1.205 mpi4py.MPI.SUBVERSION
-----------------------------

 -- Data: mpi4py.MPI.SUBVERSION: int(1) = SUBVERSION

     int(2) ‘SUBVERSION’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_PROCESSOR_NAME,  Next: mpi4py MPI MAX_ERROR_STRING,  Prev: mpi4py MPI SUBVERSION,  Up: mpi4py MPI<2>

9.1.206 mpi4py.MPI.MAX_PROCESSOR_NAME
-------------------------------------

 -- Data: mpi4py.MPI.MAX_PROCESSOR_NAME: int(1) = MAX_PROCESSOR_NAME

     int(2) ‘MAX_PROCESSOR_NAME’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_ERROR_STRING,  Next: mpi4py MPI MAX_PORT_NAME,  Prev: mpi4py MPI MAX_PROCESSOR_NAME,  Up: mpi4py MPI<2>

9.1.207 mpi4py.MPI.MAX_ERROR_STRING
-----------------------------------

 -- Data: mpi4py.MPI.MAX_ERROR_STRING: int(1) = MAX_ERROR_STRING

     int(2) ‘MAX_ERROR_STRING’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_PORT_NAME,  Next: mpi4py MPI MAX_INFO_KEY,  Prev: mpi4py MPI MAX_ERROR_STRING,  Up: mpi4py MPI<2>

9.1.208 mpi4py.MPI.MAX_PORT_NAME
--------------------------------

 -- Data: mpi4py.MPI.MAX_PORT_NAME: int(1) = MAX_PORT_NAME

     int(2) ‘MAX_PORT_NAME’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_INFO_KEY,  Next: mpi4py MPI MAX_INFO_VAL,  Prev: mpi4py MPI MAX_PORT_NAME,  Up: mpi4py MPI<2>

9.1.209 mpi4py.MPI.MAX_INFO_KEY
-------------------------------

 -- Data: mpi4py.MPI.MAX_INFO_KEY: int(1) = MAX_INFO_KEY

     int(2) ‘MAX_INFO_KEY’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_INFO_VAL,  Next: mpi4py MPI MAX_OBJECT_NAME,  Prev: mpi4py MPI MAX_INFO_KEY,  Up: mpi4py MPI<2>

9.1.210 mpi4py.MPI.MAX_INFO_VAL
-------------------------------

 -- Data: mpi4py.MPI.MAX_INFO_VAL: int(1) = MAX_INFO_VAL

     int(2) ‘MAX_INFO_VAL’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_OBJECT_NAME,  Next: mpi4py MPI MAX_DATAREP_STRING,  Prev: mpi4py MPI MAX_INFO_VAL,  Up: mpi4py MPI<2>

9.1.211 mpi4py.MPI.MAX_OBJECT_NAME
----------------------------------

 -- Data: mpi4py.MPI.MAX_OBJECT_NAME: int(1) = MAX_OBJECT_NAME

     int(2) ‘MAX_OBJECT_NAME’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_DATAREP_STRING,  Next: mpi4py MPI MAX_LIBRARY_VERSION_STRING,  Prev: mpi4py MPI MAX_OBJECT_NAME,  Up: mpi4py MPI<2>

9.1.212 mpi4py.MPI.MAX_DATAREP_STRING
-------------------------------------

 -- Data: mpi4py.MPI.MAX_DATAREP_STRING: int(1) = MAX_DATAREP_STRING

     int(2) ‘MAX_DATAREP_STRING’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI MAX_LIBRARY_VERSION_STRING,  Next: mpi4py MPI DATATYPE_NULL,  Prev: mpi4py MPI MAX_DATAREP_STRING,  Up: mpi4py MPI<2>

9.1.213 mpi4py.MPI.MAX_LIBRARY_VERSION_STRING
---------------------------------------------

 -- Data: mpi4py.MPI.MAX_LIBRARY_VERSION_STRING: int(1) =
          MAX_LIBRARY_VERSION_STRING

     int(2) ‘MAX_LIBRARY_VERSION_STRING’

   ---------- Footnotes ----------

   (1) https://docs.python.org/3/library/functions.html#int

   (2) https://docs.python.org/3/library/functions.html#int


File: mpi4py.info,  Node: mpi4py MPI DATATYPE_NULL,  Next: mpi4py MPI UB,  Prev: mpi4py MPI MAX_LIBRARY_VERSION_STRING,  Up: mpi4py MPI<2>

9.1.214 mpi4py.MPI.DATATYPE_NULL
--------------------------------

 -- Data: mpi4py.MPI.DATATYPE_NULL: *note Datatype: c8. = DATATYPE_NULL

     *note Datatype: c8. ‘DATATYPE_NULL’


File: mpi4py.info,  Node: mpi4py MPI UB,  Next: mpi4py MPI LB,  Prev: mpi4py MPI DATATYPE_NULL,  Up: mpi4py MPI<2>

9.1.215 mpi4py.MPI.UB
---------------------

 -- Data: mpi4py.MPI.UB: *note Datatype: c8. = UB

     *note Datatype: c8. ‘UB’


File: mpi4py.info,  Node: mpi4py MPI LB,  Next: mpi4py MPI PACKED,  Prev: mpi4py MPI UB,  Up: mpi4py MPI<2>

9.1.216 mpi4py.MPI.LB
---------------------

 -- Data: mpi4py.MPI.LB: *note Datatype: c8. = LB

     *note Datatype: c8. ‘LB’


File: mpi4py.info,  Node: mpi4py MPI PACKED,  Next: mpi4py MPI BYTE,  Prev: mpi4py MPI LB,  Up: mpi4py MPI<2>

9.1.217 mpi4py.MPI.PACKED
-------------------------

 -- Data: mpi4py.MPI.PACKED: *note Datatype: c8. = PACKED

     *note Datatype: c8. ‘PACKED’


File: mpi4py.info,  Node: mpi4py MPI BYTE,  Next: mpi4py MPI AINT,  Prev: mpi4py MPI PACKED,  Up: mpi4py MPI<2>

9.1.218 mpi4py.MPI.BYTE
-----------------------

 -- Data: mpi4py.MPI.BYTE: *note Datatype: c8. = BYTE

     *note Datatype: c8. ‘BYTE’


File: mpi4py.info,  Node: mpi4py MPI AINT,  Next: mpi4py MPI OFFSET,  Prev: mpi4py MPI BYTE,  Up: mpi4py MPI<2>

9.1.219 mpi4py.MPI.AINT
-----------------------

 -- Data: mpi4py.MPI.AINT: *note Datatype: c8. = AINT

     *note Datatype: c8. ‘AINT’


File: mpi4py.info,  Node: mpi4py MPI OFFSET,  Next: mpi4py MPI COUNT,  Prev: mpi4py MPI AINT,  Up: mpi4py MPI<2>

9.1.220 mpi4py.MPI.OFFSET
-------------------------

 -- Data: mpi4py.MPI.OFFSET: *note Datatype: c8. = OFFSET

     *note Datatype: c8. ‘OFFSET’


File: mpi4py.info,  Node: mpi4py MPI COUNT,  Next: mpi4py MPI CHAR,  Prev: mpi4py MPI OFFSET,  Up: mpi4py MPI<2>

9.1.221 mpi4py.MPI.COUNT
------------------------

 -- Data: mpi4py.MPI.COUNT: *note Datatype: c8. = COUNT

     *note Datatype: c8. ‘COUNT’


File: mpi4py.info,  Node: mpi4py MPI CHAR,  Next: mpi4py MPI WCHAR,  Prev: mpi4py MPI COUNT,  Up: mpi4py MPI<2>

9.1.222 mpi4py.MPI.CHAR
-----------------------

 -- Data: mpi4py.MPI.CHAR: *note Datatype: c8. = CHAR

     *note Datatype: c8. ‘CHAR’


File: mpi4py.info,  Node: mpi4py MPI WCHAR,  Next: mpi4py MPI SIGNED_CHAR,  Prev: mpi4py MPI CHAR,  Up: mpi4py MPI<2>

9.1.223 mpi4py.MPI.WCHAR
------------------------

 -- Data: mpi4py.MPI.WCHAR: *note Datatype: c8. = WCHAR

     *note Datatype: c8. ‘WCHAR’


File: mpi4py.info,  Node: mpi4py MPI SIGNED_CHAR,  Next: mpi4py MPI SHORT,  Prev: mpi4py MPI WCHAR,  Up: mpi4py MPI<2>

9.1.224 mpi4py.MPI.SIGNED_CHAR
------------------------------

 -- Data: mpi4py.MPI.SIGNED_CHAR: *note Datatype: c8. = SIGNED_CHAR

     *note Datatype: c8. ‘SIGNED_CHAR’


File: mpi4py.info,  Node: mpi4py MPI SHORT,  Next: mpi4py MPI INT,  Prev: mpi4py MPI SIGNED_CHAR,  Up: mpi4py MPI<2>

9.1.225 mpi4py.MPI.SHORT
------------------------

 -- Data: mpi4py.MPI.SHORT: *note Datatype: c8. = SHORT

     *note Datatype: c8. ‘SHORT’


File: mpi4py.info,  Node: mpi4py MPI INT,  Next: mpi4py MPI LONG,  Prev: mpi4py MPI SHORT,  Up: mpi4py MPI<2>

9.1.226 mpi4py.MPI.INT
----------------------

 -- Data: mpi4py.MPI.INT: *note Datatype: c8. = INT

     *note Datatype: c8. ‘INT’


File: mpi4py.info,  Node: mpi4py MPI LONG,  Next: mpi4py MPI LONG_LONG,  Prev: mpi4py MPI INT,  Up: mpi4py MPI<2>

9.1.227 mpi4py.MPI.LONG
-----------------------

 -- Data: mpi4py.MPI.LONG: *note Datatype: c8. = LONG

     *note Datatype: c8. ‘LONG’


File: mpi4py.info,  Node: mpi4py MPI LONG_LONG,  Next: mpi4py MPI UNSIGNED_CHAR,  Prev: mpi4py MPI LONG,  Up: mpi4py MPI<2>

9.1.228 mpi4py.MPI.LONG_LONG
----------------------------

 -- Data: mpi4py.MPI.LONG_LONG: *note Datatype: c8. = LONG_LONG

     *note Datatype: c8. ‘LONG_LONG’


File: mpi4py.info,  Node: mpi4py MPI UNSIGNED_CHAR,  Next: mpi4py MPI UNSIGNED_SHORT,  Prev: mpi4py MPI LONG_LONG,  Up: mpi4py MPI<2>

9.1.229 mpi4py.MPI.UNSIGNED_CHAR
--------------------------------

 -- Data: mpi4py.MPI.UNSIGNED_CHAR: *note Datatype: c8. = UNSIGNED_CHAR

     *note Datatype: c8. ‘UNSIGNED_CHAR’


File: mpi4py.info,  Node: mpi4py MPI UNSIGNED_SHORT,  Next: mpi4py MPI UNSIGNED,  Prev: mpi4py MPI UNSIGNED_CHAR,  Up: mpi4py MPI<2>

9.1.230 mpi4py.MPI.UNSIGNED_SHORT
---------------------------------

 -- Data: mpi4py.MPI.UNSIGNED_SHORT: *note Datatype: c8. =
          UNSIGNED_SHORT

     *note Datatype: c8. ‘UNSIGNED_SHORT’


File: mpi4py.info,  Node: mpi4py MPI UNSIGNED,  Next: mpi4py MPI UNSIGNED_LONG,  Prev: mpi4py MPI UNSIGNED_SHORT,  Up: mpi4py MPI<2>

9.1.231 mpi4py.MPI.UNSIGNED
---------------------------

 -- Data: mpi4py.MPI.UNSIGNED: *note Datatype: c8. = UNSIGNED

     *note Datatype: c8. ‘UNSIGNED’


File: mpi4py.info,  Node: mpi4py MPI UNSIGNED_LONG,  Next: mpi4py MPI UNSIGNED_LONG_LONG,  Prev: mpi4py MPI UNSIGNED,  Up: mpi4py MPI<2>

9.1.232 mpi4py.MPI.UNSIGNED_LONG
--------------------------------

 -- Data: mpi4py.MPI.UNSIGNED_LONG: *note Datatype: c8. = UNSIGNED_LONG

     *note Datatype: c8. ‘UNSIGNED_LONG’


File: mpi4py.info,  Node: mpi4py MPI UNSIGNED_LONG_LONG,  Next: mpi4py MPI FLOAT,  Prev: mpi4py MPI UNSIGNED_LONG,  Up: mpi4py MPI<2>

9.1.233 mpi4py.MPI.UNSIGNED_LONG_LONG
-------------------------------------

 -- Data: mpi4py.MPI.UNSIGNED_LONG_LONG: *note Datatype: c8. =
          UNSIGNED_LONG_LONG

     *note Datatype: c8. ‘UNSIGNED_LONG_LONG’


File: mpi4py.info,  Node: mpi4py MPI FLOAT,  Next: mpi4py MPI DOUBLE,  Prev: mpi4py MPI UNSIGNED_LONG_LONG,  Up: mpi4py MPI<2>

9.1.234 mpi4py.MPI.FLOAT
------------------------

 -- Data: mpi4py.MPI.FLOAT: *note Datatype: c8. = FLOAT

     *note Datatype: c8. ‘FLOAT’


File: mpi4py.info,  Node: mpi4py MPI DOUBLE,  Next: mpi4py MPI LONG_DOUBLE,  Prev: mpi4py MPI FLOAT,  Up: mpi4py MPI<2>

9.1.235 mpi4py.MPI.DOUBLE
-------------------------

 -- Data: mpi4py.MPI.DOUBLE: *note Datatype: c8. = DOUBLE

     *note Datatype: c8. ‘DOUBLE’


File: mpi4py.info,  Node: mpi4py MPI LONG_DOUBLE,  Next: mpi4py MPI C_BOOL,  Prev: mpi4py MPI DOUBLE,  Up: mpi4py MPI<2>

9.1.236 mpi4py.MPI.LONG_DOUBLE
------------------------------

 -- Data: mpi4py.MPI.LONG_DOUBLE: *note Datatype: c8. = LONG_DOUBLE

     *note Datatype: c8. ‘LONG_DOUBLE’


File: mpi4py.info,  Node: mpi4py MPI C_BOOL,  Next: mpi4py MPI INT8_T,  Prev: mpi4py MPI LONG_DOUBLE,  Up: mpi4py MPI<2>

9.1.237 mpi4py.MPI.C_BOOL
-------------------------

 -- Data: mpi4py.MPI.C_BOOL: *note Datatype: c8. = C_BOOL

     *note Datatype: c8. ‘C_BOOL’


File: mpi4py.info,  Node: mpi4py MPI INT8_T,  Next: mpi4py MPI INT16_T,  Prev: mpi4py MPI C_BOOL,  Up: mpi4py MPI<2>

9.1.238 mpi4py.MPI.INT8_T
-------------------------

 -- Data: mpi4py.MPI.INT8_T: *note Datatype: c8. = INT8_T

     *note Datatype: c8. ‘INT8_T’


File: mpi4py.info,  Node: mpi4py MPI INT16_T,  Next: mpi4py MPI INT32_T,  Prev: mpi4py MPI INT8_T,  Up: mpi4py MPI<2>

9.1.239 mpi4py.MPI.INT16_T
--------------------------

 -- Data: mpi4py.MPI.INT16_T: *note Datatype: c8. = INT16_T

     *note Datatype: c8. ‘INT16_T’


File: mpi4py.info,  Node: mpi4py MPI INT32_T,  Next: mpi4py MPI INT64_T,  Prev: mpi4py MPI INT16_T,  Up: mpi4py MPI<2>

9.1.240 mpi4py.MPI.INT32_T
--------------------------

 -- Data: mpi4py.MPI.INT32_T: *note Datatype: c8. = INT32_T

     *note Datatype: c8. ‘INT32_T’


File: mpi4py.info,  Node: mpi4py MPI INT64_T,  Next: mpi4py MPI UINT8_T,  Prev: mpi4py MPI INT32_T,  Up: mpi4py MPI<2>

9.1.241 mpi4py.MPI.INT64_T
--------------------------

 -- Data: mpi4py.MPI.INT64_T: *note Datatype: c8. = INT64_T

     *note Datatype: c8. ‘INT64_T’


File: mpi4py.info,  Node: mpi4py MPI UINT8_T,  Next: mpi4py MPI UINT16_T,  Prev: mpi4py MPI INT64_T,  Up: mpi4py MPI<2>

9.1.242 mpi4py.MPI.UINT8_T
--------------------------

 -- Data: mpi4py.MPI.UINT8_T: *note Datatype: c8. = UINT8_T

     *note Datatype: c8. ‘UINT8_T’


File: mpi4py.info,  Node: mpi4py MPI UINT16_T,  Next: mpi4py MPI UINT32_T,  Prev: mpi4py MPI UINT8_T,  Up: mpi4py MPI<2>

9.1.243 mpi4py.MPI.UINT16_T
---------------------------

 -- Data: mpi4py.MPI.UINT16_T: *note Datatype: c8. = UINT16_T

     *note Datatype: c8. ‘UINT16_T’


File: mpi4py.info,  Node: mpi4py MPI UINT32_T,  Next: mpi4py MPI UINT64_T,  Prev: mpi4py MPI UINT16_T,  Up: mpi4py MPI<2>

9.1.244 mpi4py.MPI.UINT32_T
---------------------------

 -- Data: mpi4py.MPI.UINT32_T: *note Datatype: c8. = UINT32_T

     *note Datatype: c8. ‘UINT32_T’


File: mpi4py.info,  Node: mpi4py MPI UINT64_T,  Next: mpi4py MPI C_COMPLEX,  Prev: mpi4py MPI UINT32_T,  Up: mpi4py MPI<2>

9.1.245 mpi4py.MPI.UINT64_T
---------------------------

 -- Data: mpi4py.MPI.UINT64_T: *note Datatype: c8. = UINT64_T

     *note Datatype: c8. ‘UINT64_T’


File: mpi4py.info,  Node: mpi4py MPI C_COMPLEX,  Next: mpi4py MPI C_FLOAT_COMPLEX,  Prev: mpi4py MPI UINT64_T,  Up: mpi4py MPI<2>

9.1.246 mpi4py.MPI.C_COMPLEX
----------------------------

 -- Data: mpi4py.MPI.C_COMPLEX: *note Datatype: c8. = C_COMPLEX

     *note Datatype: c8. ‘C_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI C_FLOAT_COMPLEX,  Next: mpi4py MPI C_DOUBLE_COMPLEX,  Prev: mpi4py MPI C_COMPLEX,  Up: mpi4py MPI<2>

9.1.247 mpi4py.MPI.C_FLOAT_COMPLEX
----------------------------------

 -- Data: mpi4py.MPI.C_FLOAT_COMPLEX: *note Datatype: c8. =
          C_FLOAT_COMPLEX

     *note Datatype: c8. ‘C_FLOAT_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI C_DOUBLE_COMPLEX,  Next: mpi4py MPI C_LONG_DOUBLE_COMPLEX,  Prev: mpi4py MPI C_FLOAT_COMPLEX,  Up: mpi4py MPI<2>

9.1.248 mpi4py.MPI.C_DOUBLE_COMPLEX
-----------------------------------

 -- Data: mpi4py.MPI.C_DOUBLE_COMPLEX: *note Datatype: c8. =
          C_DOUBLE_COMPLEX

     *note Datatype: c8. ‘C_DOUBLE_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI C_LONG_DOUBLE_COMPLEX,  Next: mpi4py MPI CXX_BOOL,  Prev: mpi4py MPI C_DOUBLE_COMPLEX,  Up: mpi4py MPI<2>

9.1.249 mpi4py.MPI.C_LONG_DOUBLE_COMPLEX
----------------------------------------

 -- Data: mpi4py.MPI.C_LONG_DOUBLE_COMPLEX: *note Datatype: c8. =
          C_LONG_DOUBLE_COMPLEX

     *note Datatype: c8. ‘C_LONG_DOUBLE_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI CXX_BOOL,  Next: mpi4py MPI CXX_FLOAT_COMPLEX,  Prev: mpi4py MPI C_LONG_DOUBLE_COMPLEX,  Up: mpi4py MPI<2>

9.1.250 mpi4py.MPI.CXX_BOOL
---------------------------

 -- Data: mpi4py.MPI.CXX_BOOL: *note Datatype: c8. = CXX_BOOL

     *note Datatype: c8. ‘CXX_BOOL’


File: mpi4py.info,  Node: mpi4py MPI CXX_FLOAT_COMPLEX,  Next: mpi4py MPI CXX_DOUBLE_COMPLEX,  Prev: mpi4py MPI CXX_BOOL,  Up: mpi4py MPI<2>

9.1.251 mpi4py.MPI.CXX_FLOAT_COMPLEX
------------------------------------

 -- Data: mpi4py.MPI.CXX_FLOAT_COMPLEX: *note Datatype: c8. =
          CXX_FLOAT_COMPLEX

     *note Datatype: c8. ‘CXX_FLOAT_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI CXX_DOUBLE_COMPLEX,  Next: mpi4py MPI CXX_LONG_DOUBLE_COMPLEX,  Prev: mpi4py MPI CXX_FLOAT_COMPLEX,  Up: mpi4py MPI<2>

9.1.252 mpi4py.MPI.CXX_DOUBLE_COMPLEX
-------------------------------------

 -- Data: mpi4py.MPI.CXX_DOUBLE_COMPLEX: *note Datatype: c8. =
          CXX_DOUBLE_COMPLEX

     *note Datatype: c8. ‘CXX_DOUBLE_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI CXX_LONG_DOUBLE_COMPLEX,  Next: mpi4py MPI SHORT_INT,  Prev: mpi4py MPI CXX_DOUBLE_COMPLEX,  Up: mpi4py MPI<2>

9.1.253 mpi4py.MPI.CXX_LONG_DOUBLE_COMPLEX
------------------------------------------

 -- Data: mpi4py.MPI.CXX_LONG_DOUBLE_COMPLEX: *note Datatype: c8. =
          CXX_LONG_DOUBLE_COMPLEX

     *note Datatype: c8. ‘CXX_LONG_DOUBLE_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI SHORT_INT,  Next: mpi4py MPI INT_INT,  Prev: mpi4py MPI CXX_LONG_DOUBLE_COMPLEX,  Up: mpi4py MPI<2>

9.1.254 mpi4py.MPI.SHORT_INT
----------------------------

 -- Data: mpi4py.MPI.SHORT_INT: *note Datatype: c8. = SHORT_INT

     *note Datatype: c8. ‘SHORT_INT’


File: mpi4py.info,  Node: mpi4py MPI INT_INT,  Next: mpi4py MPI TWOINT,  Prev: mpi4py MPI SHORT_INT,  Up: mpi4py MPI<2>

9.1.255 mpi4py.MPI.INT_INT
--------------------------

 -- Data: mpi4py.MPI.INT_INT: *note Datatype: c8. = INT_INT

     *note Datatype: c8. ‘INT_INT’


File: mpi4py.info,  Node: mpi4py MPI TWOINT,  Next: mpi4py MPI LONG_INT,  Prev: mpi4py MPI INT_INT,  Up: mpi4py MPI<2>

9.1.256 mpi4py.MPI.TWOINT
-------------------------

 -- Data: mpi4py.MPI.TWOINT: *note Datatype: c8. = TWOINT

     *note Datatype: c8. ‘TWOINT’


File: mpi4py.info,  Node: mpi4py MPI LONG_INT,  Next: mpi4py MPI FLOAT_INT,  Prev: mpi4py MPI TWOINT,  Up: mpi4py MPI<2>

9.1.257 mpi4py.MPI.LONG_INT
---------------------------

 -- Data: mpi4py.MPI.LONG_INT: *note Datatype: c8. = LONG_INT

     *note Datatype: c8. ‘LONG_INT’


File: mpi4py.info,  Node: mpi4py MPI FLOAT_INT,  Next: mpi4py MPI DOUBLE_INT,  Prev: mpi4py MPI LONG_INT,  Up: mpi4py MPI<2>

9.1.258 mpi4py.MPI.FLOAT_INT
----------------------------

 -- Data: mpi4py.MPI.FLOAT_INT: *note Datatype: c8. = FLOAT_INT

     *note Datatype: c8. ‘FLOAT_INT’


File: mpi4py.info,  Node: mpi4py MPI DOUBLE_INT,  Next: mpi4py MPI LONG_DOUBLE_INT,  Prev: mpi4py MPI FLOAT_INT,  Up: mpi4py MPI<2>

9.1.259 mpi4py.MPI.DOUBLE_INT
-----------------------------

 -- Data: mpi4py.MPI.DOUBLE_INT: *note Datatype: c8. = DOUBLE_INT

     *note Datatype: c8. ‘DOUBLE_INT’


File: mpi4py.info,  Node: mpi4py MPI LONG_DOUBLE_INT,  Next: mpi4py MPI CHARACTER,  Prev: mpi4py MPI DOUBLE_INT,  Up: mpi4py MPI<2>

9.1.260 mpi4py.MPI.LONG_DOUBLE_INT
----------------------------------

 -- Data: mpi4py.MPI.LONG_DOUBLE_INT: *note Datatype: c8. =
          LONG_DOUBLE_INT

     *note Datatype: c8. ‘LONG_DOUBLE_INT’


File: mpi4py.info,  Node: mpi4py MPI CHARACTER,  Next: mpi4py MPI LOGICAL,  Prev: mpi4py MPI LONG_DOUBLE_INT,  Up: mpi4py MPI<2>

9.1.261 mpi4py.MPI.CHARACTER
----------------------------

 -- Data: mpi4py.MPI.CHARACTER: *note Datatype: c8. = CHARACTER

     *note Datatype: c8. ‘CHARACTER’


File: mpi4py.info,  Node: mpi4py MPI LOGICAL,  Next: mpi4py MPI INTEGER,  Prev: mpi4py MPI CHARACTER,  Up: mpi4py MPI<2>

9.1.262 mpi4py.MPI.LOGICAL
--------------------------

 -- Data: mpi4py.MPI.LOGICAL: *note Datatype: c8. = LOGICAL

     *note Datatype: c8. ‘LOGICAL’


File: mpi4py.info,  Node: mpi4py MPI INTEGER,  Next: mpi4py MPI REAL,  Prev: mpi4py MPI LOGICAL,  Up: mpi4py MPI<2>

9.1.263 mpi4py.MPI.INTEGER
--------------------------

 -- Data: mpi4py.MPI.INTEGER: *note Datatype: c8. = INTEGER

     *note Datatype: c8. ‘INTEGER’


File: mpi4py.info,  Node: mpi4py MPI REAL,  Next: mpi4py MPI DOUBLE_PRECISION,  Prev: mpi4py MPI INTEGER,  Up: mpi4py MPI<2>

9.1.264 mpi4py.MPI.REAL
-----------------------

 -- Data: mpi4py.MPI.REAL: *note Datatype: c8. = REAL

     *note Datatype: c8. ‘REAL’


File: mpi4py.info,  Node: mpi4py MPI DOUBLE_PRECISION,  Next: mpi4py MPI COMPLEX,  Prev: mpi4py MPI REAL,  Up: mpi4py MPI<2>

9.1.265 mpi4py.MPI.DOUBLE_PRECISION
-----------------------------------

 -- Data: mpi4py.MPI.DOUBLE_PRECISION: *note Datatype: c8. =
          DOUBLE_PRECISION

     *note Datatype: c8. ‘DOUBLE_PRECISION’


File: mpi4py.info,  Node: mpi4py MPI COMPLEX,  Next: mpi4py MPI DOUBLE_COMPLEX,  Prev: mpi4py MPI DOUBLE_PRECISION,  Up: mpi4py MPI<2>

9.1.266 mpi4py.MPI.COMPLEX
--------------------------

 -- Data: mpi4py.MPI.COMPLEX: *note Datatype: c8. = COMPLEX

     *note Datatype: c8. ‘COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI DOUBLE_COMPLEX,  Next: mpi4py MPI LOGICAL1,  Prev: mpi4py MPI COMPLEX,  Up: mpi4py MPI<2>

9.1.267 mpi4py.MPI.DOUBLE_COMPLEX
---------------------------------

 -- Data: mpi4py.MPI.DOUBLE_COMPLEX: *note Datatype: c8. =
          DOUBLE_COMPLEX

     *note Datatype: c8. ‘DOUBLE_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI LOGICAL1,  Next: mpi4py MPI LOGICAL2,  Prev: mpi4py MPI DOUBLE_COMPLEX,  Up: mpi4py MPI<2>

9.1.268 mpi4py.MPI.LOGICAL1
---------------------------

 -- Data: mpi4py.MPI.LOGICAL1: *note Datatype: c8. = LOGICAL1

     *note Datatype: c8. ‘LOGICAL1’


File: mpi4py.info,  Node: mpi4py MPI LOGICAL2,  Next: mpi4py MPI LOGICAL4,  Prev: mpi4py MPI LOGICAL1,  Up: mpi4py MPI<2>

9.1.269 mpi4py.MPI.LOGICAL2
---------------------------

 -- Data: mpi4py.MPI.LOGICAL2: *note Datatype: c8. = LOGICAL2

     *note Datatype: c8. ‘LOGICAL2’


File: mpi4py.info,  Node: mpi4py MPI LOGICAL4,  Next: mpi4py MPI LOGICAL8,  Prev: mpi4py MPI LOGICAL2,  Up: mpi4py MPI<2>

9.1.270 mpi4py.MPI.LOGICAL4
---------------------------

 -- Data: mpi4py.MPI.LOGICAL4: *note Datatype: c8. = LOGICAL4

     *note Datatype: c8. ‘LOGICAL4’


File: mpi4py.info,  Node: mpi4py MPI LOGICAL8,  Next: mpi4py MPI INTEGER1,  Prev: mpi4py MPI LOGICAL4,  Up: mpi4py MPI<2>

9.1.271 mpi4py.MPI.LOGICAL8
---------------------------

 -- Data: mpi4py.MPI.LOGICAL8: *note Datatype: c8. = LOGICAL8

     *note Datatype: c8. ‘LOGICAL8’


File: mpi4py.info,  Node: mpi4py MPI INTEGER1,  Next: mpi4py MPI INTEGER2,  Prev: mpi4py MPI LOGICAL8,  Up: mpi4py MPI<2>

9.1.272 mpi4py.MPI.INTEGER1
---------------------------

 -- Data: mpi4py.MPI.INTEGER1: *note Datatype: c8. = INTEGER1

     *note Datatype: c8. ‘INTEGER1’


File: mpi4py.info,  Node: mpi4py MPI INTEGER2,  Next: mpi4py MPI INTEGER4,  Prev: mpi4py MPI INTEGER1,  Up: mpi4py MPI<2>

9.1.273 mpi4py.MPI.INTEGER2
---------------------------

 -- Data: mpi4py.MPI.INTEGER2: *note Datatype: c8. = INTEGER2

     *note Datatype: c8. ‘INTEGER2’


File: mpi4py.info,  Node: mpi4py MPI INTEGER4,  Next: mpi4py MPI INTEGER8,  Prev: mpi4py MPI INTEGER2,  Up: mpi4py MPI<2>

9.1.274 mpi4py.MPI.INTEGER4
---------------------------

 -- Data: mpi4py.MPI.INTEGER4: *note Datatype: c8. = INTEGER4

     *note Datatype: c8. ‘INTEGER4’


File: mpi4py.info,  Node: mpi4py MPI INTEGER8,  Next: mpi4py MPI INTEGER16,  Prev: mpi4py MPI INTEGER4,  Up: mpi4py MPI<2>

9.1.275 mpi4py.MPI.INTEGER8
---------------------------

 -- Data: mpi4py.MPI.INTEGER8: *note Datatype: c8. = INTEGER8

     *note Datatype: c8. ‘INTEGER8’


File: mpi4py.info,  Node: mpi4py MPI INTEGER16,  Next: mpi4py MPI REAL2,  Prev: mpi4py MPI INTEGER8,  Up: mpi4py MPI<2>

9.1.276 mpi4py.MPI.INTEGER16
----------------------------

 -- Data: mpi4py.MPI.INTEGER16: *note Datatype: c8. = INTEGER16

     *note Datatype: c8. ‘INTEGER16’


File: mpi4py.info,  Node: mpi4py MPI REAL2,  Next: mpi4py MPI REAL4,  Prev: mpi4py MPI INTEGER16,  Up: mpi4py MPI<2>

9.1.277 mpi4py.MPI.REAL2
------------------------

 -- Data: mpi4py.MPI.REAL2: *note Datatype: c8. = REAL2

     *note Datatype: c8. ‘REAL2’


File: mpi4py.info,  Node: mpi4py MPI REAL4,  Next: mpi4py MPI REAL8,  Prev: mpi4py MPI REAL2,  Up: mpi4py MPI<2>

9.1.278 mpi4py.MPI.REAL4
------------------------

 -- Data: mpi4py.MPI.REAL4: *note Datatype: c8. = REAL4

     *note Datatype: c8. ‘REAL4’


File: mpi4py.info,  Node: mpi4py MPI REAL8,  Next: mpi4py MPI REAL16,  Prev: mpi4py MPI REAL4,  Up: mpi4py MPI<2>

9.1.279 mpi4py.MPI.REAL8
------------------------

 -- Data: mpi4py.MPI.REAL8: *note Datatype: c8. = REAL8

     *note Datatype: c8. ‘REAL8’


File: mpi4py.info,  Node: mpi4py MPI REAL16,  Next: mpi4py MPI COMPLEX4,  Prev: mpi4py MPI REAL8,  Up: mpi4py MPI<2>

9.1.280 mpi4py.MPI.REAL16
-------------------------

 -- Data: mpi4py.MPI.REAL16: *note Datatype: c8. = REAL16

     *note Datatype: c8. ‘REAL16’


File: mpi4py.info,  Node: mpi4py MPI COMPLEX4,  Next: mpi4py MPI COMPLEX8,  Prev: mpi4py MPI REAL16,  Up: mpi4py MPI<2>

9.1.281 mpi4py.MPI.COMPLEX4
---------------------------

 -- Data: mpi4py.MPI.COMPLEX4: *note Datatype: c8. = COMPLEX4

     *note Datatype: c8. ‘COMPLEX4’


File: mpi4py.info,  Node: mpi4py MPI COMPLEX8,  Next: mpi4py MPI COMPLEX16,  Prev: mpi4py MPI COMPLEX4,  Up: mpi4py MPI<2>

9.1.282 mpi4py.MPI.COMPLEX8
---------------------------

 -- Data: mpi4py.MPI.COMPLEX8: *note Datatype: c8. = COMPLEX8

     *note Datatype: c8. ‘COMPLEX8’


File: mpi4py.info,  Node: mpi4py MPI COMPLEX16,  Next: mpi4py MPI COMPLEX32,  Prev: mpi4py MPI COMPLEX8,  Up: mpi4py MPI<2>

9.1.283 mpi4py.MPI.COMPLEX16
----------------------------

 -- Data: mpi4py.MPI.COMPLEX16: *note Datatype: c8. = COMPLEX16

     *note Datatype: c8. ‘COMPLEX16’


File: mpi4py.info,  Node: mpi4py MPI COMPLEX32,  Next: mpi4py MPI UNSIGNED_INT,  Prev: mpi4py MPI COMPLEX16,  Up: mpi4py MPI<2>

9.1.284 mpi4py.MPI.COMPLEX32
----------------------------

 -- Data: mpi4py.MPI.COMPLEX32: *note Datatype: c8. = COMPLEX32

     *note Datatype: c8. ‘COMPLEX32’


File: mpi4py.info,  Node: mpi4py MPI UNSIGNED_INT,  Next: mpi4py MPI SIGNED_SHORT,  Prev: mpi4py MPI COMPLEX32,  Up: mpi4py MPI<2>

9.1.285 mpi4py.MPI.UNSIGNED_INT
-------------------------------

 -- Data: mpi4py.MPI.UNSIGNED_INT: *note Datatype: c8. = UNSIGNED_INT

     *note Datatype: c8. ‘UNSIGNED_INT’


File: mpi4py.info,  Node: mpi4py MPI SIGNED_SHORT,  Next: mpi4py MPI SIGNED_INT,  Prev: mpi4py MPI UNSIGNED_INT,  Up: mpi4py MPI<2>

9.1.286 mpi4py.MPI.SIGNED_SHORT
-------------------------------

 -- Data: mpi4py.MPI.SIGNED_SHORT: *note Datatype: c8. = SIGNED_SHORT

     *note Datatype: c8. ‘SIGNED_SHORT’


File: mpi4py.info,  Node: mpi4py MPI SIGNED_INT,  Next: mpi4py MPI SIGNED_LONG,  Prev: mpi4py MPI SIGNED_SHORT,  Up: mpi4py MPI<2>

9.1.287 mpi4py.MPI.SIGNED_INT
-----------------------------

 -- Data: mpi4py.MPI.SIGNED_INT: *note Datatype: c8. = SIGNED_INT

     *note Datatype: c8. ‘SIGNED_INT’


File: mpi4py.info,  Node: mpi4py MPI SIGNED_LONG,  Next: mpi4py MPI SIGNED_LONG_LONG,  Prev: mpi4py MPI SIGNED_INT,  Up: mpi4py MPI<2>

9.1.288 mpi4py.MPI.SIGNED_LONG
------------------------------

 -- Data: mpi4py.MPI.SIGNED_LONG: *note Datatype: c8. = SIGNED_LONG

     *note Datatype: c8. ‘SIGNED_LONG’


File: mpi4py.info,  Node: mpi4py MPI SIGNED_LONG_LONG,  Next: mpi4py MPI BOOL,  Prev: mpi4py MPI SIGNED_LONG,  Up: mpi4py MPI<2>

9.1.289 mpi4py.MPI.SIGNED_LONG_LONG
-----------------------------------

 -- Data: mpi4py.MPI.SIGNED_LONG_LONG: *note Datatype: c8. =
          SIGNED_LONG_LONG

     *note Datatype: c8. ‘SIGNED_LONG_LONG’


File: mpi4py.info,  Node: mpi4py MPI BOOL,  Next: mpi4py MPI SINT8_T,  Prev: mpi4py MPI SIGNED_LONG_LONG,  Up: mpi4py MPI<2>

9.1.290 mpi4py.MPI.BOOL
-----------------------

 -- Data: mpi4py.MPI.BOOL: *note Datatype: c8. = BOOL

     *note Datatype: c8. ‘BOOL’


File: mpi4py.info,  Node: mpi4py MPI SINT8_T,  Next: mpi4py MPI SINT16_T,  Prev: mpi4py MPI BOOL,  Up: mpi4py MPI<2>

9.1.291 mpi4py.MPI.SINT8_T
--------------------------

 -- Data: mpi4py.MPI.SINT8_T: *note Datatype: c8. = SINT8_T

     *note Datatype: c8. ‘SINT8_T’


File: mpi4py.info,  Node: mpi4py MPI SINT16_T,  Next: mpi4py MPI SINT32_T,  Prev: mpi4py MPI SINT8_T,  Up: mpi4py MPI<2>

9.1.292 mpi4py.MPI.SINT16_T
---------------------------

 -- Data: mpi4py.MPI.SINT16_T: *note Datatype: c8. = SINT16_T

     *note Datatype: c8. ‘SINT16_T’


File: mpi4py.info,  Node: mpi4py MPI SINT32_T,  Next: mpi4py MPI SINT64_T,  Prev: mpi4py MPI SINT16_T,  Up: mpi4py MPI<2>

9.1.293 mpi4py.MPI.SINT32_T
---------------------------

 -- Data: mpi4py.MPI.SINT32_T: *note Datatype: c8. = SINT32_T

     *note Datatype: c8. ‘SINT32_T’


File: mpi4py.info,  Node: mpi4py MPI SINT64_T,  Next: mpi4py MPI F_BOOL,  Prev: mpi4py MPI SINT32_T,  Up: mpi4py MPI<2>

9.1.294 mpi4py.MPI.SINT64_T
---------------------------

 -- Data: mpi4py.MPI.SINT64_T: *note Datatype: c8. = SINT64_T

     *note Datatype: c8. ‘SINT64_T’


File: mpi4py.info,  Node: mpi4py MPI F_BOOL,  Next: mpi4py MPI F_INT,  Prev: mpi4py MPI SINT64_T,  Up: mpi4py MPI<2>

9.1.295 mpi4py.MPI.F_BOOL
-------------------------

 -- Data: mpi4py.MPI.F_BOOL: *note Datatype: c8. = F_BOOL

     *note Datatype: c8. ‘F_BOOL’


File: mpi4py.info,  Node: mpi4py MPI F_INT,  Next: mpi4py MPI F_FLOAT,  Prev: mpi4py MPI F_BOOL,  Up: mpi4py MPI<2>

9.1.296 mpi4py.MPI.F_INT
------------------------

 -- Data: mpi4py.MPI.F_INT: *note Datatype: c8. = F_INT

     *note Datatype: c8. ‘F_INT’


File: mpi4py.info,  Node: mpi4py MPI F_FLOAT,  Next: mpi4py MPI F_DOUBLE,  Prev: mpi4py MPI F_INT,  Up: mpi4py MPI<2>

9.1.297 mpi4py.MPI.F_FLOAT
--------------------------

 -- Data: mpi4py.MPI.F_FLOAT: *note Datatype: c8. = F_FLOAT

     *note Datatype: c8. ‘F_FLOAT’


File: mpi4py.info,  Node: mpi4py MPI F_DOUBLE,  Next: mpi4py MPI F_COMPLEX,  Prev: mpi4py MPI F_FLOAT,  Up: mpi4py MPI<2>

9.1.298 mpi4py.MPI.F_DOUBLE
---------------------------

 -- Data: mpi4py.MPI.F_DOUBLE: *note Datatype: c8. = F_DOUBLE

     *note Datatype: c8. ‘F_DOUBLE’


File: mpi4py.info,  Node: mpi4py MPI F_COMPLEX,  Next: mpi4py MPI F_FLOAT_COMPLEX,  Prev: mpi4py MPI F_DOUBLE,  Up: mpi4py MPI<2>

9.1.299 mpi4py.MPI.F_COMPLEX
----------------------------

 -- Data: mpi4py.MPI.F_COMPLEX: *note Datatype: c8. = F_COMPLEX

     *note Datatype: c8. ‘F_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI F_FLOAT_COMPLEX,  Next: mpi4py MPI F_DOUBLE_COMPLEX,  Prev: mpi4py MPI F_COMPLEX,  Up: mpi4py MPI<2>

9.1.300 mpi4py.MPI.F_FLOAT_COMPLEX
----------------------------------

 -- Data: mpi4py.MPI.F_FLOAT_COMPLEX: *note Datatype: c8. =
          F_FLOAT_COMPLEX

     *note Datatype: c8. ‘F_FLOAT_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI F_DOUBLE_COMPLEX,  Next: mpi4py MPI REQUEST_NULL,  Prev: mpi4py MPI F_FLOAT_COMPLEX,  Up: mpi4py MPI<2>

9.1.301 mpi4py.MPI.F_DOUBLE_COMPLEX
-----------------------------------

 -- Data: mpi4py.MPI.F_DOUBLE_COMPLEX: *note Datatype: c8. =
          F_DOUBLE_COMPLEX

     *note Datatype: c8. ‘F_DOUBLE_COMPLEX’


File: mpi4py.info,  Node: mpi4py MPI REQUEST_NULL,  Next: mpi4py MPI MESSAGE_NULL,  Prev: mpi4py MPI F_DOUBLE_COMPLEX,  Up: mpi4py MPI<2>

9.1.302 mpi4py.MPI.REQUEST_NULL
-------------------------------

 -- Data: mpi4py.MPI.REQUEST_NULL: *note Request: 3f. = REQUEST_NULL

     *note Request: 3f. ‘REQUEST_NULL’


File: mpi4py.info,  Node: mpi4py MPI MESSAGE_NULL,  Next: mpi4py MPI MESSAGE_NO_PROC,  Prev: mpi4py MPI REQUEST_NULL,  Up: mpi4py MPI<2>

9.1.303 mpi4py.MPI.MESSAGE_NULL
-------------------------------

 -- Data: mpi4py.MPI.MESSAGE_NULL: *note Message: ce. = MESSAGE_NULL

     *note Message: ce. ‘MESSAGE_NULL’


File: mpi4py.info,  Node: mpi4py MPI MESSAGE_NO_PROC,  Next: mpi4py MPI OP_NULL,  Prev: mpi4py MPI MESSAGE_NULL,  Up: mpi4py MPI<2>

9.1.304 mpi4py.MPI.MESSAGE_NO_PROC
----------------------------------

 -- Data: mpi4py.MPI.MESSAGE_NO_PROC: *note Message: ce. =
          MESSAGE_NO_PROC

     *note Message: ce. ‘MESSAGE_NO_PROC’


File: mpi4py.info,  Node: mpi4py MPI OP_NULL,  Next: mpi4py MPI MAX,  Prev: mpi4py MPI MESSAGE_NO_PROC,  Up: mpi4py MPI<2>

9.1.305 mpi4py.MPI.OP_NULL
--------------------------

 -- Data: mpi4py.MPI.OP_NULL: *note Op: cb. = OP_NULL

     *note Op: cb. ‘OP_NULL’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI MAX,  Next: mpi4py MPI MIN,  Prev: mpi4py MPI OP_NULL,  Up: mpi4py MPI<2>

9.1.306 mpi4py.MPI.MAX
----------------------

 -- Data: mpi4py.MPI.MAX: *note Op: cb. = MAX

     *note Op: cb. ‘MAX’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI MIN,  Next: mpi4py MPI SUM,  Prev: mpi4py MPI MAX,  Up: mpi4py MPI<2>

9.1.307 mpi4py.MPI.MIN
----------------------

 -- Data: mpi4py.MPI.MIN: *note Op: cb. = MIN

     *note Op: cb. ‘MIN’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI SUM,  Next: mpi4py MPI PROD,  Prev: mpi4py MPI MIN,  Up: mpi4py MPI<2>

9.1.308 mpi4py.MPI.SUM
----------------------

 -- Data: mpi4py.MPI.SUM: *note Op: cb. = SUM

     *note Op: cb. ‘SUM’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI PROD,  Next: mpi4py MPI LAND,  Prev: mpi4py MPI SUM,  Up: mpi4py MPI<2>

9.1.309 mpi4py.MPI.PROD
-----------------------

 -- Data: mpi4py.MPI.PROD: *note Op: cb. = PROD

     *note Op: cb. ‘PROD’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI LAND,  Next: mpi4py MPI BAND,  Prev: mpi4py MPI PROD,  Up: mpi4py MPI<2>

9.1.310 mpi4py.MPI.LAND
-----------------------

 -- Data: mpi4py.MPI.LAND: *note Op: cb. = LAND

     *note Op: cb. ‘LAND’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI BAND,  Next: mpi4py MPI LOR,  Prev: mpi4py MPI LAND,  Up: mpi4py MPI<2>

9.1.311 mpi4py.MPI.BAND
-----------------------

 -- Data: mpi4py.MPI.BAND: *note Op: cb. = BAND

     *note Op: cb. ‘BAND’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI LOR,  Next: mpi4py MPI BOR,  Prev: mpi4py MPI BAND,  Up: mpi4py MPI<2>

9.1.312 mpi4py.MPI.LOR
----------------------

 -- Data: mpi4py.MPI.LOR: *note Op: cb. = LOR

     *note Op: cb. ‘LOR’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI BOR,  Next: mpi4py MPI LXOR,  Prev: mpi4py MPI LOR,  Up: mpi4py MPI<2>

9.1.313 mpi4py.MPI.BOR
----------------------

 -- Data: mpi4py.MPI.BOR: *note Op: cb. = BOR

     *note Op: cb. ‘BOR’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI LXOR,  Next: mpi4py MPI BXOR,  Prev: mpi4py MPI BOR,  Up: mpi4py MPI<2>

9.1.314 mpi4py.MPI.LXOR
-----------------------

 -- Data: mpi4py.MPI.LXOR: *note Op: cb. = LXOR

     *note Op: cb. ‘LXOR’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI BXOR,  Next: mpi4py MPI MAXLOC,  Prev: mpi4py MPI LXOR,  Up: mpi4py MPI<2>

9.1.315 mpi4py.MPI.BXOR
-----------------------

 -- Data: mpi4py.MPI.BXOR: *note Op: cb. = BXOR

     *note Op: cb. ‘BXOR’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI MAXLOC,  Next: mpi4py MPI MINLOC,  Prev: mpi4py MPI BXOR,  Up: mpi4py MPI<2>

9.1.316 mpi4py.MPI.MAXLOC
-------------------------

 -- Data: mpi4py.MPI.MAXLOC: *note Op: cb. = MAXLOC

     *note Op: cb. ‘MAXLOC’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI MINLOC,  Next: mpi4py MPI REPLACE,  Prev: mpi4py MPI MAXLOC,  Up: mpi4py MPI<2>

9.1.317 mpi4py.MPI.MINLOC
-------------------------

 -- Data: mpi4py.MPI.MINLOC: *note Op: cb. = MINLOC

     *note Op: cb. ‘MINLOC’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI REPLACE,  Next: mpi4py MPI NO_OP,  Prev: mpi4py MPI MINLOC,  Up: mpi4py MPI<2>

9.1.318 mpi4py.MPI.REPLACE
--------------------------

 -- Data: mpi4py.MPI.REPLACE: *note Op: cb. = REPLACE

     *note Op: cb. ‘REPLACE’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI NO_OP,  Next: mpi4py MPI GROUP_NULL,  Prev: mpi4py MPI REPLACE,  Up: mpi4py MPI<2>

9.1.319 mpi4py.MPI.NO_OP
------------------------

 -- Data: mpi4py.MPI.NO_OP: *note Op: cb. = NO_OP

     *note Op: cb. ‘NO_OP’


     Parameters:

        * ‘x’ (‘Any’) –

        * ‘y’ (‘Any’) –


     Return type: Any


File: mpi4py.info,  Node: mpi4py MPI GROUP_NULL,  Next: mpi4py MPI GROUP_EMPTY,  Prev: mpi4py MPI NO_OP,  Up: mpi4py MPI<2>

9.1.320 mpi4py.MPI.GROUP_NULL
-----------------------------

 -- Data: mpi4py.MPI.GROUP_NULL: *note Group: 24. = GROUP_NULL

     *note Group: 24. ‘GROUP_NULL’


File: mpi4py.info,  Node: mpi4py MPI GROUP_EMPTY,  Next: mpi4py MPI INFO_NULL,  Prev: mpi4py MPI GROUP_NULL,  Up: mpi4py MPI<2>

9.1.321 mpi4py.MPI.GROUP_EMPTY
------------------------------

 -- Data: mpi4py.MPI.GROUP_EMPTY: *note Group: 24. = GROUP_EMPTY

     *note Group: 24. ‘GROUP_EMPTY’


File: mpi4py.info,  Node: mpi4py MPI INFO_NULL,  Next: mpi4py MPI INFO_ENV,  Prev: mpi4py MPI GROUP_EMPTY,  Up: mpi4py MPI<2>

9.1.322 mpi4py.MPI.INFO_NULL
----------------------------

 -- Data: mpi4py.MPI.INFO_NULL: *note Info: cc. = INFO_NULL

     *note Info: cc. ‘INFO_NULL’


File: mpi4py.info,  Node: mpi4py MPI INFO_ENV,  Next: mpi4py MPI ERRHANDLER_NULL,  Prev: mpi4py MPI INFO_NULL,  Up: mpi4py MPI<2>

9.1.323 mpi4py.MPI.INFO_ENV
---------------------------

 -- Data: mpi4py.MPI.INFO_ENV: *note Info: cc. = INFO_ENV

     *note Info: cc. ‘INFO_ENV’


File: mpi4py.info,  Node: mpi4py MPI ERRHANDLER_NULL,  Next: mpi4py MPI ERRORS_RETURN,  Prev: mpi4py MPI INFO_ENV,  Up: mpi4py MPI<2>

9.1.324 mpi4py.MPI.ERRHANDLER_NULL
----------------------------------

 -- Data: mpi4py.MPI.ERRHANDLER_NULL: *note Errhandler: cf. =
          ERRHANDLER_NULL

     *note Errhandler: cf. ‘ERRHANDLER_NULL’


File: mpi4py.info,  Node: mpi4py MPI ERRORS_RETURN,  Next: mpi4py MPI ERRORS_ARE_FATAL,  Prev: mpi4py MPI ERRHANDLER_NULL,  Up: mpi4py MPI<2>

9.1.325 mpi4py.MPI.ERRORS_RETURN
--------------------------------

 -- Data: mpi4py.MPI.ERRORS_RETURN: *note Errhandler: cf. =
          ERRORS_RETURN

     *note Errhandler: cf. ‘ERRORS_RETURN’


File: mpi4py.info,  Node: mpi4py MPI ERRORS_ARE_FATAL,  Next: mpi4py MPI COMM_NULL,  Prev: mpi4py MPI ERRORS_RETURN,  Up: mpi4py MPI<2>

9.1.326 mpi4py.MPI.ERRORS_ARE_FATAL
-----------------------------------

 -- Data: mpi4py.MPI.ERRORS_ARE_FATAL: *note Errhandler: cf. =
          ERRORS_ARE_FATAL

     *note Errhandler: cf. ‘ERRORS_ARE_FATAL’


File: mpi4py.info,  Node: mpi4py MPI COMM_NULL,  Next: mpi4py MPI COMM_SELF,  Prev: mpi4py MPI ERRORS_ARE_FATAL,  Up: mpi4py MPI<2>

9.1.327 mpi4py.MPI.COMM_NULL
----------------------------

 -- Data: mpi4py.MPI.COMM_NULL: *note Comm: 1a. = COMM_NULL

     *note Comm: 1a. ‘COMM_NULL’


File: mpi4py.info,  Node: mpi4py MPI COMM_SELF,  Next: mpi4py MPI COMM_WORLD,  Prev: mpi4py MPI COMM_NULL,  Up: mpi4py MPI<2>

9.1.328 mpi4py.MPI.COMM_SELF
----------------------------

 -- Data: mpi4py.MPI.COMM_SELF: *note Intracomm: 1b. = COMM_SELF

     *note Intracomm: 1b. ‘COMM_SELF’


File: mpi4py.info,  Node: mpi4py MPI COMM_WORLD,  Next: mpi4py MPI WIN_NULL,  Prev: mpi4py MPI COMM_SELF,  Up: mpi4py MPI<2>

9.1.329 mpi4py.MPI.COMM_WORLD
-----------------------------

 -- Data: mpi4py.MPI.COMM_WORLD: *note Intracomm: 1b. = COMM_WORLD

     *note Intracomm: 1b. ‘COMM_WORLD’


File: mpi4py.info,  Node: mpi4py MPI WIN_NULL,  Next: mpi4py MPI FILE_NULL,  Prev: mpi4py MPI COMM_WORLD,  Up: mpi4py MPI<2>

9.1.330 mpi4py.MPI.WIN_NULL
---------------------------

 -- Data: mpi4py.MPI.WIN_NULL: *note Win: 72. = WIN_NULL

     *note Win: 72. ‘WIN_NULL’


File: mpi4py.info,  Node: mpi4py MPI FILE_NULL,  Next: mpi4py MPI pickle,  Prev: mpi4py MPI WIN_NULL,  Up: mpi4py MPI<2>

9.1.331 mpi4py.MPI.FILE_NULL
----------------------------

 -- Data: mpi4py.MPI.FILE_NULL: *note File: 80. = FILE_NULL

     *note File: 80. ‘FILE_NULL’


File: mpi4py.info,  Node: mpi4py MPI pickle,  Prev: mpi4py MPI FILE_NULL,  Up: mpi4py MPI<2>

9.1.332 mpi4py.MPI.pickle
-------------------------

 -- Data: mpi4py.MPI.pickle: *note Pickle: d0. = <mpi4py.MPI.Pickle
          object>

     *note Pickle: d0. ‘pickle’


File: mpi4py.info,  Node: Citation,  Next: Installation,  Prev: Reference,  Up: Top

10 Citation
***********

If MPI for Python been significant to a project that leads to an
academic publication, please acknowledge that fact by citing the
project.

   * L. Dalcin and Y.-L. L. Fang, ‘mpi4py: Status Update After 12 Years
     of Development’, Computing in Science & Engineering, 23(4):47-54,
     2021.  ‘https://doi.org/10.1109/MCSE.2021.3083216’

   * L. Dalcin, P. Kler, R. Paz, and A. Cosimo, ‘Parallel Distributed
     Computing using Python’, Advances in Water Resources,
     34(9):1124-1139, 2011.
     ‘https://doi.org/10.1016/j.advwatres.2011.04.013’

   * L. Dalcin, R. Paz, M. Storti, and J. D’Elia, ‘MPI for Python:
     performance improvements and MPI-2 extensions’, Journal of Parallel
     and Distributed Computing, 68(5):655-662, 2008.
     ‘https://doi.org/10.1016/j.jpdc.2007.09.005’

   * L. Dalcin, R. Paz, and M. Storti, ‘MPI for Python’, Journal of
     Parallel and Distributed Computing, 65(9):1108-1115, 2005.
     ‘https://doi.org/10.1016/j.jpdc.2005.03.010’


File: mpi4py.info,  Node: Installation,  Next: Appendix,  Prev: Citation,  Up: Top

11 Installation
***************

* Menu:

* Requirements::
* Using pip::
* Using distutils::
* Testing::


File: mpi4py.info,  Node: Requirements,  Next: Using pip,  Up: Installation

11.1 Requirements
=================

You need to have the following software properly installed in order to
build ‘MPI for Python’:

   * A working MPI implementation, preferably supporting MPI-3 and built
     with shared/dynamic libraries.

          Note: If you want to build some MPI implementation from
          sources, check the instructions at *note Building MPI from
          sources: 66c. in the appendix.

   * Python 2.7, 3.5 or above.

          Note: Some MPI-1 implementations ‘do require’ the actual
          command line arguments to be passed in ‘MPI_Init()’.  In this
          case, you will need to use a rebuilt, MPI-enabled, Python
          interpreter executable.  ‘MPI for Python’ has some support for
          alleviating you from this task.  Check the instructions at
          *note MPI-enabled Python interpreter: 66d. in the appendix.


File: mpi4py.info,  Node: Using pip,  Next: Using distutils,  Prev: Requirements,  Up: Installation

11.2 Using ‘pip’
================

If you already have a working MPI (either if you installed it from
sources or by using a pre-built package from your favourite GNU/Linux
distribution) and the ‘mpicc’ compiler wrapper is on your search path,
you can use ‘pip’:

     $ python -m pip install mpi4py

     Note: If the ‘mpicc’ compiler wrapper is not on your search path
     (or if it has a different name) you can use ‘env’ to pass the
     environment variable ‘MPICC’ providing the full path to the MPI
     compiler wrapper executable:

          $ env MPICC=/path/to/mpicc python -m pip install mpi4py

     Warning: ‘pip’ keeps previouly built wheel files on its cache for
     future reuse.  If you want to reinstall the *note mpi4py: 0.
     package using a different or updated MPI implementation, you have
     to either first remove the cached wheel file with:

          $ python -m pip cache remove mpi4py

     or ask ‘pip’ to disable the cache:

          $ python -m pip install --no-cache-dir mpi4py


File: mpi4py.info,  Node: Using distutils,  Next: Testing,  Prev: Using pip,  Up: Installation

11.3 Using ‘distutils’
======================

The ‘MPI for Python’ package is available for download at the project
website generously hosted by GitHub.  You can use ‘curl’ or ‘wget’ to
get a release tarball.

   * Using ‘curl’:

          $ curl -O https://github.com/mpi4py/mpi4py/releases/download/X.Y.Z/mpi4py-X.Y.Z.tar.gz

   * Using ‘wget’:

          $ wget https://github.com/mpi4py/mpi4py/releases/download/X.Y.Z/mpi4py-X.Y.Z.tar.gz

After unpacking the release tarball:

     $ tar -zxf mpi4py-X.Y.Z.tar.gz
     $ cd mpi4py-X.Y.Z

the package is ready for building.

‘MPI for Python’ uses a standard distutils-based build system.  However,
some distutils commands (like ‘build’) have additional options:

 -- Program Option: --mpicc=

     Lets you specify a special location or name for the ‘mpicc’
     compiler wrapper.

 -- Program Option: --mpi=

     Lets you pass a section with MPI configuration within a special
     configuration file.

 -- Program Option: --configure

     Runs exhaustive tests for checking about missing MPI types,
     constants, and functions.  This option should be passed in order to
     build ‘MPI for Python’ against old MPI-1 or MPI-2 implementations,
     possibly providing a subset of MPI-3.

If you use a MPI implementation providing a ‘mpicc’ compiler wrapper
(e.g., MPICH, Open MPI), it will be used for compilation and linking.
This is the preferred and easiest way of building ‘MPI for Python’.

If ‘mpicc’ is located somewhere in your search path, simply run the
‘build’ command:

     $ python setup.py build

If ‘mpicc’ is not in your search path or the compiler wrapper has a
different name, you can run the ‘build’ command specifying its location:

     $ python setup.py build --mpicc=/where/you/have/mpicc

Alternatively, you can provide all the relevant information about your
MPI implementation by editing the file called ‘mpi.cfg’.  You can use
the default section ‘[mpi]’ or add a new, custom section, for example
‘[other_mpi]’ (see the examples provided in the ‘mpi.cfg’ file as a
starting point to write your own section):

     [mpi]

     include_dirs         = /usr/local/mpi/include
     libraries            = mpi
     library_dirs         = /usr/local/mpi/lib
     runtime_library_dirs = /usr/local/mpi/lib

     [other_mpi]

     include_dirs         = /opt/mpi/include ...
     libraries            = mpi ...
     library_dirs         = /opt/mpi/lib ...
     runtime_library_dirs = /op/mpi/lib ...

     ...

and then run the ‘build’ command, perhaps specifying you custom
configuration section:

     $ python setup.py build --mpi=other_mpi

After building, the package is ready for install.

If you have root privileges (either by log-in as the root user of by
using ‘sudo’) and you want to install ‘MPI for Python’ in your system
for all users, just do:

     $ python setup.py install

The previous steps will install the *note mpi4py: 0. package at standard
location ‘`prefix'/lib/python`X'.`X'/site-packages’.

If you do not have root privileges or you want to install ‘MPI for
Python’ for your private use, just do:

     $ python setup.py install --user


File: mpi4py.info,  Node: Testing,  Prev: Using distutils,  Up: Installation

11.4 Testing
============

To quickly test the installation:

     $ mpiexec -n 5 python -m mpi4py.bench helloworld
     Hello, World! I am process 0 of 5 on localhost.
     Hello, World! I am process 1 of 5 on localhost.
     Hello, World! I am process 2 of 5 on localhost.
     Hello, World! I am process 3 of 5 on localhost.
     Hello, World! I am process 4 of 5 on localhost.

If you installed from source, issuing at the command line:

     $ mpiexec -n 5 python demo/helloworld.py

or (in the case of ancient MPI-1 implementations):

     $ mpirun -np 5 python `pwd`/demo/helloworld.py

will launch a five-process run of the Python interpreter and run the
test script ‘demo/helloworld.py’ from the source distribution.

You can also run all the ‘unittest’ scripts:

     $ mpiexec -n 5 python test/runtests.py

or, if you have nose(1) unit testing framework installed:

     $ mpiexec -n 5 nosetests -w test

or, if you have py.test(2) unit testing framework installed:

     $ mpiexec -n 5 py.test test/

   ---------- Footnotes ----------

   (1) https://nose.readthedocs.io/

   (2) https://docs.pytest.org/


File: mpi4py.info,  Node: Appendix,  Next: Python Module Index,  Prev: Installation,  Up: Top

12 Appendix
***********

* Menu:

* MPI-enabled Python interpreter::
* Building MPI from sources::


File: mpi4py.info,  Node: MPI-enabled Python interpreter,  Next: Building MPI from sources,  Up: Appendix

12.1 MPI-enabled Python interpreter
===================================

          Warning: These days it is no longer required to use the
          MPI-enabled Python interpreter in most cases, and, therefore,
          it is not built by default anymore because it is too difficult
          to reliably build a Python interpreter across different
          distributions.  If you know that you still ‘really’ need it,
          see below on how to use the ‘build_exe’ and ‘install_exe’
          commands.

Some MPI-1 implementations (notably, MPICH 1) ‘do require’ the actual
command line arguments to be passed at the time ‘MPI_Init()’ is called.
In this case, you will need to use a re-built, MPI-enabled, Python
interpreter binary executable.  A basic implementation (targeting Python
2.X) of what is required is shown below:

     #include <Python.h>
     #include <mpi.h>

     int main(int argc, char *argv[])
     {
        int status, flag;
        MPI_Init(&argc, &argv);
        status = Py_Main(argc, argv);
        MPI_Finalized(&flag);
        if (!flag) MPI_Finalize();
        return status;
     }

The source code above is straightforward; compiling it should also be.
However, the linking step is more tricky: special flags have to be
passed to the linker depending on your platform.  In order to alleviate
you for such low-level details, ‘MPI for Python’ provides some
pure-distutils based support to build and install an MPI-enabled Python
interpreter executable:

     $ cd mpi4py-X.X.X
     $ python setup.py build_exe [--mpi=<name>|--mpicc=/path/to/mpicc]
     $ [sudo] python setup.py install_exe [--install-dir=$HOME/bin]

After the above steps you should have the MPI-enabled interpreter
installed as ‘`prefix'/bin/python`X'.`X'-mpi’ (or
‘$HOME/bin/python`X'.`X'-mpi’).  Assuming that ‘`prefix'/bin’ (or
‘$HOME/bin’) is listed on your ‘PATH’, you should be able to enter your
MPI-enabled Python interactively, for example:

     $ python2.7-mpi
     Python 2.7.8 (default, Nov 10 2014, 08:19:18)
     [GCC 4.9.2 20141101 (Red Hat 4.9.2-1)] on linux2
     Type "help", "copyright", "credits" or "license" for more information.
     >>> import sys
     >>> sys.executable
     '/usr/bin/python2.7-mpi'
     >>>


File: mpi4py.info,  Node: Building MPI from sources,  Prev: MPI-enabled Python interpreter,  Up: Appendix

12.2 Building MPI from sources
==============================

In the list below you have some executive instructions for building some
of the open-source MPI implementations out there with support for
shared/dynamic libraries on POSIX environments.

   + ‘MPICH’

          $ tar -zxf mpich-X.X.X.tar.gz
          $ cd mpich-X.X.X
          $ ./configure --enable-shared --prefix=/usr/local/mpich
          $ make
          $ make install

   + ‘Open MPI’

          $ tar -zxf openmpi-X.X.X tar.gz
          $ cd openmpi-X.X.X
          $ ./configure --prefix=/usr/local/openmpi
          $ make all
          $ make install

   + ‘MPICH 1’

          $ tar -zxf mpich-X.X.X.tar.gz
          $ cd mpich-X.X.X
          $ ./configure --enable-sharedlib --prefix=/usr/local/mpich1
          $ make
          $ make install

Perhaps you will need to set the ‘LD_LIBRARY_PATH’ environment variable
(using ‘export’, ‘setenv’ or what applies to your system) pointing to
the directory containing the MPI libraries .  In case of getting runtime
linking errors when running MPI programs, the following lines can be
added to the user login shell script (‘.profile’, ‘.bashrc’, etc.).

   - ‘MPICH’

          MPI_DIR=/usr/local/mpich
          export LD_LIBRARY_PATH=$MPI_DIR/lib:$LD_LIBRARY_PATH

   - ‘Open MPI’

          MPI_DIR=/usr/local/openmpi
          export LD_LIBRARY_PATH=$MPI_DIR/lib:$LD_LIBRARY_PATH

   - ‘MPICH 1’

          MPI_DIR=/usr/local/mpich1
          export LD_LIBRARY_PATH=$MPI_DIR/lib/shared:$LD_LIBRARY_PATH:
          export MPICH_USE_SHLIB=yes

          Warning: MPICH 1 support for dynamic libraries is not
          completely transparent.  Users should set the environment
          variable ‘MPICH_USE_SHLIB’ to ‘yes’ in order to avoid link
          problems when using the ‘mpicc’ compiler wrapper.


File: mpi4py.info,  Node: Python Module Index,  Next: Index,  Prev: Appendix,  Up: Top

Python Module Index
*******************

* Menu:

* mpi4py: 0. The MPI for Python package.
* mpi4py.futures: 1. Execute computations concurrently using MPI processes.
* mpi4py.MPI: 2. Message Passing Interface.
* mpi4py.run: 3. Run Python code using ‘‘-m mpi4py‘‘.
* mpi4py.util: 4. Miscellaneous utilities.
* mpi4py.util.dtlib: 5. Convert NumPy and MPI datatypes.
* mpi4py.util.pkl5: 6. Pickle-based communication using protocol 5.


File: mpi4py.info,  Node: Index,  Prev: Python Module Index,  Up: Top

Index
*****

[index]
* Menu:

* __init__() (mpi4py.MPI.Pickle method): mpi4py MPI Pickle.  (line   23)
* __new__() (mpi4py.MPI.Cartcomm static method): mpi4py MPI Cartcomm.
                                                             (line   18)
* __new__() (mpi4py.MPI.Comm static method): mpi4py MPI Comm.
                                                             (line   18)
* __new__() (mpi4py.MPI.Datatype static method): mpi4py MPI Datatype.
                                                             (line   18)
* __new__() (mpi4py.MPI.Distgraphcomm static method): mpi4py MPI Distgraphcomm.
                                                             (line   18)
* __new__() (mpi4py.MPI.Errhandler static method): mpi4py MPI Errhandler.
                                                             (line   18)
* __new__() (mpi4py.MPI.Exception static method): mpi4py MPI Exception.
                                                             (line   18)
* __new__() (mpi4py.MPI.File static method): mpi4py MPI File.
                                                             (line   18)
* __new__() (mpi4py.MPI.Graphcomm static method): mpi4py MPI Graphcomm.
                                                             (line   18)
* __new__() (mpi4py.MPI.Grequest static method): mpi4py MPI Grequest.
                                                             (line   18)
* __new__() (mpi4py.MPI.Group static method): mpi4py MPI Group.
                                                             (line   18)
* __new__() (mpi4py.MPI.Info static method): mpi4py MPI Info.
                                                             (line   18)
* __new__() (mpi4py.MPI.Intercomm static method): mpi4py MPI Intercomm.
                                                             (line   18)
* __new__() (mpi4py.MPI.Intracomm static method): mpi4py MPI Intracomm.
                                                             (line   18)
* __new__() (mpi4py.MPI.memory static method): mpi4py MPI memory.
                                                             (line   18)
* __new__() (mpi4py.MPI.Message static method): mpi4py MPI Message.
                                                             (line   18)
* __new__() (mpi4py.MPI.Op static method): mpi4py MPI Op.    (line   18)
* __new__() (mpi4py.MPI.Prequest static method): mpi4py MPI Prequest.
                                                             (line   18)
* __new__() (mpi4py.MPI.Request static method): mpi4py MPI Request.
                                                             (line   18)
* __new__() (mpi4py.MPI.Status static method): mpi4py MPI Status.
                                                             (line   18)
* __new__() (mpi4py.MPI.Topocomm static method): mpi4py MPI Topocomm.
                                                             (line   18)
* __new__() (mpi4py.MPI.Win static method): mpi4py MPI Win.  (line   18)
* Abort() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line  420)
* Accept() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line   96)
* Accumulate() (mpi4py.MPI.Win method):  mpi4py MPI Win.     (line  215)
* address (mpi4py.MPI.memory attribute): mpi4py MPI memory.  (line  143)
* Add_error_class() (in module mpi4py.MPI): mpi4py MPI Add_error_class.
                                                             (line    6)
* Add_error_code() (in module mpi4py.MPI): mpi4py MPI Add_error_code.
                                                             (line    6)
* Add_error_string() (in module mpi4py.MPI): mpi4py MPI Add_error_string.
                                                             (line    6)
* AINT (in module mpi4py.MPI):           mpi4py MPI AINT.    (line    6)
* Aint_add() (in module mpi4py.MPI):     mpi4py MPI Aint_add.
                                                             (line    6)
* Aint_diff() (in module mpi4py.MPI):    mpi4py MPI Aint_diff.
                                                             (line    6)
* Allgather() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line  432)
* allgather() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line 1572)
* Allgatherv() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line  447)
* allocate() (mpi4py.MPI.memory static method): mpi4py MPI memory.
                                                             (line   72)
* Allocate() (mpi4py.MPI.Win class method): mpi4py MPI Win.  (line  233)
* Allocate_shared() (mpi4py.MPI.Win class method): mpi4py MPI Win.
                                                             (line  252)
* Alloc_mem() (in module mpi4py.MPI):    mpi4py MPI Alloc_mem.
                                                             (line    6)
* Allreduce() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line  463)
* allreduce() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line 1582)
* Alltoall() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  479)
* alltoall() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1597)
* Alltoallv() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line  494)
* Alltoallw() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line  510)
* amode (mpi4py.MPI.File attribute):     mpi4py MPI File.    (line  944)
* ANY_SOURCE (in module mpi4py.MPI):     mpi4py MPI ANY_SOURCE.
                                                             (line    6)
* ANY_TAG (in module mpi4py.MPI):        mpi4py MPI ANY_TAG. (line    6)
* APPNUM (in module mpi4py.MPI):         mpi4py MPI APPNUM.  (line    6)
* atomicity (mpi4py.MPI.File attribute): mpi4py MPI File.    (line  948)
* Attach() (mpi4py.MPI.Win method):      mpi4py MPI Win.     (line  271)
* Attach_buffer() (in module mpi4py.MPI): mpi4py MPI Attach_buffer.
                                                             (line    6)
* attrs (mpi4py.MPI.Win attribute):      mpi4py MPI Win.     (line  812)
* BAND (in module mpi4py.MPI):           mpi4py MPI BAND.    (line    6)
* Barrier() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line  525)
* barrier() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line 1607)
* Bcast() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line  532)
* bcast() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1614)
* bcast() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.  (line  353)
* BOOL (in module mpi4py.MPI):           mpi4py MPI BOOL.    (line    6)
* bootup() (mpi4py.futures.MPIPoolExecutor method): MPIPoolExecutor.
                                                             (line  192)
* BOR (in module mpi4py.MPI):            mpi4py MPI BOR.     (line    6)
* BOTTOM (in module mpi4py.MPI):         mpi4py MPI BOTTOM.  (line    6)
* Bsend() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line  547)
* bsend() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1628)
* bsend() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.  (line  178)
* Bsend_init() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line  563)
* BSEND_OVERHEAD (in module mpi4py.MPI): mpi4py MPI BSEND_OVERHEAD.
                                                             (line    6)
* BXOR (in module mpi4py.MPI):           mpi4py MPI BXOR.    (line    6)
* BYTE (in module mpi4py.MPI):           mpi4py MPI BYTE.    (line    6)
* Call_errhandler() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line  579)
* Call_errhandler() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  239)
* Call_errhandler() (mpi4py.MPI.Win method): mpi4py MPI Win. (line  281)
* Cancel() (mpi4py.MPI.Request method):  mpi4py MPI Request. (line   99)
* cancel() (mpi4py.MPI.Request method):  mpi4py MPI Request. (line  231)
* cancel() (mpi4py.util.pkl5.Request method): mpi4py util pkl5.
                                                             (line   57)
* cancelled (mpi4py.MPI.Status attribute): mpi4py MPI Status.
                                                             (line  208)
* CART (in module mpi4py.MPI):           mpi4py MPI CART.    (line    6)
* Cartcomm (class in mpi4py.MPI):        mpi4py MPI Cartcomm.
                                                             (line    6)
* Cart_map() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  112)
* CHAR (in module mpi4py.MPI):           mpi4py MPI CHAR.    (line    6)
* CHARACTER (in module mpi4py.MPI):      mpi4py MPI CHARACTER.
                                                             (line    6)
* clear() (mpi4py.MPI.Info method):      mpi4py MPI Info.    (line  169)
* Clone() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line  589)
* Close() (mpi4py.MPI.File method):      mpi4py MPI File.    (line  249)
* Close_port() (in module mpi4py.MPI):   mpi4py MPI Close_port.
                                                             (line    6)
* combiner (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  704)
* COMBINER_CONTIGUOUS (in module mpi4py.MPI): mpi4py MPI COMBINER_CONTIGUOUS.
                                                             (line    6)
* COMBINER_DARRAY (in module mpi4py.MPI): mpi4py MPI COMBINER_DARRAY.
                                                             (line    6)
* COMBINER_DUP (in module mpi4py.MPI):   mpi4py MPI COMBINER_DUP.
                                                             (line    6)
* COMBINER_F90_COMPLEX (in module mpi4py.MPI): mpi4py MPI COMBINER_F90_COMPLEX.
                                                             (line    6)
* COMBINER_F90_INTEGER (in module mpi4py.MPI): mpi4py MPI COMBINER_F90_INTEGER.
                                                             (line    6)
* COMBINER_F90_REAL (in module mpi4py.MPI): mpi4py MPI COMBINER_F90_REAL.
                                                             (line    6)
* COMBINER_HINDEXED (in module mpi4py.MPI): mpi4py MPI COMBINER_HINDEXED.
                                                             (line    6)
* COMBINER_HINDEXED_BLOCK (in module mpi4py.MPI): mpi4py MPI COMBINER_HINDEXED_BLOCK.
                                                             (line    6)
* COMBINER_HVECTOR (in module mpi4py.MPI): mpi4py MPI COMBINER_HVECTOR.
                                                             (line    6)
* COMBINER_INDEXED (in module mpi4py.MPI): mpi4py MPI COMBINER_INDEXED.
                                                             (line    6)
* COMBINER_INDEXED_BLOCK (in module mpi4py.MPI): mpi4py MPI COMBINER_INDEXED_BLOCK.
                                                             (line    6)
* COMBINER_NAMED (in module mpi4py.MPI): mpi4py MPI COMBINER_NAMED.
                                                             (line    6)
* COMBINER_RESIZED (in module mpi4py.MPI): mpi4py MPI COMBINER_RESIZED.
                                                             (line    6)
* COMBINER_STRUCT (in module mpi4py.MPI): mpi4py MPI COMBINER_STRUCT.
                                                             (line    6)
* COMBINER_SUBARRAY (in module mpi4py.MPI): mpi4py MPI COMBINER_SUBARRAY.
                                                             (line    6)
* COMBINER_VECTOR (in module mpi4py.MPI): mpi4py MPI COMBINER_VECTOR.
                                                             (line    6)
* Comm (class in mpi4py.MPI):            mpi4py MPI Comm.    (line    6)
* Comm (class in mpi4py.util.pkl5):      mpi4py util pkl5.   (line  156)
* command line option; -c:               Interface options.  (line   29)
* command line option; –configure:       Using distutils.    (line   38)
* command line option; -m:               Interface options.  (line   24)
* command line option; –mpi:             Using distutils.    (line   33)
* command line option; –mpicc:           Using distutils.    (line   28)
* Commit() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  207)
* COMM_NULL (in module mpi4py.MPI):      mpi4py MPI COMM_NULL.
                                                             (line    6)
* COMM_SELF (in module mpi4py.MPI):      mpi4py MPI COMM_SELF.
                                                             (line    6)
* COMM_TYPE_SHARED (in module mpi4py.MPI): mpi4py MPI COMM_TYPE_SHARED.
                                                             (line    6)
* COMM_WORLD (in module mpi4py.MPI):     mpi4py MPI COMM_WORLD.
                                                             (line    6)
* Compare() (mpi4py.MPI.Comm class method): mpi4py MPI Comm. (line  596)
* Compare() (mpi4py.MPI.Group class method): mpi4py MPI Group.
                                                             (line   85)
* Compare_and_swap() (mpi4py.MPI.Win method): mpi4py MPI Win.
                                                             (line  291)
* Complete() (mpi4py.MPI.Grequest method): mpi4py MPI Grequest.
                                                             (line   40)
* Complete() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  312)
* COMPLEX (in module mpi4py.MPI):        mpi4py MPI COMPLEX. (line    6)
* COMPLEX16 (in module mpi4py.MPI):      mpi4py MPI COMPLEX16.
                                                             (line    6)
* COMPLEX32 (in module mpi4py.MPI):      mpi4py MPI COMPLEX32.
                                                             (line    6)
* COMPLEX4 (in module mpi4py.MPI):       mpi4py MPI COMPLEX4.
                                                             (line    6)
* COMPLEX8 (in module mpi4py.MPI):       mpi4py MPI COMPLEX8.
                                                             (line    6)
* Compute_dims() (in module mpi4py.MPI): mpi4py MPI Compute_dims.
                                                             (line    6)
* CONGRUENT (in module mpi4py.MPI):      mpi4py MPI CONGRUENT.
                                                             (line    6)
* Connect() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  127)
* contents (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  708)
* coords (mpi4py.MPI.Cartcomm attribute): mpi4py MPI Cartcomm.
                                                             (line  134)
* copy() (mpi4py.MPI.Info method):       mpi4py MPI Info.    (line  176)
* COUNT (in module mpi4py.MPI):          mpi4py MPI COUNT.   (line    6)
* count (mpi4py.MPI.Status attribute):   mpi4py MPI Status.  (line  212)
* Create() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line  610)
* Create() (mpi4py.MPI.Info class method): mpi4py MPI Info.  (line   89)
* Create() (mpi4py.MPI.Op class method): mpi4py MPI Op.      (line   57)
* Create() (mpi4py.MPI.Win class method): mpi4py MPI Win.    (line  320)
* Create_cart() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  143)
* Create_contiguous() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  214)
* Create_darray() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  224)
* Create_dist_graph() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  159)
* Create_dist_graph_adjacent() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  182)
* Create_dynamic() (mpi4py.MPI.Win class method): mpi4py MPI Win.
                                                             (line  339)
* Create_f90_complex() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  250)
* Create_f90_integer() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  264)
* Create_f90_real() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  274)
* Create_graph() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  207)
* Create_group() (mpi4py.MPI.Comm method): mpi4py MPI Comm.  (line  620)
* Create_hindexed() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  288)
* Create_hindexed_block() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  302)
* Create_hvector() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  317)
* Create_indexed() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  333)
* Create_indexed_block() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  347)
* Create_intercomm() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  223)
* Create_keyval() (mpi4py.MPI.Comm class method): mpi4py MPI Comm.
                                                             (line  634)
* Create_keyval() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  361)
* Create_keyval() (mpi4py.MPI.Win class method): mpi4py MPI Win.
                                                             (line  354)
* Create_resized() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  380)
* Create_struct() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  394)
* Create_subarray() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  412)
* Create_vector() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  432)
* CXX_BOOL (in module mpi4py.MPI):       mpi4py MPI CXX_BOOL.
                                                             (line    6)
* CXX_DOUBLE_COMPLEX (in module mpi4py.MPI): mpi4py MPI CXX_DOUBLE_COMPLEX.
                                                             (line    6)
* CXX_FLOAT_COMPLEX (in module mpi4py.MPI): mpi4py MPI CXX_FLOAT_COMPLEX.
                                                             (line    6)
* CXX_LONG_DOUBLE_COMPLEX (in module mpi4py.MPI): mpi4py MPI CXX_LONG_DOUBLE_COMPLEX.
                                                             (line    6)
* C_BOOL (in module mpi4py.MPI):         mpi4py MPI C_BOOL.  (line    6)
* C_COMPLEX (in module mpi4py.MPI):      mpi4py MPI C_COMPLEX.
                                                             (line    6)
* C_DOUBLE_COMPLEX (in module mpi4py.MPI): mpi4py MPI C_DOUBLE_COMPLEX.
                                                             (line    6)
* C_FLOAT_COMPLEX (in module mpi4py.MPI): mpi4py MPI C_FLOAT_COMPLEX.
                                                             (line    6)
* C_LONG_DOUBLE_COMPLEX (in module mpi4py.MPI): mpi4py MPI C_LONG_DOUBLE_COMPLEX.
                                                             (line    6)
* Datatype (class in mpi4py.MPI):        mpi4py MPI Datatype.
                                                             (line    6)
* DATATYPE_NULL (in module mpi4py.MPI):  mpi4py MPI DATATYPE_NULL.
                                                             (line    6)
* decode() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  680)
* degrees (mpi4py.MPI.Topocomm attribute): mpi4py MPI Topocomm.
                                                             (line  252)
* Delete() (mpi4py.MPI.File class method): mpi4py MPI File.  (line  256)
* Delete() (mpi4py.MPI.Info method):     mpi4py MPI Info.    (line   96)
* Delete_attr() (mpi4py.MPI.Comm method): mpi4py MPI Comm.   (line  653)
* Delete_attr() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  448)
* Delete_attr() (mpi4py.MPI.Win method): mpi4py MPI Win.     (line  373)
* Detach() (mpi4py.MPI.Win method):      mpi4py MPI Win.     (line  383)
* Detach_buffer() (in module mpi4py.MPI): mpi4py MPI Detach_buffer.
                                                             (line    6)
* Difference() (mpi4py.MPI.Group class method): mpi4py MPI Group.
                                                             (line   99)
* dim (mpi4py.MPI.Cartcomm attribute):   mpi4py MPI Cartcomm.
                                                             (line  138)
* dims (mpi4py.MPI.Cartcomm attribute):  mpi4py MPI Cartcomm.
                                                             (line  142)
* dims (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  105)
* Disconnect() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line  663)
* DISPLACEMENT_CURRENT (in module mpi4py.MPI): mpi4py MPI DISPLACEMENT_CURRENT.
                                                             (line    6)
* DISP_CUR (in module mpi4py.MPI):       mpi4py MPI DISP_CUR.
                                                             (line    6)
* Distgraphcomm (class in mpi4py.MPI):   mpi4py MPI Distgraphcomm.
                                                             (line    6)
* DISTRIBUTE_BLOCK (in module mpi4py.MPI): mpi4py MPI DISTRIBUTE_BLOCK.
                                                             (line    6)
* DISTRIBUTE_CYCLIC (in module mpi4py.MPI): mpi4py MPI DISTRIBUTE_CYCLIC.
                                                             (line    6)
* DISTRIBUTE_DFLT_DARG (in module mpi4py.MPI): mpi4py MPI DISTRIBUTE_DFLT_DARG.
                                                             (line    6)
* DISTRIBUTE_NONE (in module mpi4py.MPI): mpi4py MPI DISTRIBUTE_NONE.
                                                             (line    6)
* DIST_GRAPH (in module mpi4py.MPI):     mpi4py MPI DIST_GRAPH.
                                                             (line    6)
* DOUBLE (in module mpi4py.MPI):         mpi4py MPI DOUBLE.  (line    6)
* DOUBLE_COMPLEX (in module mpi4py.MPI): mpi4py MPI DOUBLE_COMPLEX.
                                                             (line    6)
* DOUBLE_INT (in module mpi4py.MPI):     mpi4py MPI DOUBLE_INT.
                                                             (line    6)
* DOUBLE_PRECISION (in module mpi4py.MPI): mpi4py MPI DOUBLE_PRECISION.
                                                             (line    6)
* dumps() (mpi4py.MPI.Pickle method):    mpi4py MPI Pickle.  (line   57)
* Dup() (mpi4py.MPI.Comm method):        mpi4py MPI Comm.    (line  670)
* Dup() (mpi4py.MPI.Datatype method):    mpi4py MPI Datatype.
                                                             (line  458)
* Dup() (mpi4py.MPI.Group method):       mpi4py MPI Group.   (line  113)
* Dup() (mpi4py.MPI.Info method):        mpi4py MPI Info.    (line  106)
* Dup_with_info() (mpi4py.MPI.Comm method): mpi4py MPI Comm. (line  680)
* edges (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  109)
* envelope (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  712)
* environment variable; LD_LIBRARY_PATH: Building MPI from sources.
                                                             (line   34)
* environment variable; MPI4PY_FUTURES_MAX_WORKERS: MPIPoolExecutor.
                                                             (line   49)
* environment variable; MPI4PY_FUTURES_MAX_WORKERS <1>: MPIPoolExecutor.
                                                             (line  202)
* environment variable; MPI4PY_FUTURES_MAX_WORKERS <2>: MPIPoolExecutor.
                                                             (line  205)
* environment variable; MPI4PY_FUTURES_MAX_WORKERS <3>: Examples.
                                                             (line   84)
* environment variable; MPI4PY_PICKLE_PROTOCOL: Tutorial.    (line   56)
* environment variable; MPI4PY_PICKLE_PROTOCOL <1>: Environment variables.
                                                             (line  136)
* environment variable; MPI4PY_PICKLE_THRESHOLD: Environment variables.
                                                             (line  155)
* environment variable; MPI4PY_RC_ERRORS: Runtime configuration options.
                                                             (line  147)
* environment variable; MPI4PY_RC_ERRORS <1>: Environment variables.
                                                             (line  119)
* environment variable; MPI4PY_RC_FAST_REDUCE: Runtime configuration options.
                                                             (line  114)
* environment variable; MPI4PY_RC_FAST_REDUCE <1>: Environment variables.
                                                             (line   87)
* environment variable; MPI4PY_RC_FINALIZE: Runtime configuration options.
                                                             (line   99)
* environment variable; MPI4PY_RC_FINALIZE <1>: Environment variables.
                                                             (line   32)
* environment variable; MPI4PY_RC_INITIALIZE: Runtime configuration options.
                                                             (line   51)
* environment variable; MPI4PY_RC_INITIALIZE <1>: Environment variables.
                                                             (line   14)
* environment variable; MPI4PY_RC_RECV_MPROBE: Runtime configuration options.
                                                             (line  129)
* environment variable; MPI4PY_RC_RECV_MPROBE <1>: Environment variables.
                                                             (line  104)
* environment variable; MPI4PY_RC_THREADS: Runtime configuration options.
                                                             (line   66)
* environment variable; MPI4PY_RC_THREADS <1>: Environment variables.
                                                             (line   53)
* environment variable; MPI4PY_RC_THREAD_LEVEL: Runtime configuration options.
                                                             (line   84)
* environment variable; MPI4PY_RC_THREAD_LEVEL <1>: Environment variables.
                                                             (line   70)
* environment variable; MPICC:           Using pip.          (line   15)
* environment variable; MPICH_USE_SHLIB: Building MPI from sources.
                                                             (line   58)
* environment variable; MPIEXEC_UNIVERSE_SIZE: Examples.     (line   73)
* environment variable; PATH:            MPI-enabled Python interpreter.
                                                             (line   47)
* Errhandler (class in mpi4py.MPI):      mpi4py MPI Errhandler.
                                                             (line    6)
* ERRHANDLER_NULL (in module mpi4py.MPI): mpi4py MPI ERRHANDLER_NULL.
                                                             (line    6)
* error (mpi4py.MPI.Status attribute):   mpi4py MPI Status.  (line  216)
* errors (mpi4py.mpi4py.rc attribute):   Runtime configuration options.
                                                             (line  131)
* ERRORS_ARE_FATAL (in module mpi4py.MPI): mpi4py MPI ERRORS_ARE_FATAL.
                                                             (line    6)
* ERRORS_RETURN (in module mpi4py.MPI):  mpi4py MPI ERRORS_RETURN.
                                                             (line    6)
* error_class (mpi4py.MPI.Exception attribute): mpi4py MPI Exception.
                                                             (line   77)
* error_code (mpi4py.MPI.Exception attribute): mpi4py MPI Exception.
                                                             (line   81)
* error_string (mpi4py.MPI.Exception attribute): mpi4py MPI Exception.
                                                             (line   85)
* ERR_ACCESS (in module mpi4py.MPI):     mpi4py MPI ERR_ACCESS.
                                                             (line    6)
* ERR_AMODE (in module mpi4py.MPI):      mpi4py MPI ERR_AMODE.
                                                             (line    6)
* ERR_ARG (in module mpi4py.MPI):        mpi4py MPI ERR_ARG. (line    6)
* ERR_ASSERT (in module mpi4py.MPI):     mpi4py MPI ERR_ASSERT.
                                                             (line    6)
* ERR_BAD_FILE (in module mpi4py.MPI):   mpi4py MPI ERR_BAD_FILE.
                                                             (line    6)
* ERR_BASE (in module mpi4py.MPI):       mpi4py MPI ERR_BASE.
                                                             (line    6)
* ERR_BUFFER (in module mpi4py.MPI):     mpi4py MPI ERR_BUFFER.
                                                             (line    6)
* ERR_COMM (in module mpi4py.MPI):       mpi4py MPI ERR_COMM.
                                                             (line    6)
* ERR_CONVERSION (in module mpi4py.MPI): mpi4py MPI ERR_CONVERSION.
                                                             (line    6)
* ERR_COUNT (in module mpi4py.MPI):      mpi4py MPI ERR_COUNT.
                                                             (line    6)
* ERR_DIMS (in module mpi4py.MPI):       mpi4py MPI ERR_DIMS.
                                                             (line    6)
* ERR_DISP (in module mpi4py.MPI):       mpi4py MPI ERR_DISP.
                                                             (line    6)
* ERR_DUP_DATAREP (in module mpi4py.MPI): mpi4py MPI ERR_DUP_DATAREP.
                                                             (line    6)
* ERR_FILE (in module mpi4py.MPI):       mpi4py MPI ERR_FILE.
                                                             (line    6)
* ERR_FILE_EXISTS (in module mpi4py.MPI): mpi4py MPI ERR_FILE_EXISTS.
                                                             (line    6)
* ERR_FILE_IN_USE (in module mpi4py.MPI): mpi4py MPI ERR_FILE_IN_USE.
                                                             (line    6)
* ERR_GROUP (in module mpi4py.MPI):      mpi4py MPI ERR_GROUP.
                                                             (line    6)
* ERR_INFO (in module mpi4py.MPI):       mpi4py MPI ERR_INFO.
                                                             (line    6)
* ERR_INFO_KEY (in module mpi4py.MPI):   mpi4py MPI ERR_INFO_KEY.
                                                             (line    6)
* ERR_INFO_NOKEY (in module mpi4py.MPI): mpi4py MPI ERR_INFO_NOKEY.
                                                             (line    6)
* ERR_INFO_VALUE (in module mpi4py.MPI): mpi4py MPI ERR_INFO_VALUE.
                                                             (line    6)
* ERR_INTERN (in module mpi4py.MPI):     mpi4py MPI ERR_INTERN.
                                                             (line    6)
* ERR_IN_STATUS (in module mpi4py.MPI):  mpi4py MPI ERR_IN_STATUS.
                                                             (line    6)
* ERR_IO (in module mpi4py.MPI):         mpi4py MPI ERR_IO.  (line    6)
* ERR_KEYVAL (in module mpi4py.MPI):     mpi4py MPI ERR_KEYVAL.
                                                             (line    6)
* ERR_LASTCODE (in module mpi4py.MPI):   mpi4py MPI ERR_LASTCODE.
                                                             (line    6)
* ERR_LOCKTYPE (in module mpi4py.MPI):   mpi4py MPI ERR_LOCKTYPE.
                                                             (line    6)
* ERR_NAME (in module mpi4py.MPI):       mpi4py MPI ERR_NAME.
                                                             (line    6)
* ERR_NOT_SAME (in module mpi4py.MPI):   mpi4py MPI ERR_NOT_SAME.
                                                             (line    6)
* ERR_NO_MEM (in module mpi4py.MPI):     mpi4py MPI ERR_NO_MEM.
                                                             (line    6)
* ERR_NO_SPACE (in module mpi4py.MPI):   mpi4py MPI ERR_NO_SPACE.
                                                             (line    6)
* ERR_NO_SUCH_FILE (in module mpi4py.MPI): mpi4py MPI ERR_NO_SUCH_FILE.
                                                             (line    6)
* ERR_OP (in module mpi4py.MPI):         mpi4py MPI ERR_OP.  (line    6)
* ERR_OTHER (in module mpi4py.MPI):      mpi4py MPI ERR_OTHER.
                                                             (line    6)
* ERR_PENDING (in module mpi4py.MPI):    mpi4py MPI ERR_PENDING.
                                                             (line    6)
* ERR_PORT (in module mpi4py.MPI):       mpi4py MPI ERR_PORT.
                                                             (line    6)
* ERR_QUOTA (in module mpi4py.MPI):      mpi4py MPI ERR_QUOTA.
                                                             (line    6)
* ERR_RANK (in module mpi4py.MPI):       mpi4py MPI ERR_RANK.
                                                             (line    6)
* ERR_READ_ONLY (in module mpi4py.MPI):  mpi4py MPI ERR_READ_ONLY.
                                                             (line    6)
* ERR_REQUEST (in module mpi4py.MPI):    mpi4py MPI ERR_REQUEST.
                                                             (line    6)
* ERR_RMA_ATTACH (in module mpi4py.MPI): mpi4py MPI ERR_RMA_ATTACH.
                                                             (line    6)
* ERR_RMA_CONFLICT (in module mpi4py.MPI): mpi4py MPI ERR_RMA_CONFLICT.
                                                             (line    6)
* ERR_RMA_FLAVOR (in module mpi4py.MPI): mpi4py MPI ERR_RMA_FLAVOR.
                                                             (line    6)
* ERR_RMA_RANGE (in module mpi4py.MPI):  mpi4py MPI ERR_RMA_RANGE.
                                                             (line    6)
* ERR_RMA_SHARED (in module mpi4py.MPI): mpi4py MPI ERR_RMA_SHARED.
                                                             (line    6)
* ERR_RMA_SYNC (in module mpi4py.MPI):   mpi4py MPI ERR_RMA_SYNC.
                                                             (line    6)
* ERR_ROOT (in module mpi4py.MPI):       mpi4py MPI ERR_ROOT.
                                                             (line    6)
* ERR_SERVICE (in module mpi4py.MPI):    mpi4py MPI ERR_SERVICE.
                                                             (line    6)
* ERR_SIZE (in module mpi4py.MPI):       mpi4py MPI ERR_SIZE.
                                                             (line    6)
* ERR_SPAWN (in module mpi4py.MPI):      mpi4py MPI ERR_SPAWN.
                                                             (line    6)
* ERR_TAG (in module mpi4py.MPI):        mpi4py MPI ERR_TAG. (line    6)
* ERR_TOPOLOGY (in module mpi4py.MPI):   mpi4py MPI ERR_TOPOLOGY.
                                                             (line    6)
* ERR_TRUNCATE (in module mpi4py.MPI):   mpi4py MPI ERR_TRUNCATE.
                                                             (line    6)
* ERR_TYPE (in module mpi4py.MPI):       mpi4py MPI ERR_TYPE.
                                                             (line    6)
* ERR_UNKNOWN (in module mpi4py.MPI):    mpi4py MPI ERR_UNKNOWN.
                                                             (line    6)
* ERR_UNSUPPORTED_DATAREP (in module mpi4py.MPI): mpi4py MPI ERR_UNSUPPORTED_DATAREP.
                                                             (line    6)
* ERR_UNSUPPORTED_OPERATION (in module mpi4py.MPI): mpi4py MPI ERR_UNSUPPORTED_OPERATION.
                                                             (line    6)
* ERR_WIN (in module mpi4py.MPI):        mpi4py MPI ERR_WIN. (line    6)
* Exception:                             mpi4py MPI Exception.
                                                             (line    6)
* Excl() (mpi4py.MPI.Group method):      mpi4py MPI Group.   (line  120)
* Exscan() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  242)
* exscan() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  370)
* extent (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  716)
* f2py() (mpi4py.MPI.Comm class method): mpi4py MPI Comm.    (line 1644)
* f2py() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  688)
* f2py() (mpi4py.MPI.Errhandler class method): mpi4py MPI Errhandler.
                                                             (line   47)
* f2py() (mpi4py.MPI.File class method): mpi4py MPI File.    (line  928)
* f2py() (mpi4py.MPI.Group class method): mpi4py MPI Group.  (line  233)
* f2py() (mpi4py.MPI.Info class method): mpi4py MPI Info.    (line  183)
* f2py() (mpi4py.MPI.Message class method): mpi4py MPI Message.
                                                             (line  126)
* f2py() (mpi4py.MPI.Op class method):   mpi4py MPI Op.      (line  100)
* f2py() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  238)
* f2py() (mpi4py.MPI.Status class method): mpi4py MPI Status.
                                                             (line  192)
* f2py() (mpi4py.MPI.Win class method):  mpi4py MPI Win.     (line  789)
* fast_reduce (mpi4py.mpi4py.rc attribute): Runtime configuration options.
                                                             (line  101)
* Fence() (mpi4py.MPI.Win method):       mpi4py MPI Win.     (line  393)
* Fetch_and_op() (mpi4py.MPI.Win method): mpi4py MPI Win.    (line  403)
* File (class in mpi4py.MPI):            mpi4py MPI File.    (line    6)
* FILE_NULL (in module mpi4py.MPI):      mpi4py MPI FILE_NULL.
                                                             (line    6)
* finalize (mpi4py.mpi4py.rc attribute): Runtime configuration options.
                                                             (line   86)
* Finalize() (in module mpi4py.MPI):     mpi4py MPI Finalize.
                                                             (line    6)
* flavor (mpi4py.MPI.Win attribute):     mpi4py MPI Win.     (line  816)
* FLOAT (in module mpi4py.MPI):          mpi4py MPI FLOAT.   (line    6)
* FLOAT_INT (in module mpi4py.MPI):      mpi4py MPI FLOAT_INT.
                                                             (line    6)
* Flush() (mpi4py.MPI.Win method):       mpi4py MPI Win.     (line  424)
* Flush_all() (mpi4py.MPI.Win method):   mpi4py MPI Win.     (line  434)
* Flush_local() (mpi4py.MPI.Win method): mpi4py MPI Win.     (line  441)
* Flush_local_all() (mpi4py.MPI.Win method): mpi4py MPI Win. (line  452)
* format (mpi4py.MPI.memory attribute):  mpi4py MPI memory.  (line  147)
* Free() (mpi4py.MPI.Comm method):       mpi4py MPI Comm.    (line  690)
* Free() (mpi4py.MPI.Datatype method):   mpi4py MPI Datatype.
                                                             (line  465)
* Free() (mpi4py.MPI.Errhandler method): mpi4py MPI Errhandler.
                                                             (line   40)
* Free() (mpi4py.MPI.Group method):      mpi4py MPI Group.   (line  131)
* Free() (mpi4py.MPI.Info method):       mpi4py MPI Info.    (line  114)
* Free() (mpi4py.MPI.Op method):         mpi4py MPI Op.      (line   72)
* Free() (mpi4py.MPI.Request method):    mpi4py MPI Request. (line  106)
* Free() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  460)
* Free() (mpi4py.util.pkl5.Request method): mpi4py util pkl5.
                                                             (line   50)
* Free_keyval() (mpi4py.MPI.Comm class method): mpi4py MPI Comm.
                                                             (line  697)
* Free_keyval() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  472)
* Free_keyval() (mpi4py.MPI.Win class method): mpi4py MPI Win.
                                                             (line  467)
* Free_mem() (in module mpi4py.MPI):     mpi4py MPI Free_mem.
                                                             (line    6)
* fromaddress() (mpi4py.MPI.memory static method): mpi4py MPI memory.
                                                             (line   86)
* frombuffer() (mpi4py.MPI.memory static method): mpi4py MPI memory.
                                                             (line  102)
* from_numpy_dtype() (in module mpi4py.util.dtlib): mpi4py util dtlib.
                                                             (line   11)
* F_BOOL (in module mpi4py.MPI):         mpi4py MPI F_BOOL.  (line    6)
* F_COMPLEX (in module mpi4py.MPI):      mpi4py MPI F_COMPLEX.
                                                             (line    6)
* F_DOUBLE (in module mpi4py.MPI):       mpi4py MPI F_DOUBLE.
                                                             (line    6)
* F_DOUBLE_COMPLEX (in module mpi4py.MPI): mpi4py MPI F_DOUBLE_COMPLEX.
                                                             (line    6)
* F_FLOAT (in module mpi4py.MPI):        mpi4py MPI F_FLOAT. (line    6)
* F_FLOAT_COMPLEX (in module mpi4py.MPI): mpi4py MPI F_FLOAT_COMPLEX.
                                                             (line    6)
* F_INT (in module mpi4py.MPI):          mpi4py MPI F_INT.   (line    6)
* Gather() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line  707)
* gather() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1652)
* Gatherv() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line  723)
* Get() (mpi4py.MPI.Info method):        mpi4py MPI Info.    (line  121)
* get() (mpi4py.MPI.Info method):        mpi4py MPI Info.    (line  191)
* Get() (mpi4py.MPI.Win method):         mpi4py MPI Win.     (line  477)
* Get_accumulate() (mpi4py.MPI.Win method): mpi4py MPI Win.  (line  493)
* Get_address() (in module mpi4py.MPI):  mpi4py MPI Get_address.
                                                             (line    6)
* Get_amode() (mpi4py.MPI.File method):  mpi4py MPI File.    (line  270)
* Get_atomicity() (mpi4py.MPI.File method): mpi4py MPI File. (line  277)
* Get_attr() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  741)
* Get_attr() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  482)
* Get_attr() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  514)
* Get_byte_offset() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  284)
* Get_cart_rank() (mpi4py.MPI.Cartcomm method): mpi4py MPI Cartcomm.
                                                             (line   71)
* get_config() (in module mpi4py):       Miscellaneous functions.
                                                             (line   24)
* Get_contents() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  492)
* Get_coords() (mpi4py.MPI.Cartcomm method): mpi4py MPI Cartcomm.
                                                             (line   81)
* Get_count() (mpi4py.MPI.Status method): mpi4py MPI Status. (line   84)
* Get_dim() (mpi4py.MPI.Cartcomm method): mpi4py MPI Cartcomm.
                                                             (line   91)
* Get_dims() (mpi4py.MPI.Graphcomm method): mpi4py MPI Graphcomm.
                                                             (line   68)
* Get_dist_neighbors() (mpi4py.MPI.Distgraphcomm method): mpi4py MPI Distgraphcomm.
                                                             (line   39)
* Get_dist_neighbors_count() (mpi4py.MPI.Distgraphcomm method): mpi4py MPI Distgraphcomm.
                                                             (line   47)
* Get_elements() (mpi4py.MPI.Status method): mpi4py MPI Status.
                                                             (line   94)
* Get_envelope() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  501)
* Get_errhandler() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line  751)
* Get_errhandler() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  295)
* Get_errhandler() (mpi4py.MPI.Win method): mpi4py MPI Win.  (line  524)
* Get_error() (mpi4py.MPI.Status method): mpi4py MPI Status. (line  104)
* Get_error_class() (in module mpi4py.MPI): mpi4py MPI Get_error_class.
                                                             (line    6)
* Get_error_class() (mpi4py.MPI.Exception method): mpi4py MPI Exception.
                                                             (line   53)
* Get_error_code() (mpi4py.MPI.Exception method): mpi4py MPI Exception.
                                                             (line   60)
* Get_error_string() (in module mpi4py.MPI): mpi4py MPI Get_error_string.
                                                             (line    6)
* Get_error_string() (mpi4py.MPI.Exception method): mpi4py MPI Exception.
                                                             (line   67)
* Get_extent() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  509)
* Get_group() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line  758)
* Get_group() (mpi4py.MPI.File method):  mpi4py MPI File.    (line  302)
* Get_group() (mpi4py.MPI.Win method):   mpi4py MPI Win.     (line  531)
* get_include() (in module mpi4py):      Miscellaneous functions.
                                                             (line   31)
* Get_info() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  765)
* Get_info() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  309)
* Get_info() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  539)
* Get_library_version() (in module mpi4py.MPI): mpi4py MPI Get_library_version.
                                                             (line    6)
* Get_name() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  772)
* Get_name() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  516)
* Get_name() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  546)
* Get_neighbors() (mpi4py.MPI.Graphcomm method): mpi4py MPI Graphcomm.
                                                             (line   75)
* Get_neighbors_count() (mpi4py.MPI.Graphcomm method): mpi4py MPI Graphcomm.
                                                             (line   85)
* Get_nkeys() (mpi4py.MPI.Info method):  mpi4py MPI Info.    (line  135)
* Get_nthkey() (mpi4py.MPI.Info method): mpi4py MPI Info.    (line  142)
* Get_parent() (mpi4py.MPI.Comm class method): mpi4py MPI Comm.
                                                             (line  779)
* Get_position() (mpi4py.MPI.File method): mpi4py MPI File.  (line  316)
* Get_position_shared() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  324)
* Get_processor_name() (in module mpi4py.MPI): mpi4py MPI Get_processor_name.
                                                             (line    6)
* Get_rank() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  786)
* Get_rank() (mpi4py.MPI.Group method):  mpi4py MPI Group.   (line  138)
* Get_remote_group() (mpi4py.MPI.Intercomm method): mpi4py MPI Intercomm.
                                                             (line   50)
* Get_remote_size() (mpi4py.MPI.Intercomm method): mpi4py MPI Intercomm.
                                                             (line   57)
* Get_size() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  793)
* Get_size() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  523)
* Get_size() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  332)
* Get_size() (mpi4py.MPI.Group method):  mpi4py MPI Group.   (line  145)
* Get_source() (mpi4py.MPI.Status method): mpi4py MPI Status.
                                                             (line  111)
* Get_status() (mpi4py.MPI.Request method): mpi4py MPI Request.
                                                             (line  113)
* get_status() (mpi4py.MPI.Request method): mpi4py MPI Request.
                                                             (line  246)
* get_status() (mpi4py.util.pkl5.Request method): mpi4py util pkl5.
                                                             (line   64)
* Get_tag() (mpi4py.MPI.Status method):  mpi4py MPI Status.  (line  118)
* Get_topo() (mpi4py.MPI.Cartcomm method): mpi4py MPI Cartcomm.
                                                             (line   98)
* Get_topo() (mpi4py.MPI.Graphcomm method): mpi4py MPI Graphcomm.
                                                             (line   95)
* Get_topology() (mpi4py.MPI.Comm method): mpi4py MPI Comm.  (line  800)
* Get_true_extent() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  530)
* Get_type_extent() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  339)
* get_vendor() (in module mpi4py.MPI):   mpi4py MPI get_vendor.
                                                             (line    6)
* Get_version() (in module mpi4py.MPI):  mpi4py MPI Get_version.
                                                             (line    6)
* Get_view() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  349)
* GIL:                                   Examples.           (line  102)
* GRAPH (in module mpi4py.MPI):          mpi4py MPI GRAPH.   (line    6)
* Graphcomm (class in mpi4py.MPI):       mpi4py MPI Graphcomm.
                                                             (line    6)
* Graph_map() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  258)
* Grequest (class in mpi4py.MPI):        mpi4py MPI Grequest.
                                                             (line    6)
* Group (class in mpi4py.MPI):           mpi4py MPI Group.   (line    6)
* group (mpi4py.MPI.Comm attribute):     mpi4py MPI Comm.    (line 1909)
* group (mpi4py.MPI.File attribute):     mpi4py MPI File.    (line  950)
* group (mpi4py.MPI.Win attribute):      mpi4py MPI Win.     (line  820)
* GROUP_EMPTY (in module mpi4py.MPI):    mpi4py MPI GROUP_EMPTY.
                                                             (line    6)
* GROUP_NULL (in module mpi4py.MPI):     mpi4py MPI GROUP_NULL.
                                                             (line    6)
* HOST (in module mpi4py.MPI):           mpi4py MPI HOST.    (line    6)
* Iallgather() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line  808)
* Iallgatherv() (mpi4py.MPI.Comm method): mpi4py MPI Comm.   (line  822)
* Iallreduce() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line  836)
* Ialltoall() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line  852)
* Ialltoallv() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line  866)
* Ialltoallw() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line  880)
* Ibarrier() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  894)
* Ibcast() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line  901)
* Ibsend() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line  915)
* ibsend() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1666)
* ibsend() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5. (line  226)
* IDENT (in module mpi4py.MPI):          mpi4py MPI IDENT.   (line    6)
* Idup() (mpi4py.MPI.Comm method):       mpi4py MPI Comm.    (line  931)
* Iexscan() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  273)
* Igather() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line  938)
* Igatherv() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line  954)
* Improbe() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line  970)
* improbe() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line 1682)
* improbe() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.
                                                             (line  337)
* Incl() (mpi4py.MPI.Group method):      mpi4py MPI Group.   (line  152)
* indegree (mpi4py.MPI.Topocomm attribute): mpi4py MPI Topocomm.
                                                             (line  256)
* index (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  111)
* inedges (mpi4py.MPI.Topocomm attribute): mpi4py MPI Topocomm.
                                                             (line  260)
* Ineighbor_allgather() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line   89)
* Ineighbor_allgatherv() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  103)
* Ineighbor_alltoall() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  117)
* Ineighbor_alltoallv() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  131)
* Ineighbor_alltoallw() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  145)
* Info (class in mpi4py.MPI):            mpi4py MPI Info.    (line    6)
* info (mpi4py.MPI.Comm attribute):      mpi4py MPI Comm.    (line 1913)
* info (mpi4py.MPI.File attribute):      mpi4py MPI File.    (line  954)
* info (mpi4py.MPI.Win attribute):       mpi4py MPI Win.     (line  824)
* INFO_ENV (in module mpi4py.MPI):       mpi4py MPI INFO_ENV.
                                                             (line    6)
* INFO_NULL (in module mpi4py.MPI):      mpi4py MPI INFO_NULL.
                                                             (line    6)
* Init() (in module mpi4py.MPI):         mpi4py MPI Init.    (line    6)
* initialize (mpi4py.mpi4py.rc attribute): Runtime configuration options.
                                                             (line   38)
* Init_thread() (in module mpi4py.MPI):  mpi4py MPI Init_thread.
                                                             (line    6)
* inoutedges (mpi4py.MPI.Topocomm attribute): mpi4py MPI Topocomm.
                                                             (line  264)
* INT (in module mpi4py.MPI):            mpi4py MPI INT.     (line    6)
* INT16_T (in module mpi4py.MPI):        mpi4py MPI INT16_T. (line    6)
* INT32_T (in module mpi4py.MPI):        mpi4py MPI INT32_T. (line    6)
* INT64_T (in module mpi4py.MPI):        mpi4py MPI INT64_T. (line    6)
* INT8_T (in module mpi4py.MPI):         mpi4py MPI INT8_T.  (line    6)
* INTEGER (in module mpi4py.MPI):        mpi4py MPI INTEGER. (line    6)
* INTEGER1 (in module mpi4py.MPI):       mpi4py MPI INTEGER1.
                                                             (line    6)
* INTEGER16 (in module mpi4py.MPI):      mpi4py MPI INTEGER16.
                                                             (line    6)
* INTEGER2 (in module mpi4py.MPI):       mpi4py MPI INTEGER2.
                                                             (line    6)
* INTEGER4 (in module mpi4py.MPI):       mpi4py MPI INTEGER4.
                                                             (line    6)
* INTEGER8 (in module mpi4py.MPI):       mpi4py MPI INTEGER8.
                                                             (line    6)
* Intercomm (class in mpi4py.MPI):       mpi4py MPI Intercomm.
                                                             (line    6)
* Intercomm (class in mpi4py.util.pkl5): mpi4py util pkl5.   (line  373)
* Intersection() (mpi4py.MPI.Group class method): mpi4py MPI Group.
                                                             (line  163)
* Intracomm (class in mpi4py.MPI):       mpi4py MPI Intracomm.
                                                             (line    6)
* Intracomm (class in mpi4py.util.pkl5): mpi4py util pkl5.   (line  367)
* INT_INT (in module mpi4py.MPI):        mpi4py MPI INT_INT. (line    6)
* IN_PLACE (in module mpi4py.MPI):       mpi4py MPI IN_PLACE.
                                                             (line    6)
* IO (in module mpi4py.MPI):             mpi4py MPI IO.      (line    6)
* Iprobe() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line  986)
* iprobe() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1698)
* Iprobe() (mpi4py.MPI.Message class method): mpi4py MPI Message.
                                                             (line   64)
* iprobe() (mpi4py.MPI.Message class method): mpi4py MPI Message.
                                                             (line  134)
* iprobe() (mpi4py.util.pkl5.Message class method): mpi4py util pkl5.
                                                             (line  148)
* Iread() (mpi4py.MPI.File method):      mpi4py MPI File.    (line  357)
* Iread_all() (mpi4py.MPI.File method):  mpi4py MPI File.    (line  367)
* Iread_at() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  377)
* Iread_at_all() (mpi4py.MPI.File method): mpi4py MPI File.  (line  391)
* Iread_shared() (mpi4py.MPI.File method): mpi4py MPI File.  (line  405)
* Irecv() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1002)
* irecv() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1714)
* Irecv() (mpi4py.MPI.Message method):   mpi4py MPI Message. (line   83)
* irecv() (mpi4py.MPI.Message method):   mpi4py MPI Message. (line  153)
* irecv() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.  (line  277)
* irecv() (mpi4py.util.pkl5.Message method): mpi4py util pkl5.
                                                             (line  133)
* Ireduce() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line 1018)
* Ireduce_scatter() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line 1036)
* Ireduce_scatter_block() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line 1055)
* Irsend() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1071)
* Iscan() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  289)
* Iscatter() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1101)
* Iscatterv() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line 1117)
* Isend() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1133)
* isend() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1730)
* isend() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.  (line  210)
* Issend() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1149)
* issend() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1746)
* issend() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5. (line  242)
* Is_cancelled() (mpi4py.MPI.Status method): mpi4py MPI Status.
                                                             (line  125)
* is_commutative (mpi4py.MPI.Op attribute): mpi4py MPI Op.   (line  116)
* Is_commutative() (mpi4py.MPI.Op method): mpi4py MPI Op.    (line   79)
* Is_finalized() (in module mpi4py.MPI): mpi4py MPI Is_finalized.
                                                             (line    6)
* Is_initialized() (in module mpi4py.MPI): mpi4py MPI Is_initialized.
                                                             (line    6)
* is_inter (mpi4py.MPI.Comm attribute):  mpi4py MPI Comm.    (line 1917)
* Is_inter() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1087)
* is_intra (mpi4py.MPI.Comm attribute):  mpi4py MPI Comm.    (line 1921)
* Is_intra() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1094)
* is_named (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  718)
* is_predefined (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  722)
* is_predefined (mpi4py.MPI.Op attribute): mpi4py MPI Op.    (line  120)
* Is_thread_main() (in module mpi4py.MPI): mpi4py MPI Is_thread_main.
                                                             (line    6)
* is_topo (mpi4py.MPI.Comm attribute):   mpi4py MPI Comm.    (line 1925)
* items() (mpi4py.MPI.Info method):      mpi4py MPI Info.    (line  205)
* itemsize (mpi4py.MPI.memory attribute): mpi4py MPI memory. (line  151)
* Iwrite() (mpi4py.MPI.File method):     mpi4py MPI File.    (line  415)
* Iwrite_all() (mpi4py.MPI.File method): mpi4py MPI File.    (line  425)
* Iwrite_at() (mpi4py.MPI.File method):  mpi4py MPI File.    (line  435)
* Iwrite_at_all() (mpi4py.MPI.File method): mpi4py MPI File. (line  449)
* Iwrite_shared() (mpi4py.MPI.File method): mpi4py MPI File. (line  463)
* Join() (mpi4py.MPI.Comm class method): mpi4py MPI Comm.    (line 1165)
* keys() (mpi4py.MPI.Info method):       mpi4py MPI Info.    (line  212)
* KEYVAL_INVALID (in module mpi4py.MPI): mpi4py MPI KEYVAL_INVALID.
                                                             (line    6)
* LAND (in module mpi4py.MPI):           mpi4py MPI LAND.    (line    6)
* LASTUSEDCODE (in module mpi4py.MPI):   mpi4py MPI LASTUSEDCODE.
                                                             (line    6)
* LB (in module mpi4py.MPI):             mpi4py MPI LB.      (line    6)
* lb (mpi4py.MPI.Datatype attribute):    mpi4py MPI Datatype.
                                                             (line  726)
* LD_LIBRARY_PATH:                       Building MPI from sources.
                                                             (line   34)
* loads() (mpi4py.MPI.Pickle method):    mpi4py MPI Pickle.  (line   73)
* Lock() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  553)
* Lock_all() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  569)
* LOCK_EXCLUSIVE (in module mpi4py.MPI): mpi4py MPI LOCK_EXCLUSIVE.
                                                             (line    6)
* LOCK_SHARED (in module mpi4py.MPI):    mpi4py MPI LOCK_SHARED.
                                                             (line    6)
* LOGICAL (in module mpi4py.MPI):        mpi4py MPI LOGICAL. (line    6)
* LOGICAL1 (in module mpi4py.MPI):       mpi4py MPI LOGICAL1.
                                                             (line    6)
* LOGICAL2 (in module mpi4py.MPI):       mpi4py MPI LOGICAL2.
                                                             (line    6)
* LOGICAL4 (in module mpi4py.MPI):       mpi4py MPI LOGICAL4.
                                                             (line    6)
* LOGICAL8 (in module mpi4py.MPI):       mpi4py MPI LOGICAL8.
                                                             (line    6)
* LONG (in module mpi4py.MPI):           mpi4py MPI LONG.    (line    6)
* LONG_DOUBLE (in module mpi4py.MPI):    mpi4py MPI LONG_DOUBLE.
                                                             (line    6)
* LONG_DOUBLE_INT (in module mpi4py.MPI): mpi4py MPI LONG_DOUBLE_INT.
                                                             (line    6)
* LONG_INT (in module mpi4py.MPI):       mpi4py MPI LONG_INT.
                                                             (line    6)
* LONG_LONG (in module mpi4py.MPI):      mpi4py MPI LONG_LONG.
                                                             (line    6)
* Lookup_name() (in module mpi4py.MPI):  mpi4py MPI Lookup_name.
                                                             (line    6)
* LOR (in module mpi4py.MPI):            mpi4py MPI LOR.     (line    6)
* LXOR (in module mpi4py.MPI):           mpi4py MPI LXOR.    (line    6)
* map() (mpi4py.futures.MPIPoolExecutor method): MPIPoolExecutor.
                                                             (line  117)
* Match_size() (mpi4py.MPI.Datatype class method): mpi4py MPI Datatype.
                                                             (line  537)
* MAX (in module mpi4py.MPI):            mpi4py MPI MAX.     (line    6)
* MAXLOC (in module mpi4py.MPI):         mpi4py MPI MAXLOC.  (line    6)
* MAX_DATAREP_STRING (in module mpi4py.MPI): mpi4py MPI MAX_DATAREP_STRING.
                                                             (line    6)
* MAX_ERROR_STRING (in module mpi4py.MPI): mpi4py MPI MAX_ERROR_STRING.
                                                             (line    6)
* MAX_INFO_KEY (in module mpi4py.MPI):   mpi4py MPI MAX_INFO_KEY.
                                                             (line    6)
* MAX_INFO_VAL (in module mpi4py.MPI):   mpi4py MPI MAX_INFO_VAL.
                                                             (line    6)
* MAX_LIBRARY_VERSION_STRING (in module mpi4py.MPI): mpi4py MPI MAX_LIBRARY_VERSION_STRING.
                                                             (line    6)
* MAX_OBJECT_NAME (in module mpi4py.MPI): mpi4py MPI MAX_OBJECT_NAME.
                                                             (line    6)
* MAX_PORT_NAME (in module mpi4py.MPI):  mpi4py MPI MAX_PORT_NAME.
                                                             (line    6)
* MAX_PROCESSOR_NAME (in module mpi4py.MPI): mpi4py MPI MAX_PROCESSOR_NAME.
                                                             (line    6)
* memory (class in mpi4py.MPI):          mpi4py MPI memory.  (line    6)
* Merge() (mpi4py.MPI.Intercomm method): mpi4py MPI Intercomm.
                                                             (line   64)
* Message (class in mpi4py.MPI):         mpi4py MPI Message. (line    6)
* Message (class in mpi4py.util.pkl5):   mpi4py util pkl5.   (line  108)
* MESSAGE_NO_PROC (in module mpi4py.MPI): mpi4py MPI MESSAGE_NO_PROC.
                                                             (line    6)
* MESSAGE_NULL (in module mpi4py.MPI):   mpi4py MPI MESSAGE_NULL.
                                                             (line    6)
* MIN (in module mpi4py.MPI):            mpi4py MPI MIN.     (line    6)
* MINLOC (in module mpi4py.MPI):         mpi4py MPI MINLOC.  (line    6)
* model (mpi4py.MPI.Win attribute):      mpi4py MPI Win.     (line  828)
* MODE_APPEND (in module mpi4py.MPI):    mpi4py MPI MODE_APPEND.
                                                             (line    6)
* MODE_CREATE (in module mpi4py.MPI):    mpi4py MPI MODE_CREATE.
                                                             (line    6)
* MODE_DELETE_ON_CLOSE (in module mpi4py.MPI): mpi4py MPI MODE_DELETE_ON_CLOSE.
                                                             (line    6)
* MODE_EXCL (in module mpi4py.MPI):      mpi4py MPI MODE_EXCL.
                                                             (line    6)
* MODE_NOCHECK (in module mpi4py.MPI):   mpi4py MPI MODE_NOCHECK.
                                                             (line    6)
* MODE_NOPRECEDE (in module mpi4py.MPI): mpi4py MPI MODE_NOPRECEDE.
                                                             (line    6)
* MODE_NOPUT (in module mpi4py.MPI):     mpi4py MPI MODE_NOPUT.
                                                             (line    6)
* MODE_NOSTORE (in module mpi4py.MPI):   mpi4py MPI MODE_NOSTORE.
                                                             (line    6)
* MODE_NOSUCCEED (in module mpi4py.MPI): mpi4py MPI MODE_NOSUCCEED.
                                                             (line    6)
* MODE_RDONLY (in module mpi4py.MPI):    mpi4py MPI MODE_RDONLY.
                                                             (line    6)
* MODE_RDWR (in module mpi4py.MPI):      mpi4py MPI MODE_RDWR.
                                                             (line    6)
* MODE_SEQUENTIAL (in module mpi4py.MPI): mpi4py MPI MODE_SEQUENTIAL.
                                                             (line    6)
* MODE_UNIQUE_OPEN (in module mpi4py.MPI): mpi4py MPI MODE_UNIQUE_OPEN.
                                                             (line    6)
* MODE_WRONLY (in module mpi4py.MPI):    mpi4py MPI MODE_WRONLY.
                                                             (line    6)
* module; mpi4py:                        mpi4py.             (line    6)
* module; mpi4py.futures:                mpi4py futures.     (line    6)
* module; mpi4py.MPI:                    mpi4py MPI<2>.      (line    6)
* module; mpi4py.run:                    mpi4py run.         (line    6)
* module; mpi4py.util:                   mpi4py util.        (line    6)
* module; mpi4py.util.dtlib:             mpi4py util dtlib.  (line    6)
* module; mpi4py.util.pkl5:              mpi4py util pkl5.   (line    6)
* mpi4py.rc (in module mpi4py):          Runtime configuration options.
                                                             (line    6)
* MPI4PY_FUTURES_MAX_WORKERS:            MPIPoolExecutor.    (line   49)
* MPI4PY_FUTURES_MAX_WORKERS <1>:        MPIPoolExecutor.    (line  205)
* MPI4PY_FUTURES_MAX_WORKERS <2>:        Examples.           (line   84)
* MPI4PY_PICKLE_PROTOCOL:                Tutorial.           (line   56)
* MPI4PY_RC_ERRORS:                      Runtime configuration options.
                                                             (line  147)
* MPI4PY_RC_FAST_REDUCE:                 Runtime configuration options.
                                                             (line  114)
* MPI4PY_RC_FINALIZE:                    Runtime configuration options.
                                                             (line   99)
* MPI4PY_RC_INITIALIZE:                  Runtime configuration options.
                                                             (line   51)
* MPI4PY_RC_RECV_MPROBE:                 Runtime configuration options.
                                                             (line  129)
* MPI4PY_RC_THREADS:                     Runtime configuration options.
                                                             (line   66)
* MPI4PY_RC_THREAD_LEVEL:                Runtime configuration options.
                                                             (line   84)
* MPICC:                                 Using pip.          (line   15)
* MPICH_USE_SHLIB:                       Building MPI from sources.
                                                             (line   58)
* MPICommExecutor (class in mpi4py.futures): MPICommExecutor.
                                                             (line   30)
* MPIEXEC_UNIVERSE_SIZE:                 Examples.           (line   73)
* MPIPoolExecutor (class in mpi4py.futures): MPIPoolExecutor.
                                                             (line   44)
* Mprobe() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1176)
* mprobe() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1762)
* mprobe() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5. (line  321)
* name (mpi4py.MPI.Comm attribute):      mpi4py MPI Comm.    (line 1929)
* name (mpi4py.MPI.Datatype attribute):  mpi4py MPI Datatype.
                                                             (line  730)
* name (mpi4py.MPI.Win attribute):       mpi4py MPI Win.     (line  832)
* nbytes (mpi4py.MPI.memory attribute):  mpi4py MPI memory.  (line  155)
* ndim (mpi4py.MPI.Cartcomm attribute):  mpi4py MPI Cartcomm.
                                                             (line  146)
* nedges (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  113)
* neighbors (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  117)
* Neighbor_allgather() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  159)
* neighbor_allgather() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  229)
* Neighbor_allgatherv() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  173)
* Neighbor_alltoall() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  187)
* neighbor_alltoall() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  239)
* Neighbor_alltoallv() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  201)
* Neighbor_alltoallw() (mpi4py.MPI.Topocomm method): mpi4py MPI Topocomm.
                                                             (line  215)
* nneighbors (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  119)
* nnodes (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  123)
* NO_OP (in module mpi4py.MPI):          mpi4py MPI NO_OP.   (line    6)
* obj (mpi4py.MPI.memory attribute):     mpi4py MPI memory.  (line  159)
* OFFSET (in module mpi4py.MPI):         mpi4py MPI OFFSET.  (line    6)
* Op (class in mpi4py.MPI):              mpi4py MPI Op.      (line    6)
* Open() (mpi4py.MPI.File class method): mpi4py MPI File.    (line  473)
* Open_port() (in module mpi4py.MPI):    mpi4py MPI Open_port.
                                                             (line    6)
* OP_NULL (in module mpi4py.MPI):        mpi4py MPI OP_NULL. (line    6)
* ORDER_C (in module mpi4py.MPI):        mpi4py MPI ORDER_C. (line    6)
* ORDER_F (in module mpi4py.MPI):        mpi4py MPI ORDER_F. (line    6)
* ORDER_FORTRAN (in module mpi4py.MPI):  mpi4py MPI ORDER_FORTRAN.
                                                             (line    6)
* outdegree (mpi4py.MPI.Topocomm attribute): mpi4py MPI Topocomm.
                                                             (line  268)
* outedges (mpi4py.MPI.Topocomm attribute): mpi4py MPI Topocomm.
                                                             (line  272)
* Pack() (mpi4py.MPI.Datatype method):   mpi4py MPI Datatype.
                                                             (line  551)
* PACKED (in module mpi4py.MPI):         mpi4py MPI PACKED.  (line    6)
* Pack_external() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  569)
* Pack_external_size() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  588)
* Pack_size() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  604)
* PATH:                                  MPI-enabled Python interpreter.
                                                             (line   47)
* Pcontrol() (in module mpi4py.MPI):     mpi4py MPI Pcontrol.
                                                             (line    6)
* periods (mpi4py.MPI.Cartcomm attribute): mpi4py MPI Cartcomm.
                                                             (line  150)
* Pickle (class in mpi4py.MPI):          mpi4py MPI Pickle.  (line    6)
* pickle (in module mpi4py.MPI):         mpi4py MPI pickle.  (line    6)
* pop() (mpi4py.MPI.Info method):        mpi4py MPI Info.    (line  219)
* popitem() (mpi4py.MPI.Info method):    mpi4py MPI Info.    (line  233)
* Post() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  579)
* Preallocate() (mpi4py.MPI.File method): mpi4py MPI File.   (line  492)
* Prequest (class in mpi4py.MPI):        mpi4py MPI Prequest.
                                                             (line    6)
* Probe() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1192)
* probe() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1778)
* Probe() (mpi4py.MPI.Message class method): mpi4py MPI Message.
                                                             (line   93)
* probe() (mpi4py.MPI.Message class method): mpi4py MPI Message.
                                                             (line  160)
* probe() (mpi4py.util.pkl5.Message class method): mpi4py util pkl5.
                                                             (line  140)
* PROC_NULL (in module mpi4py.MPI):      mpi4py MPI PROC_NULL.
                                                             (line    6)
* PROD (in module mpi4py.MPI):           mpi4py MPI PROD.    (line    6)
* profile() (in module mpi4py):          Miscellaneous functions.
                                                             (line    6)
* PROTOCOL (mpi4py.MPI.Pickle attribute): mpi4py MPI Pickle. (line   90)
* Publish_name() (in module mpi4py.MPI): mpi4py MPI Publish_name.
                                                             (line    6)
* Put() (mpi4py.MPI.Win method):         mpi4py MPI Win.     (line  593)
* py2f() (mpi4py.MPI.Comm method):       mpi4py MPI Comm.    (line 1794)
* py2f() (mpi4py.MPI.Datatype method):   mpi4py MPI Datatype.
                                                             (line  696)
* py2f() (mpi4py.MPI.Errhandler method): mpi4py MPI Errhandler.
                                                             (line   55)
* py2f() (mpi4py.MPI.File method):       mpi4py MPI File.    (line  936)
* py2f() (mpi4py.MPI.Group method):      mpi4py MPI Group.   (line  241)
* py2f() (mpi4py.MPI.Info method):       mpi4py MPI Info.    (line  240)
* py2f() (mpi4py.MPI.Message method):    mpi4py MPI Message. (line  179)
* py2f() (mpi4py.MPI.Op method):         mpi4py MPI Op.      (line  108)
* py2f() (mpi4py.MPI.Request method):    mpi4py MPI Request. (line  256)
* py2f() (mpi4py.MPI.Status method):     mpi4py MPI Status.  (line  200)
* py2f() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  797)
* Python Enhancement Proposals; PEP 574: mpi4py util pkl5.   (line    8)
* Query_thread() (in module mpi4py.MPI): mpi4py MPI Query_thread.
                                                             (line    6)
* Raccumulate() (mpi4py.MPI.Win method): mpi4py MPI Win.     (line  609)
* Range_excl() (mpi4py.MPI.Group method): mpi4py MPI Group.  (line  177)
* Range_incl() (mpi4py.MPI.Group method): mpi4py MPI Group.  (line  189)
* rank (mpi4py.MPI.Comm attribute):      mpi4py MPI Comm.    (line 1933)
* rank (mpi4py.MPI.Group attribute):     mpi4py MPI Group.   (line  249)
* Read() (mpi4py.MPI.File method):       mpi4py MPI File.    (line  502)
* readonly (mpi4py.MPI.memory attribute): mpi4py MPI memory. (line  163)
* Read_all() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  516)
* Read_all_begin() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  530)
* Read_all_end() (mpi4py.MPI.File method): mpi4py MPI File.  (line  540)
* Read_at() (mpi4py.MPI.File method):    mpi4py MPI File.    (line  554)
* Read_at_all() (mpi4py.MPI.File method): mpi4py MPI File.   (line  570)
* Read_at_all_begin() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  586)
* Read_at_all_end() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  600)
* Read_ordered() (mpi4py.MPI.File method): mpi4py MPI File.  (line  614)
* Read_ordered_begin() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  628)
* Read_ordered_end() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  638)
* Read_shared() (mpi4py.MPI.File method): mpi4py MPI File.   (line  652)
* REAL (in module mpi4py.MPI):           mpi4py MPI REAL.    (line    6)
* REAL16 (in module mpi4py.MPI):         mpi4py MPI REAL16.  (line    6)
* REAL2 (in module mpi4py.MPI):          mpi4py MPI REAL2.   (line    6)
* REAL4 (in module mpi4py.MPI):          mpi4py MPI REAL4.   (line    6)
* REAL8 (in module mpi4py.MPI):          mpi4py MPI REAL8.   (line    6)
* Recv() (mpi4py.MPI.Comm method):       mpi4py MPI Comm.    (line 1210)
* recv() (mpi4py.MPI.Comm method):       mpi4py MPI Comm.    (line 1799)
* Recv() (mpi4py.MPI.Message method):    mpi4py MPI Message. (line  112)
* recv() (mpi4py.MPI.Message method):    mpi4py MPI Message. (line  184)
* recv() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.   (line  258)
* recv() (mpi4py.util.pkl5.Message method): mpi4py util pkl5.
                                                             (line  123)
* Recv_init() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line 1230)
* recv_mprobe (mpi4py.mpi4py.rc attribute): Runtime configuration options.
                                                             (line  116)
* Reduce() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1246)
* reduce() (mpi4py.MPI.Comm method):     mpi4py MPI Comm.    (line 1818)
* Reduce_local() (mpi4py.MPI.Op method): mpi4py MPI Op.      (line   86)
* Reduce_scatter() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line 1264)
* Reduce_scatter_block() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line 1283)
* Register_datarep() (in module mpi4py.MPI): mpi4py MPI Register_datarep.
                                                             (line    6)
* release() (mpi4py.MPI.memory method):  mpi4py MPI memory.  (line  116)
* remote_group (mpi4py.MPI.Intercomm attribute): mpi4py MPI Intercomm.
                                                             (line   77)
* remote_size (mpi4py.MPI.Intercomm attribute): mpi4py MPI Intercomm.
                                                             (line   81)
* REPLACE (in module mpi4py.MPI):        mpi4py MPI REPLACE. (line    6)
* Request (class in mpi4py.MPI):         mpi4py MPI Request. (line    6)
* Request (class in mpi4py.util.pkl5):   mpi4py util pkl5.   (line   35)
* REQUEST_NULL (in module mpi4py.MPI):   mpi4py MPI REQUEST_NULL.
                                                             (line    6)
* Rget() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  627)
* Rget_accumulate() (mpi4py.MPI.Win method): mpi4py MPI Win. (line  643)
* ROOT (in module mpi4py.MPI):           mpi4py MPI ROOT.    (line    6)
* Rput() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  665)
* Rsend() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1299)
* Rsend_init() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line 1315)
* Scan() (mpi4py.MPI.Intracomm method):  mpi4py MPI Intracomm.
                                                             (line  305)
* scan() (mpi4py.MPI.Intracomm method):  mpi4py MPI Intracomm.
                                                             (line  385)
* Scatter() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line 1331)
* scatter() (mpi4py.MPI.Comm method):    mpi4py MPI Comm.    (line 1835)
* Scatterv() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1348)
* Seek() (mpi4py.MPI.File method):       mpi4py MPI File.    (line  666)
* SEEK_CUR (in module mpi4py.MPI):       mpi4py MPI SEEK_CUR.
                                                             (line    6)
* SEEK_END (in module mpi4py.MPI):       mpi4py MPI SEEK_END.
                                                             (line    6)
* SEEK_SET (in module mpi4py.MPI):       mpi4py MPI SEEK_SET.
                                                             (line    6)
* Seek_shared() (mpi4py.MPI.File method): mpi4py MPI File.   (line  680)
* Send() (mpi4py.MPI.Comm method):       mpi4py MPI Comm.    (line 1366)
* send() (mpi4py.MPI.Comm method):       mpi4py MPI Comm.    (line 1849)
* send() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.   (line  162)
* Sendrecv() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1402)
* sendrecv() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1865)
* sendrecv() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.
                                                             (line  296)
* Sendrecv_replace() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line 1435)
* Send_init() (mpi4py.MPI.Comm method):  mpi4py MPI Comm.    (line 1386)
* Set() (mpi4py.MPI.Info method):        mpi4py MPI Info.    (line  154)
* Set_atomicity() (mpi4py.MPI.File method): mpi4py MPI File. (line  694)
* Set_attr() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1466)
* Set_attr() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  619)
* Set_attr() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  681)
* Set_cancelled() (mpi4py.MPI.Status method): mpi4py MPI Status.
                                                             (line  132)
* Set_elements() (mpi4py.MPI.Status method): mpi4py MPI Status.
                                                             (line  145)
* Set_errhandler() (mpi4py.MPI.Comm method): mpi4py MPI Comm.
                                                             (line 1480)
* Set_errhandler() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  704)
* Set_errhandler() (mpi4py.MPI.Win method): mpi4py MPI Win.  (line  695)
* Set_error() (mpi4py.MPI.Status method): mpi4py MPI Status. (line  162)
* Set_info() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1490)
* Set_info() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  714)
* Set_info() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  705)
* Set_name() (mpi4py.MPI.Comm method):   mpi4py MPI Comm.    (line 1500)
* Set_name() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  633)
* Set_name() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  715)
* Set_size() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  724)
* Set_source() (mpi4py.MPI.Status method): mpi4py MPI Status.
                                                             (line  172)
* Set_tag() (mpi4py.MPI.Status method):  mpi4py MPI Status.  (line  182)
* Set_view() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  734)
* Shared_query() (mpi4py.MPI.Win method): mpi4py MPI Win.    (line  725)
* Shift() (mpi4py.MPI.Cartcomm method):  mpi4py MPI Cartcomm.
                                                             (line  105)
* SHORT (in module mpi4py.MPI):          mpi4py MPI SHORT.   (line    6)
* SHORT_INT (in module mpi4py.MPI):      mpi4py MPI SHORT_INT.
                                                             (line    6)
* shutdown() (mpi4py.futures.MPIPoolExecutor method): MPIPoolExecutor.
                                                             (line  160)
* SIGNED_CHAR (in module mpi4py.MPI):    mpi4py MPI SIGNED_CHAR.
                                                             (line    6)
* SIGNED_INT (in module mpi4py.MPI):     mpi4py MPI SIGNED_INT.
                                                             (line    6)
* SIGNED_LONG (in module mpi4py.MPI):    mpi4py MPI SIGNED_LONG.
                                                             (line    6)
* SIGNED_LONG_LONG (in module mpi4py.MPI): mpi4py MPI SIGNED_LONG_LONG.
                                                             (line    6)
* SIGNED_SHORT (in module mpi4py.MPI):   mpi4py MPI SIGNED_SHORT.
                                                             (line    6)
* SIMILAR (in module mpi4py.MPI):        mpi4py MPI SIMILAR. (line    6)
* SINT16_T (in module mpi4py.MPI):       mpi4py MPI SINT16_T.
                                                             (line    6)
* SINT32_T (in module mpi4py.MPI):       mpi4py MPI SINT32_T.
                                                             (line    6)
* SINT64_T (in module mpi4py.MPI):       mpi4py MPI SINT64_T.
                                                             (line    6)
* SINT8_T (in module mpi4py.MPI):        mpi4py MPI SINT8_T. (line    6)
* size (mpi4py.MPI.Comm attribute):      mpi4py MPI Comm.    (line 1937)
* size (mpi4py.MPI.Datatype attribute):  mpi4py MPI Datatype.
                                                             (line  734)
* size (mpi4py.MPI.File attribute):      mpi4py MPI File.    (line  958)
* size (mpi4py.MPI.Group attribute):     mpi4py MPI Group.   (line  253)
* source (mpi4py.MPI.Status attribute):  mpi4py MPI Status.  (line  218)
* Spawn() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  321)
* Spawn_multiple() (mpi4py.MPI.Intracomm method): mpi4py MPI Intracomm.
                                                             (line  344)
* Split() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1510)
* Split_type() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line 1524)
* Ssend() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1540)
* ssend() (mpi4py.MPI.Comm method):      mpi4py MPI Comm.    (line 1890)
* ssend() (mpi4py.util.pkl5.Comm method): mpi4py util pkl5.  (line  194)
* Ssend_init() (mpi4py.MPI.Comm method): mpi4py MPI Comm.    (line 1556)
* starmap() (mpi4py.futures.MPIPoolExecutor method): MPIPoolExecutor.
                                                             (line  146)
* Start() (mpi4py.MPI.Grequest class method): mpi4py MPI Grequest.
                                                             (line   47)
* Start() (mpi4py.MPI.Prequest method):  mpi4py MPI Prequest.
                                                             (line   38)
* Start() (mpi4py.MPI.Win method):       mpi4py MPI Win.     (line  736)
* Startall() (mpi4py.MPI.Prequest class method): mpi4py MPI Prequest.
                                                             (line   45)
* Status (class in mpi4py.MPI):          mpi4py MPI Status.  (line    6)
* Sub() (mpi4py.MPI.Cartcomm method):    mpi4py MPI Cartcomm.
                                                             (line  120)
* submit() (mpi4py.futures.MPIPoolExecutor method): MPIPoolExecutor.
                                                             (line  107)
* SUBVERSION (in module mpi4py.MPI):     mpi4py MPI SUBVERSION.
                                                             (line    6)
* SUCCESS (in module mpi4py.MPI):        mpi4py MPI SUCCESS. (line    6)
* SUM (in module mpi4py.MPI):            mpi4py MPI SUM.     (line    6)
* Sync() (mpi4py.MPI.File method):       mpi4py MPI File.    (line  755)
* Sync() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  750)
* tag (mpi4py.MPI.Status attribute):     mpi4py MPI Status.  (line  220)
* TAG_UB (in module mpi4py.MPI):         mpi4py MPI TAG_UB.  (line    6)
* Test() (mpi4py.MPI.Request method):    mpi4py MPI Request. (line  123)
* test() (mpi4py.MPI.Request method):    mpi4py MPI Request. (line  261)
* Test() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  757)
* test() (mpi4py.util.pkl5.Request method): mpi4py util pkl5.
                                                             (line   74)
* Testall() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  133)
* testall() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  271)
* testall() (mpi4py.util.pkl5.Request class method): mpi4py util pkl5.
                                                             (line   94)
* Testany() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  148)
* testany() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  286)
* Testsome() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  162)
* testsome() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  300)
* threads (mpi4py.mpi4py.rc attribute):  Runtime configuration options.
                                                             (line   53)
* THREAD_FUNNELED (in module mpi4py.MPI): mpi4py MPI THREAD_FUNNELED.
                                                             (line    6)
* thread_level (mpi4py.mpi4py.rc attribute): Runtime configuration options.
                                                             (line   68)
* THREAD_MULTIPLE (in module mpi4py.MPI): mpi4py MPI THREAD_MULTIPLE.
                                                             (line    6)
* THREAD_SERIALIZED (in module mpi4py.MPI): mpi4py MPI THREAD_SERIALIZED.
                                                             (line    6)
* THREAD_SINGLE (in module mpi4py.MPI):  mpi4py MPI THREAD_SINGLE.
                                                             (line    6)
* tobytes() (mpi4py.MPI.memory method):  mpi4py MPI memory.  (line  123)
* tomemory() (mpi4py.MPI.Win method):    mpi4py MPI Win.     (line  802)
* topo (mpi4py.MPI.Cartcomm attribute):  mpi4py MPI Cartcomm.
                                                             (line  154)
* topo (mpi4py.MPI.Graphcomm attribute): mpi4py MPI Graphcomm.
                                                             (line  127)
* Topocomm (class in mpi4py.MPI):        mpi4py MPI Topocomm.
                                                             (line    6)
* topology (mpi4py.MPI.Comm attribute):  mpi4py MPI Comm.    (line 1941)
* toreadonly() (mpi4py.MPI.memory method): mpi4py MPI memory.
                                                             (line  133)
* to_numpy_dtype() (in module mpi4py.util.dtlib): mpi4py util dtlib.
                                                             (line   22)
* Translate_ranks() (mpi4py.MPI.Group class method): mpi4py MPI Group.
                                                             (line  201)
* true_extent (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  736)
* true_lb (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  740)
* true_ub (mpi4py.MPI.Datatype attribute): mpi4py MPI Datatype.
                                                             (line  744)
* TWOINT (in module mpi4py.MPI):         mpi4py MPI TWOINT.  (line    6)
* TYPECLASS_COMPLEX (in module mpi4py.MPI): mpi4py MPI TYPECLASS_COMPLEX.
                                                             (line    6)
* TYPECLASS_INTEGER (in module mpi4py.MPI): mpi4py MPI TYPECLASS_INTEGER.
                                                             (line    6)
* TYPECLASS_REAL (in module mpi4py.MPI): mpi4py MPI TYPECLASS_REAL.
                                                             (line    6)
* UB (in module mpi4py.MPI):             mpi4py MPI UB.      (line    6)
* ub (mpi4py.MPI.Datatype attribute):    mpi4py MPI Datatype.
                                                             (line  748)
* UINT16_T (in module mpi4py.MPI):       mpi4py MPI UINT16_T.
                                                             (line    6)
* UINT32_T (in module mpi4py.MPI):       mpi4py MPI UINT32_T.
                                                             (line    6)
* UINT64_T (in module mpi4py.MPI):       mpi4py MPI UINT64_T.
                                                             (line    6)
* UINT8_T (in module mpi4py.MPI):        mpi4py MPI UINT8_T. (line    6)
* UNDEFINED (in module mpi4py.MPI):      mpi4py MPI UNDEFINED.
                                                             (line    6)
* UNEQUAL (in module mpi4py.MPI):        mpi4py MPI UNEQUAL. (line    6)
* Union() (mpi4py.MPI.Group class method): mpi4py MPI Group. (line  219)
* UNIVERSE_SIZE (in module mpi4py.MPI):  mpi4py MPI UNIVERSE_SIZE.
                                                             (line    6)
* Unlock() (mpi4py.MPI.Win method):      mpi4py MPI Win.     (line  764)
* Unlock_all() (mpi4py.MPI.Win method):  mpi4py MPI Win.     (line  774)
* Unpack() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  643)
* Unpack_external() (mpi4py.MPI.Datatype method): mpi4py MPI Datatype.
                                                             (line  661)
* Unpublish_name() (in module mpi4py.MPI): mpi4py MPI Unpublish_name.
                                                             (line    6)
* UNSIGNED (in module mpi4py.MPI):       mpi4py MPI UNSIGNED.
                                                             (line    6)
* UNSIGNED_CHAR (in module mpi4py.MPI):  mpi4py MPI UNSIGNED_CHAR.
                                                             (line    6)
* UNSIGNED_INT (in module mpi4py.MPI):   mpi4py MPI UNSIGNED_INT.
                                                             (line    6)
* UNSIGNED_LONG (in module mpi4py.MPI):  mpi4py MPI UNSIGNED_LONG.
                                                             (line    6)
* UNSIGNED_LONG_LONG (in module mpi4py.MPI): mpi4py MPI UNSIGNED_LONG_LONG.
                                                             (line    6)
* UNSIGNED_SHORT (in module mpi4py.MPI): mpi4py MPI UNSIGNED_SHORT.
                                                             (line    6)
* UNWEIGHTED (in module mpi4py.MPI):     mpi4py MPI UNWEIGHTED.
                                                             (line    6)
* update() (mpi4py.MPI.Info method):     mpi4py MPI Info.    (line  245)
* values() (mpi4py.MPI.Info method):     mpi4py MPI Info.    (line  261)
* VERSION (in module mpi4py.MPI):        mpi4py MPI VERSION. (line    6)
* Wait() (mpi4py.MPI.Request method):    mpi4py MPI Request. (line  177)
* wait() (mpi4py.MPI.Request method):    mpi4py MPI Request. (line  316)
* Wait() (mpi4py.MPI.Win method):        mpi4py MPI Win.     (line  781)
* wait() (mpi4py.util.pkl5.Request method): mpi4py util pkl5.
                                                             (line   84)
* Waitall() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  187)
* waitall() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  326)
* waitall() (mpi4py.util.pkl5.Request class method): mpi4py util pkl5.
                                                             (line  101)
* Waitany() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  202)
* waitany() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  341)
* Waitsome() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  216)
* waitsome() (mpi4py.MPI.Request class method): mpi4py MPI Request.
                                                             (line  355)
* WCHAR (in module mpi4py.MPI):          mpi4py MPI WCHAR.   (line    6)
* WEIGHTS_EMPTY (in module mpi4py.MPI):  mpi4py MPI WEIGHTS_EMPTY.
                                                             (line    6)
* Win (class in mpi4py.MPI):             mpi4py MPI Win.     (line    6)
* WIN_BASE (in module mpi4py.MPI):       mpi4py MPI WIN_BASE.
                                                             (line    6)
* WIN_CREATE_FLAVOR (in module mpi4py.MPI): mpi4py MPI WIN_CREATE_FLAVOR.
                                                             (line    6)
* WIN_DISP_UNIT (in module mpi4py.MPI):  mpi4py MPI WIN_DISP_UNIT.
                                                             (line    6)
* WIN_FLAVOR (in module mpi4py.MPI):     mpi4py MPI WIN_FLAVOR.
                                                             (line    6)
* WIN_FLAVOR_ALLOCATE (in module mpi4py.MPI): mpi4py MPI WIN_FLAVOR_ALLOCATE.
                                                             (line    6)
* WIN_FLAVOR_CREATE (in module mpi4py.MPI): mpi4py MPI WIN_FLAVOR_CREATE.
                                                             (line    6)
* WIN_FLAVOR_DYNAMIC (in module mpi4py.MPI): mpi4py MPI WIN_FLAVOR_DYNAMIC.
                                                             (line    6)
* WIN_FLAVOR_SHARED (in module mpi4py.MPI): mpi4py MPI WIN_FLAVOR_SHARED.
                                                             (line    6)
* WIN_MODEL (in module mpi4py.MPI):      mpi4py MPI WIN_MODEL.
                                                             (line    6)
* WIN_NULL (in module mpi4py.MPI):       mpi4py MPI WIN_NULL.
                                                             (line    6)
* WIN_SEPARATE (in module mpi4py.MPI):   mpi4py MPI WIN_SEPARATE.
                                                             (line    6)
* WIN_SIZE (in module mpi4py.MPI):       mpi4py MPI WIN_SIZE.
                                                             (line    6)
* WIN_UNIFIED (in module mpi4py.MPI):    mpi4py MPI WIN_UNIFIED.
                                                             (line    6)
* Write() (mpi4py.MPI.File method):      mpi4py MPI File.    (line  763)
* Write_all() (mpi4py.MPI.File method):  mpi4py MPI File.    (line  777)
* Write_all_begin() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  791)
* Write_all_end() (mpi4py.MPI.File method): mpi4py MPI File. (line  801)
* Write_at() (mpi4py.MPI.File method):   mpi4py MPI File.    (line  816)
* Write_at_all() (mpi4py.MPI.File method): mpi4py MPI File.  (line  832)
* Write_at_all_begin() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  848)
* Write_at_all_end() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  862)
* Write_ordered() (mpi4py.MPI.File method): mpi4py MPI File. (line  876)
* Write_ordered_begin() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  890)
* Write_ordered_end() (mpi4py.MPI.File method): mpi4py MPI File.
                                                             (line  900)
* Write_shared() (mpi4py.MPI.File method): mpi4py MPI File.  (line  914)
* Wtick() (in module mpi4py.MPI):        mpi4py MPI Wtick.   (line    6)
* Wtime() (in module mpi4py.MPI):        mpi4py MPI Wtime.   (line    6)
* WTIME_IS_GLOBAL (in module mpi4py.MPI): mpi4py MPI WTIME_IS_GLOBAL.
                                                             (line    6)



Tag Table:
Node: Top322
Ref: index doc523
Ref: 7523
Node: Introduction19339
Ref: intro doc19420
Ref: 819420
Ref: intro introduction19420
Ref: 919420
Ref: intro mpi-for-python19420
Ref: a19420
Ref: Introduction-Footnote-121500
Ref: Introduction-Footnote-221533
Node: What is MPI?21597
Ref: intro what-is-mpi21682
Ref: b21682
Ref: What is MPI?-Footnote-122498
Ref: What is MPI?-Footnote-222533
Ref: What is MPI?-Footnote-322564
Node: What is Python?22598
Ref: intro what-is-python22708
Ref: 1222708
Ref: What is Python?-Footnote-123988
Node: Related Projects24020
Ref: intro related-projects24109
Ref: 1524109
Ref: intro mpi-std127771
Ref: e27771
Ref: intro mpi-std227934
Ref: f27934
Ref: intro mpi-using28085
Ref: c28085
Ref: intro mpi-ref28243
Ref: d28243
Ref: intro mpi-mpich28419
Ref: 1028419
Ref: intro mpi-openmpi28621
Ref: 1128621
Ref: intro hinsen9729059
Ref: 1329059
Ref: intro beazley9729280
Ref: 1429280
Ref: Related Projects-Footnote-129524
Ref: Related Projects-Footnote-229626
Ref: Related Projects-Footnote-329671
Ref: Related Projects-Footnote-429719
Ref: Related Projects-Footnote-529778
Ref: Related Projects-Footnote-629805
Ref: Related Projects-Footnote-729832
Ref: Related Projects-Footnote-829860
Node: Overview29889
Ref: overview doc29975
Ref: 1629975
Ref: overview overview29975
Ref: 1729975
Node: Communicating Python Objects and Array Data30651
Ref: overview communicating-python-objects-and-array-data30761
Ref: 1830761
Ref: Communicating Python Objects and Array Data-Footnote-133337
Ref: Communicating Python Objects and Array Data-Footnote-233405
Ref: Communicating Python Objects and Array Data-Footnote-333475
Node: Communicators33543
Ref: overview communicators33691
Ref: 1933691
Node: Point-to-Point Communications35487
Ref: overview point-to-point-communications35617
Ref: 3435617
Node: Blocking Communications36540
Ref: overview blocking-communications36664
Ref: 3536664
Node: Nonblocking Communications37360
Ref: overview nonblocking-communications37518
Ref: 3c37518
Node: Persistent Communications38859
Ref: overview persistent-communications38985
Ref: 4338985
Node: Collective Communications39951
Ref: overview collective-communications40093
Ref: 4840093
Node: Support for GPU-aware MPI42357
Ref: overview support-for-gpu-aware-mpi42496
Ref: 6442496
Ref: Support for GPU-aware MPI-Footnote-143644
Ref: Support for GPU-aware MPI-Footnote-243728
Node: Dynamic Process Management43807
Ref: overview dynamic-process-management43945
Ref: 6643945
Node: One-Sided Communications46359
Ref: overview one-sided-communications46493
Ref: 7146493
Node: Parallel Input/Output48989
Ref: overview parallel-input-output49121
Ref: 7f49121
Node: Environmental Management52149
Ref: overview environmental-management52248
Ref: 8652248
Node: Initialization and Exit52406
Ref: overview initialization-and-exit52525
Ref: 8752525
Ref: Initialization and Exit-Footnote-153602
Node: Implementation Information53663
Ref: overview implementation-information53797
Ref: 8d53797
Node: Timers54314
Ref: overview timers54439
Ref: 9154439
Node: Error Handling54568
Ref: overview error-handling54658
Ref: 9454658
Ref: Error Handling-Footnote-156057
Ref: Error Handling-Footnote-256128
Node: Tutorial56196
Ref: tutorial doc56276
Ref: 6556276
Ref: tutorial id156276
Ref: 9a56276
Ref: tutorial tutorial56276
Ref: 9b56276
Ref: Tutorial-Footnote-161616
Ref: Tutorial-Footnote-261665
Ref: Tutorial-Footnote-361694
Ref: Tutorial-Footnote-461763
Ref: Tutorial-Footnote-561806
Ref: Tutorial-Footnote-661843
Ref: Tutorial-Footnote-761884
Ref: Tutorial-Footnote-861947
Ref: Tutorial-Footnote-962009
Ref: Tutorial-Footnote-1062080
Ref: Tutorial-Footnote-1162160
Node: Running Python scripts with MPI62229
Ref: tutorial running-python-scripts-with-mpi62342
Ref: a462342
Node: Point-to-Point Communication62604
Ref: tutorial point-to-point-communication62750
Ref: a562750
Ref: Point-to-Point Communication-Footnote-164375
Node: Collective Communication64443
Ref: tutorial collective-communication64564
Ref: a664564
Node: MPI-IO67524
Ref: tutorial mpi-io67646
Ref: a767646
Node: Dynamic Process Management<2>68848
Ref: tutorial dynamic-process-management68980
Ref: a868980
Node: CUDA-aware MPI + Python GPU arrays70270
Ref: tutorial cuda-aware-mpi-python-gpu-arrays70423
Ref: a970423
Node: One-Sided Communications<2>71058
Ref: tutorial one-sided-communications71200
Ref: aa71200
Node: Wrapping with SWIG73205
Ref: tutorial wrapping-with-swig73331
Ref: ab73331
Node: Wrapping with F2Py74211
Ref: tutorial wrapping-with-f2py74301
Ref: ac74301
Node: mpi4py75076
Ref: mpi4py doc75158
Ref: ad75158
Ref: mpi4py module-mpi4py75158
Ref: 075158
Ref: mpi4py mpi4py75158
Ref: ae75158
Node: Runtime configuration options76056
Ref: mpi4py runtime-configuration-options76158
Ref: af76158
Ref: mpi4py mpi4py mpi4py rc76227
Ref: b076227
Ref: mpi4py mpi4py mpi4py rc initialize77137
Ref: b177137
Ref: mpi4py mpi4py mpi4py rc threads77332
Ref: b277332
Ref: mpi4py mpi4py mpi4py rc thread_level77525
Ref: b377525
Ref: mpi4py mpi4py mpi4py rc finalize77815
Ref: b477815
Ref: mpi4py mpi4py mpi4py rc fast_reduce78013
Ref: b578013
Ref: mpi4py mpi4py mpi4py rc recv_mprobe78210
Ref: b678210
Ref: mpi4py mpi4py mpi4py rc errors78408
Ref: b778408
Ref: Runtime configuration options-Footnote-179322
Ref: Runtime configuration options-Footnote-279384
Ref: Runtime configuration options-Footnote-379446
Ref: Runtime configuration options-Footnote-479508
Ref: Runtime configuration options-Footnote-579570
Ref: Runtime configuration options-Footnote-679630
Ref: Runtime configuration options-Footnote-779692
Ref: Runtime configuration options-Footnote-879754
Ref: Runtime configuration options-Footnote-979816
Ref: Runtime configuration options-Footnote-1079878
Ref: Runtime configuration options-Footnote-1179941
Ref: Runtime configuration options-Footnote-1280004
Ref: Runtime configuration options-Footnote-1380067
Node: Environment variables80128
Ref: mpi4py environment-variables80262
Ref: bf80262
Ref: mpi4py envvar-MPI4PY_RC_INITIALIZE80709
Ref: b880709
Ref: mpi4py envvar-MPI4PY_RC_FINALIZE80999
Ref: bb80999
Ref: mpi4py envvar-MPI4PY_RC_THREADS81323
Ref: b981323
Ref: mpi4py envvar-MPI4PY_RC_THREAD_LEVEL81560
Ref: ba81560
Ref: mpi4py envvar-MPI4PY_RC_FAST_REDUCE81871
Ref: bc81871
Ref: mpi4py envvar-MPI4PY_RC_RECV_MPROBE82119
Ref: bd82119
Ref: mpi4py envvar-MPI4PY_RC_ERRORS82339
Ref: be82339
Ref: mpi4py envvar-MPI4PY_PICKLE_PROTOCOL82624
Ref: a182624
Ref: mpi4py envvar-MPI4PY_PICKLE_THRESHOLD82996
Ref: c082996
Ref: Environment variables-Footnote-183395
Ref: Environment variables-Footnote-283458
Ref: Environment variables-Footnote-383520
Ref: Environment variables-Footnote-483560
Ref: Environment variables-Footnote-583622
Ref: Environment variables-Footnote-683684
Ref: Environment variables-Footnote-783746
Ref: Environment variables-Footnote-883808
Ref: Environment variables-Footnote-983870
Ref: Environment variables-Footnote-1083932
Ref: Environment variables-Footnote-1183995
Ref: Environment variables-Footnote-1284059
Ref: Environment variables-Footnote-1384122
Ref: Environment variables-Footnote-1484185
Ref: Environment variables-Footnote-1584248
Ref: Environment variables-Footnote-1684311
Ref: Environment variables-Footnote-1784374
Ref: Environment variables-Footnote-1884437
Ref: Environment variables-Footnote-1984499
Ref: Environment variables-Footnote-2084579
Node: Miscellaneous functions84641
Ref: mpi4py miscellaneous-functions84737
Ref: c184737
Ref: mpi4py mpi4py profile84794
Ref: c284794
Ref: mpi4py mpi4py get_config85253
Ref: c385253
Ref: mpi4py mpi4py get_include85387
Ref: c485387
Ref: Miscellaneous functions-Footnote-185880
Ref: Miscellaneous functions-Footnote-285940
Ref: Miscellaneous functions-Footnote-386002
Ref: Miscellaneous functions-Footnote-486062
Ref: Miscellaneous functions-Footnote-586122
Ref: Miscellaneous functions-Footnote-686188
Ref: Miscellaneous functions-Footnote-786248
Ref: Miscellaneous functions-Footnote-886308
Node: mpi4py MPI86368
Ref: mpi4py MPI doc86456
Ref: c586456
Ref: mpi4py MPI mpi4py-mpi86456
Ref: c686456
Node: Classes86534
Ref: mpi4py MPI classes86606
Ref: c786606
Node: Functions88472
Ref: mpi4py MPI functions88563
Ref: d288563
Node: Attributes92414
Ref: mpi4py MPI attributes92489
Ref: e692489
Ref: Attributes-Footnote-1116086
Ref: Attributes-Footnote-2116147
Ref: Attributes-Footnote-3116208
Ref: Attributes-Footnote-4116269
Ref: Attributes-Footnote-5116330
Ref: Attributes-Footnote-6116391
Ref: Attributes-Footnote-7116452
Ref: Attributes-Footnote-8116513
Ref: Attributes-Footnote-9116574
Ref: Attributes-Footnote-10116635
Ref: Attributes-Footnote-11116697
Ref: Attributes-Footnote-12116759
Ref: Attributes-Footnote-13116821
Ref: Attributes-Footnote-14116883
Ref: Attributes-Footnote-15116945
Ref: Attributes-Footnote-16117007
Ref: Attributes-Footnote-17117069
Ref: Attributes-Footnote-18117131
Ref: Attributes-Footnote-19117193
Ref: Attributes-Footnote-20117255
Ref: Attributes-Footnote-21117317
Ref: Attributes-Footnote-22117379
Ref: Attributes-Footnote-23117441
Ref: Attributes-Footnote-24117503
Ref: Attributes-Footnote-25117565
Ref: Attributes-Footnote-26117627
Ref: Attributes-Footnote-27117689
Ref: Attributes-Footnote-28117751
Ref: Attributes-Footnote-29117813
Ref: Attributes-Footnote-30117875
Ref: Attributes-Footnote-31117937
Ref: Attributes-Footnote-32117999
Ref: Attributes-Footnote-33118061
Ref: Attributes-Footnote-34118123
Ref: Attributes-Footnote-35118185
Ref: Attributes-Footnote-36118247
Ref: Attributes-Footnote-37118309
Ref: Attributes-Footnote-38118371
Ref: Attributes-Footnote-39118433
Ref: Attributes-Footnote-40118495
Ref: Attributes-Footnote-41118557
Ref: Attributes-Footnote-42118619
Ref: Attributes-Footnote-43118681
Ref: Attributes-Footnote-44118743
Ref: Attributes-Footnote-45118805
Ref: Attributes-Footnote-46118867
Ref: Attributes-Footnote-47118929
Ref: Attributes-Footnote-48118991
Ref: Attributes-Footnote-49119053
Ref: Attributes-Footnote-50119115
Ref: Attributes-Footnote-51119177
Ref: Attributes-Footnote-52119239
Ref: Attributes-Footnote-53119301
Ref: Attributes-Footnote-54119363
Ref: Attributes-Footnote-55119425
Ref: Attributes-Footnote-56119487
Ref: Attributes-Footnote-57119549
Ref: Attributes-Footnote-58119611
Ref: Attributes-Footnote-59119673
Ref: Attributes-Footnote-60119735
Ref: Attributes-Footnote-61119797
Ref: Attributes-Footnote-62119859
Ref: Attributes-Footnote-63119921
Ref: Attributes-Footnote-64119983
Ref: Attributes-Footnote-65120045
Ref: Attributes-Footnote-66120107
Ref: Attributes-Footnote-67120169
Ref: Attributes-Footnote-68120231
Ref: Attributes-Footnote-69120293
Ref: Attributes-Footnote-70120355
Ref: Attributes-Footnote-71120417
Ref: Attributes-Footnote-72120479
Ref: Attributes-Footnote-73120541
Ref: Attributes-Footnote-74120603
Ref: Attributes-Footnote-75120665
Ref: Attributes-Footnote-76120727
Ref: Attributes-Footnote-77120789
Ref: Attributes-Footnote-78120851
Ref: Attributes-Footnote-79120913
Ref: Attributes-Footnote-80120975
Ref: Attributes-Footnote-81121037
Ref: Attributes-Footnote-82121099
Ref: Attributes-Footnote-83121161
Ref: Attributes-Footnote-84121223
Ref: Attributes-Footnote-85121285
Ref: Attributes-Footnote-86121347
Ref: Attributes-Footnote-87121409
Ref: Attributes-Footnote-88121471
Ref: Attributes-Footnote-89121533
Ref: Attributes-Footnote-90121595
Ref: Attributes-Footnote-91121657
Ref: Attributes-Footnote-92121719
Ref: Attributes-Footnote-93121781
Ref: Attributes-Footnote-94121843
Ref: Attributes-Footnote-95121905
Ref: Attributes-Footnote-96121967
Ref: Attributes-Footnote-97122029
Ref: Attributes-Footnote-98122091
Ref: Attributes-Footnote-99122153
Ref: Attributes-Footnote-100122215
Ref: Attributes-Footnote-101122278
Ref: Attributes-Footnote-102122341
Ref: Attributes-Footnote-103122404
Ref: Attributes-Footnote-104122467
Ref: Attributes-Footnote-105122530
Ref: Attributes-Footnote-106122593
Ref: Attributes-Footnote-107122656
Ref: Attributes-Footnote-108122719
Ref: Attributes-Footnote-109122782
Ref: Attributes-Footnote-110122845
Ref: Attributes-Footnote-111122908
Ref: Attributes-Footnote-112122971
Ref: Attributes-Footnote-113123034
Ref: Attributes-Footnote-114123097
Ref: Attributes-Footnote-115123160
Ref: Attributes-Footnote-116123223
Ref: Attributes-Footnote-117123286
Ref: Attributes-Footnote-118123349
Ref: Attributes-Footnote-119123412
Ref: Attributes-Footnote-120123475
Ref: Attributes-Footnote-121123538
Ref: Attributes-Footnote-122123601
Ref: Attributes-Footnote-123123664
Ref: Attributes-Footnote-124123727
Ref: Attributes-Footnote-125123790
Ref: Attributes-Footnote-126123853
Ref: Attributes-Footnote-127123916
Ref: Attributes-Footnote-128123979
Ref: Attributes-Footnote-129124042
Ref: Attributes-Footnote-130124105
Ref: Attributes-Footnote-131124168
Ref: Attributes-Footnote-132124231
Ref: Attributes-Footnote-133124294
Ref: Attributes-Footnote-134124357
Ref: Attributes-Footnote-135124420
Ref: Attributes-Footnote-136124483
Ref: Attributes-Footnote-137124546
Ref: Attributes-Footnote-138124609
Ref: Attributes-Footnote-139124672
Ref: Attributes-Footnote-140124735
Ref: Attributes-Footnote-141124798
Ref: Attributes-Footnote-142124861
Ref: Attributes-Footnote-143124924
Ref: Attributes-Footnote-144124987
Ref: Attributes-Footnote-145125050
Ref: Attributes-Footnote-146125113
Ref: Attributes-Footnote-147125176
Ref: Attributes-Footnote-148125239
Ref: Attributes-Footnote-149125302
Ref: Attributes-Footnote-150125365
Ref: Attributes-Footnote-151125428
Ref: Attributes-Footnote-152125491
Ref: Attributes-Footnote-153125554
Ref: Attributes-Footnote-154125617
Ref: Attributes-Footnote-155125680
Ref: Attributes-Footnote-156125743
Node: mpi4py futures125806
Ref: mpi4py futures doc125899
Ref: 1f4125899
Ref: mpi4py futures module-mpi4py futures125899
Ref: 1125899
Ref: mpi4py futures mpi4py-futures125899
Ref: 1f5125899
Node: concurrent futures126237
Ref: mpi4py futures concurrent-futures126330
Ref: 1f6126330
Ref: concurrent futures-Footnote-1127565
Ref: concurrent futures-Footnote-2127658
Ref: concurrent futures-Footnote-3127753
Ref: concurrent futures-Footnote-4127855
Ref: concurrent futures-Footnote-5127948
Ref: concurrent futures-Footnote-6128041
Ref: concurrent futures-Footnote-7128134
Ref: concurrent futures-Footnote-8128225
Ref: concurrent futures-Footnote-9128324
Ref: concurrent futures-Footnote-10128417
Ref: concurrent futures-Footnote-11128469
Ref: concurrent futures-Footnote-12128511
Ref: concurrent futures-Footnote-13128605
Ref: concurrent futures-Footnote-14128699
Node: MPIPoolExecutor128793
Ref: mpi4py futures mpipoolexecutor128910
Ref: 1f8128910
Ref: mpi4py futures mpi4py futures MPIPoolExecutor131194
Ref: 1f7131194
Ref: mpi4py futures mpi4py futures MPIPoolExecutor submit134501
Ref: 1fa134501
Ref: mpi4py futures mpi4py futures MPIPoolExecutor map134890
Ref: 1fb134890
Ref: mpi4py futures mpi4py futures MPIPoolExecutor starmap136585
Ref: 1fc136585
Ref: mpi4py futures mpi4py futures MPIPoolExecutor shutdown137235
Ref: 1fd137235
Ref: mpi4py futures mpi4py futures MPIPoolExecutor bootup138862
Ref: 1fe138862
Ref: mpi4py futures envvar-MPI4PY_FUTURES_MAX_WORKERS139360
Ref: 1f9139360
Ref: MPIPoolExecutor-Footnote-1140944
Ref: MPIPoolExecutor-Footnote-2141022
Ref: MPIPoolExecutor-Footnote-3141094
Ref: MPIPoolExecutor-Footnote-4141166
Ref: MPIPoolExecutor-Footnote-5141232
Ref: MPIPoolExecutor-Footnote-6141304
Ref: MPIPoolExecutor-Footnote-7141376
Ref: MPIPoolExecutor-Footnote-8141439
Ref: MPIPoolExecutor-Footnote-9141534
Ref: MPIPoolExecutor-Footnote-10141596
Ref: MPIPoolExecutor-Footnote-11141666
Ref: MPIPoolExecutor-Footnote-12141768
Ref: MPIPoolExecutor-Footnote-13141835
Ref: MPIPoolExecutor-Footnote-14141897
Ref: MPIPoolExecutor-Footnote-15141959
Ref: MPIPoolExecutor-Footnote-16142027
Ref: MPIPoolExecutor-Footnote-17142093
Ref: MPIPoolExecutor-Footnote-18142155
Ref: MPIPoolExecutor-Footnote-19142217
Ref: MPIPoolExecutor-Footnote-20142281
Ref: MPIPoolExecutor-Footnote-21142354
Ref: MPIPoolExecutor-Footnote-22142418
Ref: MPIPoolExecutor-Footnote-23142491
Ref: MPIPoolExecutor-Footnote-24142553
Ref: MPIPoolExecutor-Footnote-25142614
Ref: MPIPoolExecutor-Footnote-26142686
Ref: MPIPoolExecutor-Footnote-27142746
Ref: MPIPoolExecutor-Footnote-28142808
Ref: MPIPoolExecutor-Footnote-29142870
Ref: MPIPoolExecutor-Footnote-30142964
Ref: MPIPoolExecutor-Footnote-31143026
Ref: MPIPoolExecutor-Footnote-32143126
Ref: MPIPoolExecutor-Footnote-33143202
Ref: MPIPoolExecutor-Footnote-34143265
Ref: MPIPoolExecutor-Footnote-35143328
Ref: MPIPoolExecutor-Footnote-36143405
Ref: MPIPoolExecutor-Footnote-37143477
Ref: MPIPoolExecutor-Footnote-38143540
Ref: MPIPoolExecutor-Footnote-39143604
Ref: MPIPoolExecutor-Footnote-40143667
Ref: MPIPoolExecutor-Footnote-41143737
Ref: MPIPoolExecutor-Footnote-42143800
Ref: MPIPoolExecutor-Footnote-43143863
Ref: MPIPoolExecutor-Footnote-44143926
Node: MPICommExecutor144000
Ref: mpi4py futures mpicommexecutor144111
Ref: 1ff144111
Ref: mpi4py futures mpi4py futures MPICommExecutor145495
Ref: 200145495
Ref: MPICommExecutor-Footnote-1147434
Ref: MPICommExecutor-Footnote-2147496
Ref: MPICommExecutor-Footnote-3147565
Ref: MPICommExecutor-Footnote-4147627
Ref: MPICommExecutor-Footnote-5147696
Node: Command line147801
Ref: mpi4py futures command-line147905
Ref: 202147905
Ref: Command line-Footnote-1150778
Ref: Command line-Footnote-2150839
Node: Examples150909
Ref: mpi4py futures examples150989
Ref: 203150989
Ref: mpi4py futures term-GIL154739
Ref: 201154739
Ref: Examples-Footnote-1154818
Ref: Examples-Footnote-2154866
Ref: Examples-Footnote-3154917
Ref: Examples-Footnote-4155116
Ref: Examples-Footnote-5155186
Node: mpi4py util155264
Ref: mpi4py util doc155357
Ref: 204155357
Ref: mpi4py util module-mpi4py util155357
Ref: 4155357
Ref: mpi4py util mpi4py-util155357
Ref: 205155357
Node: mpi4py util pkl5155608
Ref: mpi4py util pkl5 doc155698
Ref: 206155698
Ref: mpi4py util pkl5 module-mpi4py util pkl5155698
Ref: 6155698
Ref: mpi4py util pkl5 mpi4py-util-pkl5155698
Ref: 207155698
Ref: mpi4py util pkl5 mpi4py util pkl5 Request157218
Ref: 208157218
Ref: mpi4py util pkl5 mpi4py util pkl5 Request Free157572
Ref: 209157572
Ref: mpi4py util pkl5 mpi4py util pkl5 Request cancel157669
Ref: 20a157669
Ref: mpi4py util pkl5 mpi4py util pkl5 Request get_status157770
Ref: 20b157770
Ref: mpi4py util pkl5 mpi4py util pkl5 Request test158000
Ref: 20c158000
Ref: mpi4py util pkl5 mpi4py util pkl5 Request wait158230
Ref: 20d158230
Ref: mpi4py util pkl5 mpi4py util pkl5 Request testall158428
Ref: 20e158428
Ref: mpi4py util pkl5 mpi4py util pkl5 Request waitall158569
Ref: 20f158569
Ref: mpi4py util pkl5 mpi4py util pkl5 Message158704
Ref: 210158704
Ref: mpi4py util pkl5 mpi4py util pkl5 Message recv159047
Ref: 211159047
Ref: mpi4py util pkl5 mpi4py util pkl5 Message irecv159250
Ref: 212159250
Ref: mpi4py util pkl5 mpi4py util pkl5 Message probe159373
Ref: 213159373
Ref: mpi4py util pkl5 mpi4py util pkl5 Message iprobe159549
Ref: 214159549
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm159729
Ref: 215159729
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm send159822
Ref: 216159822
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm bsend160082
Ref: 217160082
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm ssend160344
Ref: 218160344
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm isend160610
Ref: 219160610
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm ibsend160891
Ref: 21a160891
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm issend161173
Ref: 21b161173
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm recv161458
Ref: 21c161458
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm irecv161871
Ref: 21d161871
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm sendrecv162305
Ref: 21e162305
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm mprobe162895
Ref: 21f162895
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm improbe163247
Ref: 220163247
Ref: mpi4py util pkl5 mpi4py util pkl5 Comm bcast163613
Ref: 221163613
Ref: mpi4py util pkl5 mpi4py util pkl5 Intracomm163809
Ref: 222163809
Ref: mpi4py util pkl5 mpi4py util pkl5 Intercomm163912
Ref: 223163912
Ref: mpi4py util pkl5-Footnote-1164086
Ref: mpi4py util pkl5-Footnote-2164154
Ref: mpi4py util pkl5-Footnote-3164196
Ref: mpi4py util pkl5-Footnote-4164264
Ref: mpi4py util pkl5-Footnote-5164306
Ref: mpi4py util pkl5-Footnote-6164368
Ref: mpi4py util pkl5-Footnote-7164430
Ref: mpi4py util pkl5-Footnote-8164491
Ref: mpi4py util pkl5-Footnote-9164552
Ref: mpi4py util pkl5-Footnote-10164613
Ref: mpi4py util pkl5-Footnote-11164675
Ref: mpi4py util pkl5-Footnote-12164737
Ref: mpi4py util pkl5-Footnote-13164799
Ref: mpi4py util pkl5-Footnote-14164861
Ref: mpi4py util pkl5-Footnote-15164923
Ref: mpi4py util pkl5-Footnote-16164985
Ref: mpi4py util pkl5-Footnote-17165047
Ref: mpi4py util pkl5-Footnote-18165109
Ref: mpi4py util pkl5-Footnote-19165171
Ref: mpi4py util pkl5-Footnote-20165233
Ref: mpi4py util pkl5-Footnote-21165295
Ref: mpi4py util pkl5-Footnote-22165367
Ref: mpi4py util pkl5-Footnote-23165429
Ref: mpi4py util pkl5-Footnote-24165491
Ref: mpi4py util pkl5-Footnote-25165553
Ref: mpi4py util pkl5-Footnote-26165615
Ref: mpi4py util pkl5-Footnote-27165677
Ref: mpi4py util pkl5-Footnote-28165739
Ref: mpi4py util pkl5-Footnote-29165801
Ref: mpi4py util pkl5-Footnote-30165863
Ref: mpi4py util pkl5-Footnote-31165925
Ref: mpi4py util pkl5-Footnote-32165987
Node: Examples<2>166049
Ref: mpi4py util pkl5 examples166113
Ref: 224166113
Node: mpi4py util dtlib167338
Ref: mpi4py util dtlib doc167428
Ref: 225167428
Ref: mpi4py util dtlib module-mpi4py util dtlib167428
Ref: 5167428
Ref: mpi4py util dtlib mpi4py-util-dtlib167428
Ref: 226167428
Ref: mpi4py util dtlib mpi4py util dtlib from_numpy_dtype167597
Ref: 227167597
Ref: mpi4py util dtlib mpi4py util dtlib to_numpy_dtype167834
Ref: 228167834
Ref: mpi4py util dtlib-Footnote-1168084
Ref: mpi4py util dtlib-Footnote-2168167
Node: mpi4py run168254
Ref: mpi4py run doc168342
Ref: 229168342
Ref: mpi4py run module-mpi4py run168342
Ref: 3168342
Ref: mpi4py run mpi4py-run168342
Ref: 22a168342
Ref: mpi4py run-Footnote-1171652
Ref: mpi4py run-Footnote-2171720
Ref: mpi4py run-Footnote-3171791
Ref: mpi4py run-Footnote-4171863
Ref: mpi4py run-Footnote-5171940
Ref: mpi4py run-Footnote-6172010
Ref: mpi4py run-Footnote-7172076
Ref: mpi4py run-Footnote-8172144
Node: Interface options172205
Ref: mpi4py run interface-options172269
Ref: 22b172269
Ref: mpi4py run cmdoption-m172948
Ref: 22c172948
Ref: mpi4py run cmdoption-c173065
Ref: 22d173065
Ref: Interface options-Footnote-1173357
Ref: Interface options-Footnote-2173417
Ref: Interface options-Footnote-3173478
Node: Reference173548
Ref: reference doc173633
Ref: 22e173633
Ref: reference id1173633
Ref: 22f173633
Ref: reference reference173633
Ref: 230173633
Node: mpi4py MPI<2>173761
Ref: reference/mpi4py MPI doc173820
Ref: 231173820
Ref: reference/mpi4py MPI module-mpi4py MPI173820
Ref: 2173820
Ref: reference/mpi4py MPI mpi4py-mpi173820
Ref: 232173820
Node: mpi4py MPI Cartcomm191796
Ref: reference/mpi4py MPI Cartcomm doc191889
Ref: 233191889
Ref: reference/mpi4py MPI Cartcomm mpi4py-mpi-cartcomm191889
Ref: 234191889
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm191942
Ref: 2f191942
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm __new__192186
Ref: 235192186
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm Get_cart_rank193684
Ref: 236193684
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm Get_coords193885
Ref: 237193885
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm Get_dim194057
Ref: 238194057
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm Get_topo194157
Ref: 239194157
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm Shift194316
Ref: 23a194316
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm Sub194624
Ref: 23b194624
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm coords194940
Ref: 23c194940
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm dim194991
Ref: 23d194991
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm dims195048
Ref: 23e195048
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm ndim195096
Ref: 23f195096
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm periods195154
Ref: 240195154
Ref: reference/mpi4py MPI Cartcomm mpi4py MPI Cartcomm topo195206
Ref: 241195206
Ref: mpi4py MPI Cartcomm-Footnote-1195300
Ref: mpi4py MPI Cartcomm-Footnote-2195361
Ref: mpi4py MPI Cartcomm-Footnote-3195422
Ref: mpi4py MPI Cartcomm-Footnote-4195483
Ref: mpi4py MPI Cartcomm-Footnote-5195544
Ref: mpi4py MPI Cartcomm-Footnote-6195605
Ref: mpi4py MPI Cartcomm-Footnote-7195666
Ref: mpi4py MPI Cartcomm-Footnote-8195727
Ref: mpi4py MPI Cartcomm-Footnote-9195788
Ref: mpi4py MPI Cartcomm-Footnote-10195849
Ref: mpi4py MPI Cartcomm-Footnote-11195911
Ref: mpi4py MPI Cartcomm-Footnote-12195973
Ref: mpi4py MPI Cartcomm-Footnote-13196035
Node: mpi4py MPI Comm196098
Ref: reference/mpi4py MPI Comm doc196219
Ref: 242196219
Ref: reference/mpi4py MPI Comm mpi4py-mpi-comm196219
Ref: 243196219
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm196264
Ref: 1a196264
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm __new__196462
Ref: 244196462
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Abort208603
Ref: 245208603
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Allgather208844
Ref: 4c208844
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Allgatherv209211
Ref: 55209211
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Allreduce209649
Ref: 5a209649
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Alltoall209974
Ref: 4d209974
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Alltoallv210317
Ref: 56210317
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Alltoallw210731
Ref: 57210731
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Barrier211110
Ref: 246211110
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Bcast211204
Ref: 49211204
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Bsend211474
Ref: 247211474
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Bsend_init211738
Ref: 248211738
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Call_errhandler212037
Ref: 249212037
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Clone212228
Ref: 2a212228
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Compare212338
Ref: 24a212338
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Create212584
Ref: 28212584
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Create_group212759
Ref: 29212759
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Create_keyval213003
Ref: 24b213003
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Delete_attr213643
Ref: 24c213643
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Disconnect213819
Ref: 6e213819
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Dup213923
Ref: 2b213923
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Dup_with_info214129
Ref: 24d214129
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Free214312
Ref: 24e214312
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Free_keyval214399
Ref: 24f214399
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Gather214585
Ref: 4b214585
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Gatherv214967
Ref: 54214967
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_attr215475
Ref: 90215475
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_errhandler215660
Ref: 98215660
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_group215795
Ref: 23215795
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_info215927
Ref: 250215927
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_name216071
Ref: 251216071
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_parent216186
Ref: 68216186
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_rank216340
Ref: 22216340
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_size216464
Ref: 21216464
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Get_topology216587
Ref: 252216587
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Iallgather216746
Ref: 253216746
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Iallgatherv217046
Ref: 254217046
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Iallreduce217354
Ref: 255217354
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ialltoall217706
Ref: 256217706
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ialltoallv218018
Ref: 257218018
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ialltoallw218338
Ref: 258218338
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ibarrier218648
Ref: 259218648
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ibcast218753
Ref: 25a218753
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ibsend218980
Ref: 25b218980
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Idup219264
Ref: 25c219264
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Igather219415
Ref: 25d219415
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Igatherv219782
Ref: 25e219782
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Improbe220157
Ref: 25f220157
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Iprobe220521
Ref: 260220521
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Irecv220856
Ref: 3e220856
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ireduce221146
Ref: 261221146
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ireduce_scatter221573
Ref: 262221573
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ireduce_scatter_block222083
Ref: 263222083
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Irsend222531
Ref: 264222531
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Is_inter222812
Ref: 1d222812
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Is_intra222933
Ref: 1e222933
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Iscatter223054
Ref: 265223054
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Iscatterv223423
Ref: 266223423
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Isend223800
Ref: 3d223800
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Issend224066
Ref: 267224066
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Join224353
Ref: 268224353
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Mprobe224581
Ref: 269224581
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Probe224931
Ref: 26a224931
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Recv225337
Ref: 37225337
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Recv_init225776
Ref: 45225776
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Reduce226093
Ref: 58226093
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Reduce_scatter226493
Ref: 59226493
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Reduce_scatter_block226976
Ref: 26b226976
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Rsend227397
Ref: 26c227397
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Rsend_init227660
Ref: 26d227660
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Scatter227958
Ref: 4a227958
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Scatterv228366
Ref: 53228366
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Send228874
Ref: 36228874
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Send_init229327
Ref: 44229327
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Sendrecv229629
Ref: 38229629
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Sendrecv_replace230563
Ref: 26e230563
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Set_attr231433
Ref: 26f231433
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Set_errhandler231676
Ref: 97231676
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Set_info231873
Ref: 270231873
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Set_name232065
Ref: 271232065
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Split232230
Ref: 2c232230
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Split_type232465
Ref: 272232465
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ssend232775
Ref: 273232775
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm Ssend_init233044
Ref: 274233044
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm allgather233348
Ref: 51233348
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm allreduce233500
Ref: 5e233500
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm alltoall233848
Ref: 52233848
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm barrier234039
Ref: 275234039
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm bcast234117
Ref: 4e234117
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm bsend234312
Ref: 276234312
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm f2py234565
Ref: 277234565
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm gather234695
Ref: 50234695
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm ibsend234912
Ref: 278234912
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm improbe235192
Ref: 279235192
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm iprobe235556
Ref: 27a235556
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm irecv235892
Ref: 9d235892
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm isend236216
Ref: 9c236216
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm issend236480
Ref: 27b236480
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm mprobe236765
Ref: 27c236765
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm probe237117
Ref: 27d237117
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm py2f237455
Ref: 27e237455
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm recv237515
Ref: 3a237515
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm reduce237920
Ref: 5d237920
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm scatter238326
Ref: 4f238326
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm send238558
Ref: 39238558
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm sendrecv238795
Ref: 3b238795
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm ssend239388
Ref: 27f239388
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm group239707
Ref: 280239707
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm info239764
Ref: 281239764
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm is_inter239819
Ref: 282239819
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm is_intra239881
Ref: 283239881
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm is_topo239943
Ref: 284239943
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm name240010
Ref: 285240010
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm rank240065
Ref: 286240065
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm size240139
Ref: a0240139
Ref: reference/mpi4py MPI Comm mpi4py MPI Comm topology240212
Ref: 287240212
Ref: mpi4py MPI Comm-Footnote-1240316
Ref: mpi4py MPI Comm-Footnote-2240380
Ref: mpi4py MPI Comm-Footnote-3240441
Ref: mpi4py MPI Comm-Footnote-4240502
Ref: mpi4py MPI Comm-Footnote-5240563
Ref: mpi4py MPI Comm-Footnote-6240624
Ref: mpi4py MPI Comm-Footnote-7240685
Ref: mpi4py MPI Comm-Footnote-8240746
Ref: mpi4py MPI Comm-Footnote-9240807
Ref: mpi4py MPI Comm-Footnote-10240868
Ref: mpi4py MPI Comm-Footnote-11240930
Ref: mpi4py MPI Comm-Footnote-12240992
Ref: mpi4py MPI Comm-Footnote-13241054
Ref: mpi4py MPI Comm-Footnote-14241117
Ref: mpi4py MPI Comm-Footnote-15241179
Ref: mpi4py MPI Comm-Footnote-16241241
Ref: mpi4py MPI Comm-Footnote-17241303
Ref: mpi4py MPI Comm-Footnote-18241365
Ref: mpi4py MPI Comm-Footnote-19241427
Ref: mpi4py MPI Comm-Footnote-20241489
Ref: mpi4py MPI Comm-Footnote-21241551
Ref: mpi4py MPI Comm-Footnote-22241613
Ref: mpi4py MPI Comm-Footnote-23241674
Ref: mpi4py MPI Comm-Footnote-24241736
Ref: mpi4py MPI Comm-Footnote-25241798
Ref: mpi4py MPI Comm-Footnote-26241860
Ref: mpi4py MPI Comm-Footnote-27241922
Ref: mpi4py MPI Comm-Footnote-28241984
Ref: mpi4py MPI Comm-Footnote-29242046
Ref: mpi4py MPI Comm-Footnote-30242108
Ref: mpi4py MPI Comm-Footnote-31242170
Ref: mpi4py MPI Comm-Footnote-32242232
Ref: mpi4py MPI Comm-Footnote-33242294
Ref: mpi4py MPI Comm-Footnote-34242356
Ref: mpi4py MPI Comm-Footnote-35242418
Ref: mpi4py MPI Comm-Footnote-36242481
Ref: mpi4py MPI Comm-Footnote-37242543
Ref: mpi4py MPI Comm-Footnote-38242605
Ref: mpi4py MPI Comm-Footnote-39242667
Ref: mpi4py MPI Comm-Footnote-40242729
Ref: mpi4py MPI Comm-Footnote-41242791
Ref: mpi4py MPI Comm-Footnote-42242853
Ref: mpi4py MPI Comm-Footnote-43242916
Ref: mpi4py MPI Comm-Footnote-44242979
Ref: mpi4py MPI Comm-Footnote-45243041
Ref: mpi4py MPI Comm-Footnote-46243103
Ref: mpi4py MPI Comm-Footnote-47243165
Ref: mpi4py MPI Comm-Footnote-48243227
Ref: mpi4py MPI Comm-Footnote-49243289
Ref: mpi4py MPI Comm-Footnote-50243351
Ref: mpi4py MPI Comm-Footnote-51243413
Ref: mpi4py MPI Comm-Footnote-52243475
Ref: mpi4py MPI Comm-Footnote-53243537
Ref: mpi4py MPI Comm-Footnote-54243599
Ref: mpi4py MPI Comm-Footnote-55243661
Ref: mpi4py MPI Comm-Footnote-56243723
Ref: mpi4py MPI Comm-Footnote-57243785
Ref: mpi4py MPI Comm-Footnote-58243847
Ref: mpi4py MPI Comm-Footnote-59243909
Ref: mpi4py MPI Comm-Footnote-60243971
Ref: mpi4py MPI Comm-Footnote-61244033
Ref: mpi4py MPI Comm-Footnote-62244095
Ref: mpi4py MPI Comm-Footnote-63244157
Ref: mpi4py MPI Comm-Footnote-64244219
Ref: mpi4py MPI Comm-Footnote-65244281
Ref: mpi4py MPI Comm-Footnote-66244343
Ref: mpi4py MPI Comm-Footnote-67244405
Ref: mpi4py MPI Comm-Footnote-68244467
Ref: mpi4py MPI Comm-Footnote-69244529
Ref: mpi4py MPI Comm-Footnote-70244591
Ref: mpi4py MPI Comm-Footnote-71244653
Ref: mpi4py MPI Comm-Footnote-72244715
Ref: mpi4py MPI Comm-Footnote-73244777
Ref: mpi4py MPI Comm-Footnote-74244839
Ref: mpi4py MPI Comm-Footnote-75244901
Ref: mpi4py MPI Comm-Footnote-76244963
Ref: mpi4py MPI Comm-Footnote-77245025
Ref: mpi4py MPI Comm-Footnote-78245087
Ref: mpi4py MPI Comm-Footnote-79245149
Ref: mpi4py MPI Comm-Footnote-80245211
Ref: mpi4py MPI Comm-Footnote-81245272
Ref: mpi4py MPI Comm-Footnote-82245334
Ref: mpi4py MPI Comm-Footnote-83245396
Ref: mpi4py MPI Comm-Footnote-84245458
Ref: mpi4py MPI Comm-Footnote-85245520
Ref: mpi4py MPI Comm-Footnote-86245582
Ref: mpi4py MPI Comm-Footnote-87245644
Ref: mpi4py MPI Comm-Footnote-88245706
Ref: mpi4py MPI Comm-Footnote-89245768
Ref: mpi4py MPI Comm-Footnote-90245830
Ref: mpi4py MPI Comm-Footnote-91245892
Ref: mpi4py MPI Comm-Footnote-92245954
Ref: mpi4py MPI Comm-Footnote-93246016
Ref: mpi4py MPI Comm-Footnote-94246078
Ref: mpi4py MPI Comm-Footnote-95246140
Ref: mpi4py MPI Comm-Footnote-96246202
Ref: mpi4py MPI Comm-Footnote-97246264
Ref: mpi4py MPI Comm-Footnote-98246326
Ref: mpi4py MPI Comm-Footnote-99246388
Ref: mpi4py MPI Comm-Footnote-100246450
Ref: mpi4py MPI Comm-Footnote-101246514
Ref: mpi4py MPI Comm-Footnote-102246577
Ref: mpi4py MPI Comm-Footnote-103246640
Ref: mpi4py MPI Comm-Footnote-104246703
Ref: mpi4py MPI Comm-Footnote-105246766
Ref: mpi4py MPI Comm-Footnote-106246829
Ref: mpi4py MPI Comm-Footnote-107246892
Ref: mpi4py MPI Comm-Footnote-108246955
Ref: mpi4py MPI Comm-Footnote-109247018
Ref: mpi4py MPI Comm-Footnote-110247081
Ref: mpi4py MPI Comm-Footnote-111247144
Ref: mpi4py MPI Comm-Footnote-112247207
Ref: mpi4py MPI Comm-Footnote-113247270
Ref: mpi4py MPI Comm-Footnote-114247333
Ref: mpi4py MPI Comm-Footnote-115247396
Ref: mpi4py MPI Comm-Footnote-116247459
Ref: mpi4py MPI Comm-Footnote-117247522
Ref: mpi4py MPI Comm-Footnote-118247585
Ref: mpi4py MPI Comm-Footnote-119247648
Ref: mpi4py MPI Comm-Footnote-120247711
Ref: mpi4py MPI Comm-Footnote-121247774
Ref: mpi4py MPI Comm-Footnote-122247837
Ref: mpi4py MPI Comm-Footnote-123247900
Node: mpi4py MPI Datatype247963
Ref: reference/mpi4py MPI Datatype doc248089
Ref: 288248089
Ref: reference/mpi4py MPI Datatype mpi4py-mpi-datatype248089
Ref: 289248089
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype248142
Ref: c8248142
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype __new__248363
Ref: 28a248363
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Commit254525
Ref: 28b254525
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_contiguous254629
Ref: 28c254629
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_darray254807
Ref: 28d254807
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_f90_complex255495
Ref: 28e255495
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_f90_integer255741
Ref: 28f255741
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_f90_real255930
Ref: 290255930
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_hindexed256170
Ref: 291256170
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_hindexed_block256524
Ref: 292256524
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_hvector256890
Ref: 293256890
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_indexed257200
Ref: 294257200
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_indexed_block257525
Ref: 295257525
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_keyval257853
Ref: 296257853
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_resized258497
Ref: 297258497
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_struct258757
Ref: 298258757
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_subarray259270
Ref: 299259270
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Create_vector259776
Ref: 29a259776
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Delete_attr260085
Ref: 29b260085
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Dup260261
Ref: 29c260261
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Free260363
Ref: 29d260363
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Free_keyval260448
Ref: 29e260448
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Get_attr260630
Ref: 29f260630
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Get_contents260815
Ref: 2a0260815
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Get_envelope261039
Ref: 2a1261039
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Get_extent261263
Ref: 2a2261263
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Get_name261397
Ref: 2a3261397
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Get_size261508
Ref: 2a4261508
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Get_true_extent261645
Ref: 2a5261645
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Match_size261795
Ref: 2a6261795
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Pack262072
Ref: 2a7262072
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Pack_external262437
Ref: 2a8262437
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Pack_external_size262876
Ref: 2a9262876
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Pack_size263266
Ref: 2aa263266
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Set_attr263582
Ref: 2ab263582
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Set_name263825
Ref: 2ac263825
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Unpack263986
Ref: 2ad263986
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype Unpack_external264355
Ref: 2ae264355
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype decode264798
Ref: 2af264798
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype f2py264970
Ref: 2b0264970
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype py2f265104
Ref: 2b1265104
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype combiner265224
Ref: 2b2265224
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype contents265283
Ref: 2b3265283
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype envelope265342
Ref: 2b4265342
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype extent265401
Ref: 2b5265401
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype is_named265429
Ref: 2b6265429
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype is_predefined265490
Ref: 2b7265490
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype lb265561
Ref: 2b8265561
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype name265608
Ref: 2b9265608
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype size265659
Ref: 2ba265659
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype true_extent265685
Ref: 2bb265685
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype true_lb265741
Ref: 2bc265741
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype true_ub265798
Ref: 2bd265798
Ref: reference/mpi4py MPI Datatype mpi4py MPI Datatype ub265855
Ref: 2be265855
Ref: mpi4py MPI Datatype-Footnote-1265938
Ref: mpi4py MPI Datatype-Footnote-2266002
Ref: mpi4py MPI Datatype-Footnote-3266063
Ref: mpi4py MPI Datatype-Footnote-4266124
Ref: mpi4py MPI Datatype-Footnote-5266185
Ref: mpi4py MPI Datatype-Footnote-6266246
Ref: mpi4py MPI Datatype-Footnote-7266307
Ref: mpi4py MPI Datatype-Footnote-8266368
Ref: mpi4py MPI Datatype-Footnote-9266429
Ref: mpi4py MPI Datatype-Footnote-10266490
Ref: mpi4py MPI Datatype-Footnote-11266552
Ref: mpi4py MPI Datatype-Footnote-12266614
Ref: mpi4py MPI Datatype-Footnote-13266676
Ref: mpi4py MPI Datatype-Footnote-14266738
Ref: mpi4py MPI Datatype-Footnote-15266800
Ref: mpi4py MPI Datatype-Footnote-16266862
Ref: mpi4py MPI Datatype-Footnote-17266924
Ref: mpi4py MPI Datatype-Footnote-18266986
Ref: mpi4py MPI Datatype-Footnote-19267048
Ref: mpi4py MPI Datatype-Footnote-20267110
Ref: mpi4py MPI Datatype-Footnote-21267172
Ref: mpi4py MPI Datatype-Footnote-22267234
Ref: mpi4py MPI Datatype-Footnote-23267296
Ref: mpi4py MPI Datatype-Footnote-24267358
Ref: mpi4py MPI Datatype-Footnote-25267420
Ref: mpi4py MPI Datatype-Footnote-26267482
Ref: mpi4py MPI Datatype-Footnote-27267544
Ref: mpi4py MPI Datatype-Footnote-28267606
Ref: mpi4py MPI Datatype-Footnote-29267669
Ref: mpi4py MPI Datatype-Footnote-30267731
Ref: mpi4py MPI Datatype-Footnote-31267793
Ref: mpi4py MPI Datatype-Footnote-32267855
Ref: mpi4py MPI Datatype-Footnote-33267917
Ref: mpi4py MPI Datatype-Footnote-34267979
Ref: mpi4py MPI Datatype-Footnote-35268041
Ref: mpi4py MPI Datatype-Footnote-36268103
Ref: mpi4py MPI Datatype-Footnote-37268165
Ref: mpi4py MPI Datatype-Footnote-38268227
Ref: mpi4py MPI Datatype-Footnote-39268289
Ref: mpi4py MPI Datatype-Footnote-40268351
Ref: mpi4py MPI Datatype-Footnote-41268413
Ref: mpi4py MPI Datatype-Footnote-42268475
Ref: mpi4py MPI Datatype-Footnote-43268537
Ref: mpi4py MPI Datatype-Footnote-44268599
Ref: mpi4py MPI Datatype-Footnote-45268661
Ref: mpi4py MPI Datatype-Footnote-46268723
Ref: mpi4py MPI Datatype-Footnote-47268785
Ref: mpi4py MPI Datatype-Footnote-48268847
Ref: mpi4py MPI Datatype-Footnote-49268909
Ref: mpi4py MPI Datatype-Footnote-50268971
Ref: mpi4py MPI Datatype-Footnote-51269033
Ref: mpi4py MPI Datatype-Footnote-52269095
Ref: mpi4py MPI Datatype-Footnote-53269157
Ref: mpi4py MPI Datatype-Footnote-54269219
Ref: mpi4py MPI Datatype-Footnote-55269280
Ref: mpi4py MPI Datatype-Footnote-56269342
Ref: mpi4py MPI Datatype-Footnote-57269404
Ref: mpi4py MPI Datatype-Footnote-58269466
Ref: mpi4py MPI Datatype-Footnote-59269528
Ref: mpi4py MPI Datatype-Footnote-60269590
Ref: mpi4py MPI Datatype-Footnote-61269652
Ref: mpi4py MPI Datatype-Footnote-62269714
Ref: mpi4py MPI Datatype-Footnote-63269775
Ref: mpi4py MPI Datatype-Footnote-64269837
Ref: mpi4py MPI Datatype-Footnote-65269899
Ref: mpi4py MPI Datatype-Footnote-66269960
Ref: mpi4py MPI Datatype-Footnote-67270022
Ref: mpi4py MPI Datatype-Footnote-68270084
Ref: mpi4py MPI Datatype-Footnote-69270146
Ref: mpi4py MPI Datatype-Footnote-70270208
Ref: mpi4py MPI Datatype-Footnote-71270270
Ref: mpi4py MPI Datatype-Footnote-72270331
Ref: mpi4py MPI Datatype-Footnote-73270393
Ref: mpi4py MPI Datatype-Footnote-74270455
Ref: mpi4py MPI Datatype-Footnote-75270516
Ref: mpi4py MPI Datatype-Footnote-76270578
Ref: mpi4py MPI Datatype-Footnote-77270640
Ref: mpi4py MPI Datatype-Footnote-78270701
Ref: mpi4py MPI Datatype-Footnote-79270762
Ref: mpi4py MPI Datatype-Footnote-80270824
Node: mpi4py MPI Distgraphcomm270886
Ref: reference/mpi4py MPI Distgraphcomm doc271018
Ref: 2bf271018
Ref: reference/mpi4py MPI Distgraphcomm mpi4py-mpi-distgraphcomm271018
Ref: 2c0271018
Ref: reference/mpi4py MPI Distgraphcomm mpi4py MPI Distgraphcomm271081
Ref: 31271081
Ref: reference/mpi4py MPI Distgraphcomm mpi4py MPI Distgraphcomm __new__271348
Ref: 2c1271348
Ref: reference/mpi4py MPI Distgraphcomm mpi4py MPI Distgraphcomm Get_dist_neighbors271918
Ref: 2c2271918
Ref: reference/mpi4py MPI Distgraphcomm mpi4py MPI Distgraphcomm Get_dist_neighbors_count272145
Ref: 2c3272145
Ref: mpi4py MPI Distgraphcomm-Footnote-1272332
Ref: mpi4py MPI Distgraphcomm-Footnote-2272393
Ref: mpi4py MPI Distgraphcomm-Footnote-3272454
Ref: mpi4py MPI Distgraphcomm-Footnote-4272515
Ref: mpi4py MPI Distgraphcomm-Footnote-5272576
Node: mpi4py MPI Errhandler272637
Ref: reference/mpi4py MPI Errhandler doc272765
Ref: 2c4272765
Ref: reference/mpi4py MPI Errhandler mpi4py-mpi-errhandler272765
Ref: 2c5272765
Ref: reference/mpi4py MPI Errhandler mpi4py MPI Errhandler272822
Ref: cf272822
Ref: reference/mpi4py MPI Errhandler mpi4py MPI Errhandler __new__273051
Ref: 2c6273051
Ref: reference/mpi4py MPI Errhandler mpi4py MPI Errhandler Free273499
Ref: 2c7273499
Ref: reference/mpi4py MPI Errhandler mpi4py MPI Errhandler f2py273588
Ref: 2c8273588
Ref: reference/mpi4py MPI Errhandler mpi4py MPI Errhandler py2f273723
Ref: 2c9273723
Ref: mpi4py MPI Errhandler-Footnote-1273817
Ref: mpi4py MPI Errhandler-Footnote-2273881
Ref: mpi4py MPI Errhandler-Footnote-3273942
Node: mpi4py MPI File274003
Ref: reference/mpi4py MPI File doc274127
Ref: 2ca274127
Ref: reference/mpi4py MPI File mpi4py-mpi-file274127
Ref: 2cb274127
Ref: reference/mpi4py MPI File mpi4py MPI File274172
Ref: 80274172
Ref: reference/mpi4py MPI File mpi4py MPI File __new__274369
Ref: 2cc274369
Ref: reference/mpi4py MPI File mpi4py MPI File Call_errhandler281663
Ref: 2cd281663
Ref: reference/mpi4py MPI File mpi4py MPI File Close281846
Ref: 82281846
Ref: reference/mpi4py MPI File mpi4py MPI File Delete281927
Ref: 83281927
Ref: reference/mpi4py MPI File mpi4py MPI File Get_amode282163
Ref: 2ce282163
Ref: reference/mpi4py MPI File mpi4py MPI File Get_atomicity282265
Ref: 2cf282265
Ref: reference/mpi4py MPI File mpi4py MPI File Get_byte_offset282370
Ref: 2d0282370
Ref: reference/mpi4py MPI File mpi4py MPI File Get_errhandler282628
Ref: 2d1282628
Ref: reference/mpi4py MPI File mpi4py MPI File Get_group282755
Ref: 2d2282755
Ref: reference/mpi4py MPI File mpi4py MPI File Get_info282890
Ref: 2d3282890
Ref: reference/mpi4py MPI File mpi4py MPI File Get_position283031
Ref: 2d4283031
Ref: reference/mpi4py MPI File mpi4py MPI File Get_position_shared283221
Ref: 2d5283221
Ref: reference/mpi4py MPI File mpi4py MPI File Get_size283414
Ref: 2d6283414
Ref: reference/mpi4py MPI File mpi4py MPI File Get_type_extent283509
Ref: 2d7283509
Ref: reference/mpi4py MPI File mpi4py MPI File Get_view283705
Ref: 85283705
Ref: reference/mpi4py MPI File mpi4py MPI File Iread283866
Ref: 2d8283866
Ref: reference/mpi4py MPI File mpi4py MPI File Iread_all284052
Ref: 2d9284052
Ref: reference/mpi4py MPI File mpi4py MPI File Iread_at284253
Ref: 2da284253
Ref: reference/mpi4py MPI File mpi4py MPI File Iread_at_all284501
Ref: 2db284501
Ref: reference/mpi4py MPI File mpi4py MPI File Iread_shared284764
Ref: 2dc284764
Ref: reference/mpi4py MPI File mpi4py MPI File Iwrite284953
Ref: 2dd284953
Ref: reference/mpi4py MPI File mpi4py MPI File Iwrite_all285141
Ref: 2de285141
Ref: reference/mpi4py MPI File mpi4py MPI File Iwrite_at285344
Ref: 2df285344
Ref: reference/mpi4py MPI File mpi4py MPI File Iwrite_at_all285594
Ref: 2e0285594
Ref: reference/mpi4py MPI File mpi4py MPI File Iwrite_shared285859
Ref: 2e1285859
Ref: reference/mpi4py MPI File mpi4py MPI File Open286050
Ref: 81286050
Ref: reference/mpi4py MPI File mpi4py MPI File Preallocate286430
Ref: 2e2286430
Ref: reference/mpi4py MPI File mpi4py MPI File Read286594
Ref: 2e3286594
Ref: reference/mpi4py MPI File mpi4py MPI File Read_all286863
Ref: 2e4286863
Ref: reference/mpi4py MPI File mpi4py MPI File Read_all_begin287147
Ref: 2e5287147
Ref: reference/mpi4py MPI File mpi4py MPI File Read_all_end287341
Ref: 2e6287341
Ref: reference/mpi4py MPI File mpi4py MPI File Read_at287646
Ref: 2e7287646
Ref: reference/mpi4py MPI File mpi4py MPI File Read_at_all287961
Ref: 2e8287961
Ref: reference/mpi4py MPI File mpi4py MPI File Read_at_all_begin288291
Ref: 2e9288291
Ref: reference/mpi4py MPI File mpi4py MPI File Read_at_all_end288546
Ref: 2ea288546
Ref: reference/mpi4py MPI File mpi4py MPI File Read_ordered288845
Ref: 2eb288845
Ref: reference/mpi4py MPI File mpi4py MPI File Read_ordered_begin289129
Ref: 2ec289129
Ref: reference/mpi4py MPI File mpi4py MPI File Read_ordered_end289323
Ref: 2ed289323
Ref: reference/mpi4py MPI File mpi4py MPI File Read_shared289628
Ref: 2ee289628
Ref: reference/mpi4py MPI File mpi4py MPI File Seek289900
Ref: 2ef289900
Ref: reference/mpi4py MPI File mpi4py MPI File Seek_shared290135
Ref: 2f0290135
Ref: reference/mpi4py MPI File mpi4py MPI File Set_atomicity290373
Ref: 2f1290373
Ref: reference/mpi4py MPI File mpi4py MPI File Set_errhandler290526
Ref: 2f2290526
Ref: reference/mpi4py MPI File mpi4py MPI File Set_info290715
Ref: 2f3290715
Ref: reference/mpi4py MPI File mpi4py MPI File Set_size290899
Ref: 2f4290899
Ref: reference/mpi4py MPI File mpi4py MPI File Set_view291042
Ref: 84291042
Ref: reference/mpi4py MPI File mpi4py MPI File Sync291510
Ref: 2f5291510
Ref: reference/mpi4py MPI File mpi4py MPI File Write291654
Ref: 2f6291654
Ref: reference/mpi4py MPI File mpi4py MPI File Write_all291925
Ref: 2f7291925
Ref: reference/mpi4py MPI File mpi4py MPI File Write_all_begin292211
Ref: 2f8292211
Ref: reference/mpi4py MPI File mpi4py MPI File Write_all_end292407
Ref: 2f9292407
Ref: reference/mpi4py MPI File mpi4py MPI File Write_at292724
Ref: 2fa292724
Ref: reference/mpi4py MPI File mpi4py MPI File Write_at_all293041
Ref: 2fb293041
Ref: reference/mpi4py MPI File mpi4py MPI File Write_at_all_begin293373
Ref: 2fc293373
Ref: reference/mpi4py MPI File mpi4py MPI File Write_at_all_end293630
Ref: 2fd293630
Ref: reference/mpi4py MPI File mpi4py MPI File Write_ordered293931
Ref: 2fe293931
Ref: reference/mpi4py MPI File mpi4py MPI File Write_ordered_begin294217
Ref: 2ff294217
Ref: reference/mpi4py MPI File mpi4py MPI File Write_ordered_end294413
Ref: 300294413
Ref: reference/mpi4py MPI File mpi4py MPI File Write_shared294720
Ref: 301294720
Ref: reference/mpi4py MPI File mpi4py MPI File f2py294994
Ref: 302294994
Ref: reference/mpi4py MPI File mpi4py MPI File py2f295124
Ref: 303295124
Ref: reference/mpi4py MPI File mpi4py MPI File amode295244
Ref: 304295244
Ref: reference/mpi4py MPI File mpi4py MPI File atomicity295299
Ref: 305295299
Ref: reference/mpi4py MPI File mpi4py MPI File group295330
Ref: 306295330
Ref: reference/mpi4py MPI File mpi4py MPI File info295379
Ref: 307295379
Ref: reference/mpi4py MPI File mpi4py MPI File size295426
Ref: 308295426
Ref: mpi4py MPI File-Footnote-1295509
Ref: mpi4py MPI File-Footnote-2295573
Ref: mpi4py MPI File-Footnote-3295634
Ref: mpi4py MPI File-Footnote-4295694
Ref: mpi4py MPI File-Footnote-5295755
Ref: mpi4py MPI File-Footnote-6295817
Ref: mpi4py MPI File-Footnote-7295878
Ref: mpi4py MPI File-Footnote-8295939
Ref: mpi4py MPI File-Footnote-9296000
Ref: mpi4py MPI File-Footnote-10296061
Ref: mpi4py MPI File-Footnote-11296123
Ref: mpi4py MPI File-Footnote-12296185
Ref: mpi4py MPI File-Footnote-13296247
Ref: mpi4py MPI File-Footnote-14296308
Ref: mpi4py MPI File-Footnote-15296370
Ref: mpi4py MPI File-Footnote-16296432
Ref: mpi4py MPI File-Footnote-17296494
Ref: mpi4py MPI File-Footnote-18296556
Ref: mpi4py MPI File-Footnote-19296617
Ref: mpi4py MPI File-Footnote-20296679
Ref: mpi4py MPI File-Footnote-21296741
Ref: mpi4py MPI File-Footnote-22296803
Ref: mpi4py MPI File-Footnote-23296865
Ref: mpi4py MPI File-Footnote-24296927
Ref: mpi4py MPI File-Footnote-25296989
Ref: mpi4py MPI File-Footnote-26297051
Ref: mpi4py MPI File-Footnote-27297113
Ref: mpi4py MPI File-Footnote-28297175
Ref: mpi4py MPI File-Footnote-29297238
Ref: mpi4py MPI File-Footnote-30297300
Ref: mpi4py MPI File-Footnote-31297362
Ref: mpi4py MPI File-Footnote-32297423
Ref: mpi4py MPI File-Footnote-33297485
Ref: mpi4py MPI File-Footnote-34297547
Ref: mpi4py MPI File-Footnote-35297609
Ref: mpi4py MPI File-Footnote-36297671
Node: mpi4py MPI Graphcomm297733
Ref: reference/mpi4py MPI Graphcomm doc297855
Ref: 309297855
Ref: reference/mpi4py MPI Graphcomm mpi4py-mpi-graphcomm297855
Ref: 30a297855
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm297910
Ref: 30297910
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm __new__298161
Ref: 30b298161
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm Get_dims299392
Ref: 30c299392
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm Get_neighbors299517
Ref: 30d299517
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm Get_neighbors_count299691
Ref: 30e299691
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm Get_topo299867
Ref: 30f299867
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm dims300051
Ref: 310300051
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm edges300114
Ref: 311300114
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm index300141
Ref: 312300141
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm nedges300168
Ref: 313300168
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm neighbors300223
Ref: 314300223
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm nneighbors300254
Ref: 315300254
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm nnodes300317
Ref: 316300317
Ref: reference/mpi4py MPI Graphcomm mpi4py MPI Graphcomm topo300372
Ref: 317300372
Ref: mpi4py MPI Graphcomm-Footnote-1300466
Ref: mpi4py MPI Graphcomm-Footnote-2300527
Ref: mpi4py MPI Graphcomm-Footnote-3300588
Ref: mpi4py MPI Graphcomm-Footnote-4300649
Ref: mpi4py MPI Graphcomm-Footnote-5300710
Ref: mpi4py MPI Graphcomm-Footnote-6300771
Ref: mpi4py MPI Graphcomm-Footnote-7300832
Ref: mpi4py MPI Graphcomm-Footnote-8300893
Node: mpi4py MPI Grequest300954
Ref: reference/mpi4py MPI Grequest doc301077
Ref: 318301077
Ref: reference/mpi4py MPI Grequest mpi4py-mpi-grequest301077
Ref: 319301077
Ref: reference/mpi4py MPI Grequest mpi4py MPI Grequest301130
Ref: ca301130
Ref: reference/mpi4py MPI Grequest mpi4py MPI Grequest __new__301369
Ref: 31a301369
Ref: reference/mpi4py MPI Grequest mpi4py MPI Grequest Complete301902
Ref: 31b301902
Ref: reference/mpi4py MPI Grequest mpi4py MPI Grequest Start302020
Ref: 31c302020
Ref: mpi4py MPI Grequest-Footnote-1302767
Node: mpi4py MPI Group302827
Ref: reference/mpi4py MPI Group doc302945
Ref: 31d302945
Ref: reference/mpi4py MPI Group mpi4py-mpi-group302945
Ref: 31e302945
Ref: reference/mpi4py MPI Group mpi4py MPI Group302992
Ref: 24302992
Ref: reference/mpi4py MPI Group mpi4py MPI Group __new__303201
Ref: 31f303201
Ref: reference/mpi4py MPI Group mpi4py MPI Group Compare305258
Ref: 320305258
Ref: reference/mpi4py MPI Group mpi4py MPI Group Difference305503
Ref: 27305503
Ref: reference/mpi4py MPI Group mpi4py MPI Group Dup305801
Ref: 321305801
Ref: reference/mpi4py MPI Group mpi4py MPI Group Excl305897
Ref: 322305897
Ref: reference/mpi4py MPI Group mpi4py MPI Group Free306149
Ref: 323306149
Ref: reference/mpi4py MPI Group mpi4py MPI Group Get_rank306229
Ref: 324306229
Ref: reference/mpi4py MPI Group mpi4py MPI Group Get_size306345
Ref: 325306345
Ref: reference/mpi4py MPI Group mpi4py MPI Group Incl306445
Ref: 326306445
Ref: reference/mpi4py MPI Group mpi4py MPI Group Intersection306695
Ref: 26306695
Ref: reference/mpi4py MPI Group mpi4py MPI Group Range_excl306995
Ref: 327306995
Ref: reference/mpi4py MPI Group mpi4py MPI Group Range_incl307310
Ref: 328307310
Ref: reference/mpi4py MPI Group mpi4py MPI Group Translate_ranks307617
Ref: 329307617
Ref: reference/mpi4py MPI Group mpi4py MPI Group Union308067
Ref: 25308067
Ref: reference/mpi4py MPI Group mpi4py MPI Group f2py308350
Ref: 32a308350
Ref: reference/mpi4py MPI Group mpi4py MPI Group py2f308481
Ref: 32b308481
Ref: reference/mpi4py MPI Group mpi4py MPI Group rank308601
Ref: 32c308601
Ref: reference/mpi4py MPI Group mpi4py MPI Group size308668
Ref: 32d308668
Ref: mpi4py MPI Group-Footnote-1308770
Ref: mpi4py MPI Group-Footnote-2308834
Ref: mpi4py MPI Group-Footnote-3308895
Ref: mpi4py MPI Group-Footnote-4308956
Ref: mpi4py MPI Group-Footnote-5309017
Ref: mpi4py MPI Group-Footnote-6309078
Ref: mpi4py MPI Group-Footnote-7309139
Ref: mpi4py MPI Group-Footnote-8309200
Ref: mpi4py MPI Group-Footnote-9309261
Ref: mpi4py MPI Group-Footnote-10309322
Ref: mpi4py MPI Group-Footnote-11309384
Ref: mpi4py MPI Group-Footnote-12309446
Ref: mpi4py MPI Group-Footnote-13309508
Ref: mpi4py MPI Group-Footnote-14309570
Ref: mpi4py MPI Group-Footnote-15309632
Ref: mpi4py MPI Group-Footnote-16309694
Node: mpi4py MPI Info309756
Ref: reference/mpi4py MPI Info doc309875
Ref: 32e309875
Ref: reference/mpi4py MPI Info mpi4py-mpi-info309875
Ref: 32f309875
Ref: reference/mpi4py MPI Info mpi4py MPI Info309922
Ref: cc309922
Ref: reference/mpi4py MPI Info mpi4py MPI Info __new__310119
Ref: 330310119
Ref: reference/mpi4py MPI Info mpi4py MPI Info Create312096
Ref: 331312096
Ref: reference/mpi4py MPI Info mpi4py MPI Info Delete312220
Ref: 332312220
Ref: reference/mpi4py MPI Info mpi4py MPI Info Dup312376
Ref: 333312376
Ref: reference/mpi4py MPI Info mpi4py MPI Info Free312584
Ref: 334312584
Ref: reference/mpi4py MPI Info mpi4py MPI Info Get312670
Ref: 335312670
Ref: reference/mpi4py MPI Info mpi4py MPI Info Get_nkeys312908
Ref: 336312908
Ref: reference/mpi4py MPI Info mpi4py MPI Info Get_nthkey313034
Ref: 337313034
Ref: reference/mpi4py MPI Info mpi4py MPI Info Set313312
Ref: 338313312
Ref: reference/mpi4py MPI Info mpi4py MPI Info clear313609
Ref: 339313609
Ref: reference/mpi4py MPI Info mpi4py MPI Info copy313688
Ref: 33a313688
Ref: reference/mpi4py MPI Info mpi4py MPI Info f2py313776
Ref: 33b313776
Ref: reference/mpi4py MPI Info mpi4py MPI Info get313906
Ref: 33c313906
Ref: reference/mpi4py MPI Info mpi4py MPI Info items314147
Ref: 33d314147
Ref: reference/mpi4py MPI Info mpi4py MPI Info keys314251
Ref: 33e314251
Ref: reference/mpi4py MPI Info mpi4py MPI Info pop314337
Ref: 33f314337
Ref: reference/mpi4py MPI Info mpi4py MPI Info popitem314536
Ref: 340314536
Ref: reference/mpi4py MPI Info mpi4py MPI Info py2f314638
Ref: 341314638
Ref: reference/mpi4py MPI Info mpi4py MPI Info update314697
Ref: 342314697
Ref: reference/mpi4py MPI Info mpi4py MPI Info values315104
Ref: 343315104
Ref: mpi4py MPI Info-Footnote-1315230
Ref: mpi4py MPI Info-Footnote-2315294
Ref: mpi4py MPI Info-Footnote-3315354
Ref: mpi4py MPI Info-Footnote-4315414
Ref: mpi4py MPI Info-Footnote-5315475
Ref: mpi4py MPI Info-Footnote-6315535
Ref: mpi4py MPI Info-Footnote-7315596
Ref: mpi4py MPI Info-Footnote-8315657
Ref: mpi4py MPI Info-Footnote-9315717
Ref: mpi4py MPI Info-Footnote-10315777
Ref: mpi4py MPI Info-Footnote-11315838
Ref: mpi4py MPI Info-Footnote-12315900
Ref: mpi4py MPI Info-Footnote-13315961
Ref: mpi4py MPI Info-Footnote-14316022
Ref: mpi4py MPI Info-Footnote-15316083
Ref: mpi4py MPI Info-Footnote-16316144
Ref: mpi4py MPI Info-Footnote-17316205
Ref: mpi4py MPI Info-Footnote-18316266
Ref: mpi4py MPI Info-Footnote-19316327
Ref: mpi4py MPI Info-Footnote-20316388
Ref: mpi4py MPI Info-Footnote-21316449
Ref: mpi4py MPI Info-Footnote-22316510
Ref: mpi4py MPI Info-Footnote-23316571
Ref: mpi4py MPI Info-Footnote-24316633
Ref: mpi4py MPI Info-Footnote-25316694
Ref: mpi4py MPI Info-Footnote-26316755
Ref: mpi4py MPI Info-Footnote-27316816
Ref: mpi4py MPI Info-Footnote-28316877
Ref: mpi4py MPI Info-Footnote-29316938
Node: mpi4py MPI Intercomm316999
Ref: reference/mpi4py MPI Intercomm doc317122
Ref: 344317122
Ref: reference/mpi4py MPI Intercomm mpi4py-mpi-intercomm317122
Ref: 345317122
Ref: reference/mpi4py MPI Intercomm mpi4py MPI Intercomm317179
Ref: 1c317179
Ref: reference/mpi4py MPI Intercomm mpi4py MPI Intercomm __new__317403
Ref: 346317403
Ref: reference/mpi4py MPI Intercomm mpi4py MPI Intercomm Get_remote_group318218
Ref: 347318218
Ref: reference/mpi4py MPI Intercomm mpi4py MPI Intercomm Get_remote_size318372
Ref: 348318372
Ref: reference/mpi4py MPI Intercomm mpi4py MPI Intercomm Merge318482
Ref: 2e318482
Ref: reference/mpi4py MPI Intercomm mpi4py MPI Intercomm remote_group318710
Ref: 349318710
Ref: reference/mpi4py MPI Intercomm mpi4py MPI Intercomm remote_size318768
Ref: 34a318768
Ref: mpi4py MPI Intercomm-Footnote-1318875
Ref: mpi4py MPI Intercomm-Footnote-2318936
Node: mpi4py MPI Intracomm318998
Ref: reference/mpi4py MPI Intracomm doc319124
Ref: 34b319124
Ref: reference/mpi4py MPI Intracomm mpi4py-mpi-intracomm319124
Ref: 34c319124
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm319181
Ref: 1b319181
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm __new__319405
Ref: 34d319405
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Accept321417
Ref: 6b321417
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Cart_map321742
Ref: 34e321742
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Connect322111
Ref: 6d322111
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Create_cart322435
Ref: 32322435
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Create_dist_graph322824
Ref: 34f322824
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Create_dist_graph_adjacent323491
Ref: 350323491
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Create_graph324250
Ref: 33324250
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Create_intercomm324603
Ref: 2d324603
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Exscan325005
Ref: 5c325005
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Graph_map325328
Ref: 351325328
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Iexscan325665
Ref: 352325665
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Iscan326003
Ref: 353326003
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Scan326339
Ref: 5b326339
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Spawn326660
Ref: 67326660
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm Spawn_multiple327246
Ref: 354327246
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm exscan328078
Ref: 60328078
Ref: reference/mpi4py MPI Intracomm mpi4py MPI Intracomm scan328424
Ref: 5f328424
Ref: mpi4py MPI Intracomm-Footnote-1328804
Ref: mpi4py MPI Intracomm-Footnote-2328864
Ref: mpi4py MPI Intracomm-Footnote-3328925
Ref: mpi4py MPI Intracomm-Footnote-4328986
Ref: mpi4py MPI Intracomm-Footnote-5329048
Ref: mpi4py MPI Intracomm-Footnote-6329109
Ref: mpi4py MPI Intracomm-Footnote-7329169
Ref: mpi4py MPI Intracomm-Footnote-8329230
Ref: mpi4py MPI Intracomm-Footnote-9329291
Ref: mpi4py MPI Intracomm-Footnote-10329353
Ref: mpi4py MPI Intracomm-Footnote-11329416
Ref: mpi4py MPI Intracomm-Footnote-12329478
Ref: mpi4py MPI Intracomm-Footnote-13329540
Ref: mpi4py MPI Intracomm-Footnote-14329602
Ref: mpi4py MPI Intracomm-Footnote-15329664
Ref: mpi4py MPI Intracomm-Footnote-16329727
Ref: mpi4py MPI Intracomm-Footnote-17329789
Ref: mpi4py MPI Intracomm-Footnote-18329851
Ref: mpi4py MPI Intracomm-Footnote-19329913
Ref: mpi4py MPI Intracomm-Footnote-20329975
Ref: mpi4py MPI Intracomm-Footnote-21330038
Ref: mpi4py MPI Intracomm-Footnote-22330100
Ref: mpi4py MPI Intracomm-Footnote-23330162
Ref: mpi4py MPI Intracomm-Footnote-24330225
Ref: mpi4py MPI Intracomm-Footnote-25330287
Ref: mpi4py MPI Intracomm-Footnote-26330349
Ref: mpi4py MPI Intracomm-Footnote-27330411
Ref: mpi4py MPI Intracomm-Footnote-28330473
Ref: mpi4py MPI Intracomm-Footnote-29330535
Ref: mpi4py MPI Intracomm-Footnote-30330597
Ref: mpi4py MPI Intracomm-Footnote-31330658
Ref: mpi4py MPI Intracomm-Footnote-32330719
Ref: mpi4py MPI Intracomm-Footnote-33330781
Ref: mpi4py MPI Intracomm-Footnote-34330843
Ref: mpi4py MPI Intracomm-Footnote-35330905
Ref: mpi4py MPI Intracomm-Footnote-36330966
Ref: mpi4py MPI Intracomm-Footnote-37331027
Ref: mpi4py MPI Intracomm-Footnote-38331089
Ref: mpi4py MPI Intracomm-Footnote-39331151
Node: mpi4py MPI Message331213
Ref: reference/mpi4py MPI Message doc331332
Ref: 355331332
Ref: reference/mpi4py MPI Message mpi4py-mpi-message331332
Ref: 356331332
Ref: reference/mpi4py MPI Message mpi4py MPI Message331385
Ref: ce331385
Ref: reference/mpi4py MPI Message mpi4py MPI Message __new__331608
Ref: 357331608
Ref: reference/mpi4py MPI Message mpi4py MPI Message Iprobe332746
Ref: 358332746
Ref: reference/mpi4py MPI Message mpi4py MPI Message Irecv333189
Ref: 359333189
Ref: reference/mpi4py MPI Message mpi4py MPI Message Probe333367
Ref: 35a333367
Ref: reference/mpi4py MPI Message mpi4py MPI Message Recv333796
Ref: 35b333796
Ref: reference/mpi4py MPI Message mpi4py MPI Message f2py334066
Ref: 35c334066
Ref: reference/mpi4py MPI Message mpi4py MPI Message iprobe334198
Ref: 35d334198
Ref: reference/mpi4py MPI Message mpi4py MPI Message irecv334641
Ref: 35e334641
Ref: reference/mpi4py MPI Message mpi4py MPI Message probe334762
Ref: 35f334762
Ref: reference/mpi4py MPI Message mpi4py MPI Message py2f335192
Ref: 360335192
Ref: reference/mpi4py MPI Message mpi4py MPI Message recv335251
Ref: 361335251
Ref: mpi4py MPI Message-Footnote-1335489
Ref: mpi4py MPI Message-Footnote-2335553
Ref: mpi4py MPI Message-Footnote-3335614
Ref: mpi4py MPI Message-Footnote-4335675
Ref: mpi4py MPI Message-Footnote-5335736
Ref: mpi4py MPI Message-Footnote-6335797
Ref: mpi4py MPI Message-Footnote-7335858
Ref: mpi4py MPI Message-Footnote-8335919
Ref: mpi4py MPI Message-Footnote-9335980
Ref: mpi4py MPI Message-Footnote-10336041
Ref: mpi4py MPI Message-Footnote-11336103
Node: mpi4py MPI Op336165
Ref: reference/mpi4py MPI Op doc336281
Ref: 362336281
Ref: reference/mpi4py MPI Op mpi4py-mpi-op336281
Ref: 363336281
Ref: reference/mpi4py MPI Op mpi4py MPI Op336324
Ref: cb336324
Ref: reference/mpi4py MPI Op mpi4py MPI Op __new__336516
Ref: 364336516
Ref: reference/mpi4py MPI Op mpi4py MPI Op Create337447
Ref: 365337447
Ref: reference/mpi4py MPI Op mpi4py MPI Op Free337832
Ref: 366337832
Ref: reference/mpi4py MPI Op mpi4py MPI Op Is_commutative337918
Ref: 367337918
Ref: reference/mpi4py MPI Op mpi4py MPI Op Reduce_local338049
Ref: 368338049
Ref: reference/mpi4py MPI Op mpi4py MPI Op f2py338303
Ref: 369338303
Ref: reference/mpi4py MPI Op mpi4py MPI Op py2f338430
Ref: 36a338430
Ref: reference/mpi4py MPI Op mpi4py MPI Op is_commutative338549
Ref: 36b338549
Ref: reference/mpi4py MPI Op mpi4py MPI Op is_predefined338611
Ref: 36c338611
Ref: mpi4py MPI Op-Footnote-1338719
Ref: mpi4py MPI Op-Footnote-2338783
Ref: mpi4py MPI Op-Footnote-3338845
Ref: mpi4py MPI Op-Footnote-4338907
Ref: mpi4py MPI Op-Footnote-5338968
Node: mpi4py MPI Pickle339029
Ref: reference/mpi4py MPI Pickle doc339146
Ref: 36d339146
Ref: reference/mpi4py MPI Pickle mpi4py-mpi-pickle339146
Ref: 36e339146
Ref: reference/mpi4py MPI Pickle mpi4py MPI Pickle339197
Ref: d0339197
Ref: reference/mpi4py MPI Pickle mpi4py MPI Pickle __init__339701
Ref: 36f339701
Ref: reference/mpi4py MPI Pickle mpi4py MPI Pickle dumps340598
Ref: 370340598
Ref: reference/mpi4py MPI Pickle mpi4py MPI Pickle loads340975
Ref: 371340975
Ref: reference/mpi4py MPI Pickle mpi4py MPI Pickle PROTOCOL341340
Ref: a2341340
Ref: mpi4py MPI Pickle-Footnote-1341433
Ref: mpi4py MPI Pickle-Footnote-2341497
Ref: mpi4py MPI Pickle-Footnote-3341558
Ref: mpi4py MPI Pickle-Footnote-4341620
Ref: mpi4py MPI Pickle-Footnote-5341681
Ref: mpi4py MPI Pickle-Footnote-6341742
Ref: mpi4py MPI Pickle-Footnote-7341804
Ref: mpi4py MPI Pickle-Footnote-8341865
Node: mpi4py MPI Prequest341927
Ref: reference/mpi4py MPI Prequest doc342049
Ref: 372342049
Ref: reference/mpi4py MPI Prequest mpi4py-mpi-prequest342049
Ref: 373342049
Ref: reference/mpi4py MPI Prequest mpi4py MPI Prequest342104
Ref: 46342104
Ref: reference/mpi4py MPI Prequest mpi4py MPI Prequest __new__342342
Ref: 374342342
Ref: reference/mpi4py MPI Prequest mpi4py MPI Prequest Start342845
Ref: 47342845
Ref: reference/mpi4py MPI Prequest mpi4py MPI Prequest Startall342964
Ref: 375342964
Node: mpi4py MPI Request343186
Ref: reference/mpi4py MPI Request doc343308
Ref: 376343308
Ref: reference/mpi4py MPI Request mpi4py-mpi-request343308
Ref: 377343308
Ref: reference/mpi4py MPI Request mpi4py MPI Request343361
Ref: 3f343361
Ref: reference/mpi4py MPI Request mpi4py MPI Request __new__343576
Ref: 378343576
Ref: reference/mpi4py MPI Request mpi4py MPI Request Cancel346284
Ref: 42346284
Ref: reference/mpi4py MPI Request mpi4py MPI Request Free346384
Ref: 379346384
Ref: reference/mpi4py MPI Request mpi4py MPI Request Get_status346480
Ref: 37a346480
Ref: reference/mpi4py MPI Request mpi4py MPI Request Test346709
Ref: 40346709
Ref: reference/mpi4py MPI Request mpi4py MPI Request Testall346924
Ref: 37b346924
Ref: reference/mpi4py MPI Request mpi4py MPI Request Testany347319
Ref: 37c347319
Ref: reference/mpi4py MPI Request mpi4py MPI Request Testsome347685
Ref: 37d347685
Ref: reference/mpi4py MPI Request mpi4py MPI Request Wait348097
Ref: 41348097
Ref: reference/mpi4py MPI Request mpi4py MPI Request Waitall348312
Ref: 37e348312
Ref: reference/mpi4py MPI Request mpi4py MPI Request Waitany348711
Ref: 37f348711
Ref: reference/mpi4py MPI Request mpi4py MPI Request Waitsome349059
Ref: 380349059
Ref: reference/mpi4py MPI Request mpi4py MPI Request cancel349469
Ref: 381349469
Ref: reference/mpi4py MPI Request mpi4py MPI Request f2py349569
Ref: 382349569
Ref: reference/mpi4py MPI Request mpi4py MPI Request get_status349702
Ref: 383349702
Ref: reference/mpi4py MPI Request mpi4py MPI Request py2f349932
Ref: 384349932
Ref: reference/mpi4py MPI Request mpi4py MPI Request test349991
Ref: 9e349991
Ref: reference/mpi4py MPI Request mpi4py MPI Request testall350229
Ref: 385350229
Ref: reference/mpi4py MPI Request mpi4py MPI Request testany350653
Ref: 386350653
Ref: reference/mpi4py MPI Request mpi4py MPI Request testsome351036
Ref: 387351036
Ref: reference/mpi4py MPI Request mpi4py MPI Request wait351487
Ref: 9f351487
Ref: reference/mpi4py MPI Request mpi4py MPI Request waitall351692
Ref: 388351692
Ref: reference/mpi4py MPI Request mpi4py MPI Request waitany352087
Ref: 389352087
Ref: reference/mpi4py MPI Request mpi4py MPI Request waitsome352448
Ref: 38a352448
Ref: mpi4py MPI Request-Footnote-1352933
Ref: mpi4py MPI Request-Footnote-2352997
Ref: mpi4py MPI Request-Footnote-3353059
Ref: mpi4py MPI Request-Footnote-4353121
Ref: mpi4py MPI Request-Footnote-5353183
Ref: mpi4py MPI Request-Footnote-6353244
Ref: mpi4py MPI Request-Footnote-7353306
Ref: mpi4py MPI Request-Footnote-8353367
Ref: mpi4py MPI Request-Footnote-9353428
Ref: mpi4py MPI Request-Footnote-10353489
Ref: mpi4py MPI Request-Footnote-11353551
Ref: mpi4py MPI Request-Footnote-12353614
Ref: mpi4py MPI Request-Footnote-13353676
Ref: mpi4py MPI Request-Footnote-14353739
Ref: mpi4py MPI Request-Footnote-15353802
Ref: mpi4py MPI Request-Footnote-16353864
Ref: mpi4py MPI Request-Footnote-17353927
Ref: mpi4py MPI Request-Footnote-18353989
Ref: mpi4py MPI Request-Footnote-19354051
Node: mpi4py MPI Status354113
Ref: reference/mpi4py MPI Status doc354235
Ref: 38b354235
Ref: reference/mpi4py MPI Status mpi4py-mpi-status354235
Ref: 38c354235
Ref: reference/mpi4py MPI Status mpi4py MPI Status354286
Ref: c9354286
Ref: reference/mpi4py MPI Status mpi4py MPI Status __new__354495
Ref: 38d354495
Ref: reference/mpi4py MPI Status mpi4py MPI Status Get_count356237
Ref: 38e356237
Ref: reference/mpi4py MPI Status mpi4py MPI Status Get_elements356432
Ref: 38f356432
Ref: reference/mpi4py MPI Status mpi4py MPI Status Get_error356629
Ref: 390356629
Ref: reference/mpi4py MPI Status mpi4py MPI Status Get_source356721
Ref: 391356721
Ref: reference/mpi4py MPI Status mpi4py MPI Status Get_tag356815
Ref: 392356815
Ref: reference/mpi4py MPI Status mpi4py MPI Status Is_cancelled356903
Ref: 393356903
Ref: reference/mpi4py MPI Status mpi4py MPI Status Set_cancelled357020
Ref: 394357020
Ref: reference/mpi4py MPI Status mpi4py MPI Status Set_elements357328
Ref: 395357328
Ref: reference/mpi4py MPI Status mpi4py MPI Status Set_error357709
Ref: 396357709
Ref: reference/mpi4py MPI Status mpi4py MPI Status Set_source357854
Ref: 397357854
Ref: reference/mpi4py MPI Status mpi4py MPI Status Set_tag358003
Ref: 398358003
Ref: reference/mpi4py MPI Status mpi4py MPI Status f2py358140
Ref: 399358140
Ref: reference/mpi4py MPI Status mpi4py MPI Status py2f358296
Ref: 39a358296
Ref: reference/mpi4py MPI Status mpi4py MPI Status cancelled358422
Ref: 39b358422
Ref: reference/mpi4py MPI Status mpi4py MPI Status count358480
Ref: 39c358480
Ref: reference/mpi4py MPI Status mpi4py MPI Status error358529
Ref: 39d358529
Ref: reference/mpi4py MPI Status mpi4py MPI Status source358556
Ref: 39e358556
Ref: reference/mpi4py MPI Status mpi4py MPI Status tag358584
Ref: 39f358584
Ref: mpi4py MPI Status-Footnote-1358645
Ref: mpi4py MPI Status-Footnote-2358709
Ref: mpi4py MPI Status-Footnote-3358770
Ref: mpi4py MPI Status-Footnote-4358831
Ref: mpi4py MPI Status-Footnote-5358892
Ref: mpi4py MPI Status-Footnote-6358953
Ref: mpi4py MPI Status-Footnote-7359014
Ref: mpi4py MPI Status-Footnote-8359076
Ref: mpi4py MPI Status-Footnote-9359138
Ref: mpi4py MPI Status-Footnote-10359199
Ref: mpi4py MPI Status-Footnote-11359261
Ref: mpi4py MPI Status-Footnote-12359323
Ref: mpi4py MPI Status-Footnote-13359385
Ref: mpi4py MPI Status-Footnote-14359447
Node: mpi4py MPI Topocomm359509
Ref: reference/mpi4py MPI Topocomm doc359627
Ref: 3a0359627
Ref: reference/mpi4py MPI Topocomm mpi4py-mpi-topocomm359627
Ref: 3a1359627
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm359682
Ref: cd359682
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm __new__359917
Ref: 3a2359917
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Ineighbor_allgather361999
Ref: 3a3361999
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Ineighbor_allgatherv362271
Ref: 3a4362271
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Ineighbor_alltoall362551
Ref: 3a5362551
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Ineighbor_alltoallv362820
Ref: 3a6362820
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Ineighbor_alltoallw363097
Ref: 3a7363097
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Neighbor_allgather363379
Ref: 3a8363379
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Neighbor_allgatherv363624
Ref: 3a9363624
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Neighbor_alltoall363877
Ref: 3aa363877
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Neighbor_alltoallv364119
Ref: 3ab364119
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm Neighbor_alltoallw364369
Ref: 3ac364369
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm neighbor_allgather364624
Ref: 3ad364624
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm neighbor_alltoall364794
Ref: 3ae364794
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm degrees365060
Ref: 3af365060
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm indegree365142
Ref: 3b0365142
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm inedges365212
Ref: 3b1365212
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm inoutedges365271
Ref: 3b2365271
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm outdegree365346
Ref: 3b3365346
Ref: reference/mpi4py MPI Topocomm mpi4py MPI Topocomm outedges365417
Ref: 3b4365417
Node: mpi4py MPI Win365477
Ref: reference/mpi4py MPI Win doc365595
Ref: 3b5365595
Ref: reference/mpi4py MPI Win mpi4py-mpi-win365595
Ref: 3b6365595
Ref: reference/mpi4py MPI Win mpi4py MPI Win365640
Ref: 72365640
Ref: reference/mpi4py MPI Win mpi4py MPI Win __new__365834
Ref: 3b7365834
Ref: reference/mpi4py MPI Win mpi4py MPI Win Accumulate372297
Ref: 77372297
Ref: reference/mpi4py MPI Win mpi4py MPI Win Allocate372695
Ref: 3b8372695
Ref: reference/mpi4py MPI Win mpi4py MPI Win Allocate_shared373116
Ref: 3b9373116
Ref: reference/mpi4py MPI Win mpi4py MPI Win Attach373544
Ref: 3ba373544
Ref: reference/mpi4py MPI Win mpi4py MPI Win Call_errhandler373704
Ref: 3bb373704
Ref: reference/mpi4py MPI Win mpi4py MPI Win Compare_and_swap373889
Ref: 3bc373889
Ref: reference/mpi4py MPI Win mpi4py MPI Win Complete374342
Ref: 79374342
Ref: reference/mpi4py MPI Win mpi4py MPI Win Create374489
Ref: 73374489
Ref: reference/mpi4py MPI Win mpi4py MPI Win Create_dynamic374982
Ref: 3bd374982
Ref: reference/mpi4py MPI Win mpi4py MPI Win Create_keyval375305
Ref: 3be375305
Ref: reference/mpi4py MPI Win mpi4py MPI Win Delete_attr375937
Ref: 3bf375937
Ref: reference/mpi4py MPI Win mpi4py MPI Win Detach376113
Ref: 3c0376113
Ref: reference/mpi4py MPI Win mpi4py MPI Win Fence376273
Ref: 7c376273
Ref: reference/mpi4py MPI Win mpi4py MPI Win Fetch_and_op376455
Ref: 3c1376455
Ref: reference/mpi4py MPI Win mpi4py MPI Win Flush376894
Ref: 3c2376894
Ref: reference/mpi4py MPI Win mpi4py MPI Win Flush_all377075
Ref: 3c3377075
Ref: reference/mpi4py MPI Win mpi4py MPI Win Flush_local377202
Ref: 3c4377202
Ref: reference/mpi4py MPI Win mpi4py MPI Win Flush_local_all377407
Ref: 3c5377407
Ref: reference/mpi4py MPI Win mpi4py MPI Win Free377560
Ref: 74377560
Ref: reference/mpi4py MPI Win mpi4py MPI Win Free_keyval377641
Ref: 3c6377641
Ref: reference/mpi4py MPI Win mpi4py MPI Win Get377821
Ref: 76377821
Ref: reference/mpi4py MPI Win mpi4py MPI Win Get_accumulate378171
Ref: 3c7378171
Ref: reference/mpi4py MPI Win mpi4py MPI Win Get_attr378656
Ref: 3c8378656
Ref: reference/mpi4py MPI Win mpi4py MPI Win Get_errhandler378841
Ref: 3c9378841
Ref: reference/mpi4py MPI Win mpi4py MPI Win Get_group378970
Ref: 3ca378970
Ref: reference/mpi4py MPI Win mpi4py MPI Win Get_info379142
Ref: 3cb379142
Ref: reference/mpi4py MPI Win mpi4py MPI Win Get_name379281
Ref: 3cc379281
Ref: reference/mpi4py MPI Win mpi4py MPI Win Lock379401
Ref: 7d379401
Ref: reference/mpi4py MPI Win mpi4py MPI Win Lock_all379716
Ref: 3cd379716
Ref: reference/mpi4py MPI Win mpi4py MPI Win Post379895
Ref: 7a379895
Ref: reference/mpi4py MPI Win mpi4py MPI Win Put380129
Ref: 75380129
Ref: reference/mpi4py MPI Win mpi4py MPI Win Raccumulate380479
Ref: 3ce380479
Ref: reference/mpi4py MPI Win mpi4py MPI Win Rget380903
Ref: 3cf380903
Ref: reference/mpi4py MPI Win mpi4py MPI Win Rget_accumulate381268
Ref: 3d0381268
Ref: reference/mpi4py MPI Win mpi4py MPI Win Rput381796
Ref: 3d1381796
Ref: reference/mpi4py MPI Win mpi4py MPI Win Set_attr382161
Ref: 3d2382161
Ref: reference/mpi4py MPI Win mpi4py MPI Win Set_errhandler382404
Ref: 3d3382404
Ref: reference/mpi4py MPI Win mpi4py MPI Win Set_info382595
Ref: 3d4382595
Ref: reference/mpi4py MPI Win mpi4py MPI Win Set_name382781
Ref: 3d5382781
Ref: reference/mpi4py MPI Win mpi4py MPI Win Shared_query382951
Ref: 3d6382951
Ref: reference/mpi4py MPI Win mpi4py MPI Win Start383223
Ref: 78383223
Ref: reference/mpi4py MPI Win mpi4py MPI Win Sync383464
Ref: 3d7383464
Ref: reference/mpi4py MPI Win mpi4py MPI Win Test383589
Ref: 3d8383589
Ref: reference/mpi4py MPI Win mpi4py MPI Win Unlock383709
Ref: 7e383709
Ref: reference/mpi4py MPI Win mpi4py MPI Win Unlock_all383882
Ref: 3d9383882
Ref: reference/mpi4py MPI Win mpi4py MPI Win Wait384001
Ref: 7b384001
Ref: reference/mpi4py MPI Win mpi4py MPI Win f2py384151
Ref: 3da384151
Ref: reference/mpi4py MPI Win mpi4py MPI Win py2f384280
Ref: 3db384280
Ref: reference/mpi4py MPI Win mpi4py MPI Win tomemory384339
Ref: 3dc384339
Ref: reference/mpi4py MPI Win mpi4py MPI Win attrs384512
Ref: 3dd384512
Ref: reference/mpi4py MPI Win mpi4py MPI Win flavor384568
Ref: 3de384568
Ref: reference/mpi4py MPI Win mpi4py MPI Win group384628
Ref: 3df384628
Ref: reference/mpi4py MPI Win mpi4py MPI Win info384679
Ref: 3e0384679
Ref: reference/mpi4py MPI Win mpi4py MPI Win model384728
Ref: 3e1384728
Ref: reference/mpi4py MPI Win mpi4py MPI Win name384786
Ref: 3e2384786
Ref: mpi4py MPI Win-Footnote-1384871
Ref: mpi4py MPI Win-Footnote-2384935
Ref: mpi4py MPI Win-Footnote-3384996
Ref: mpi4py MPI Win-Footnote-4385057
Ref: mpi4py MPI Win-Footnote-5385118
Ref: mpi4py MPI Win-Footnote-6385179
Ref: mpi4py MPI Win-Footnote-7385240
Ref: mpi4py MPI Win-Footnote-8385301
Ref: mpi4py MPI Win-Footnote-9385362
Ref: mpi4py MPI Win-Footnote-10385423
Ref: mpi4py MPI Win-Footnote-11385485
Ref: mpi4py MPI Win-Footnote-12385547
Ref: mpi4py MPI Win-Footnote-13385609
Ref: mpi4py MPI Win-Footnote-14385672
Ref: mpi4py MPI Win-Footnote-15385734
Ref: mpi4py MPI Win-Footnote-16385796
Ref: mpi4py MPI Win-Footnote-17385858
Ref: mpi4py MPI Win-Footnote-18385920
Ref: mpi4py MPI Win-Footnote-19385982
Ref: mpi4py MPI Win-Footnote-20386044
Ref: mpi4py MPI Win-Footnote-21386106
Ref: mpi4py MPI Win-Footnote-22386168
Ref: mpi4py MPI Win-Footnote-23386230
Ref: mpi4py MPI Win-Footnote-24386292
Ref: mpi4py MPI Win-Footnote-25386354
Ref: mpi4py MPI Win-Footnote-26386416
Ref: mpi4py MPI Win-Footnote-27386478
Ref: mpi4py MPI Win-Footnote-28386539
Ref: mpi4py MPI Win-Footnote-29386601
Ref: mpi4py MPI Win-Footnote-30386663
Ref: mpi4py MPI Win-Footnote-31386725
Ref: mpi4py MPI Win-Footnote-32386787
Ref: mpi4py MPI Win-Footnote-33386849
Ref: mpi4py MPI Win-Footnote-34386911
Ref: mpi4py MPI Win-Footnote-35386973
Ref: mpi4py MPI Win-Footnote-36387035
Ref: mpi4py MPI Win-Footnote-37387097
Ref: mpi4py MPI Win-Footnote-38387159
Ref: mpi4py MPI Win-Footnote-39387221
Ref: mpi4py MPI Win-Footnote-40387282
Ref: mpi4py MPI Win-Footnote-41387344
Ref: mpi4py MPI Win-Footnote-42387406
Ref: mpi4py MPI Win-Footnote-43387468
Ref: mpi4py MPI Win-Footnote-44387531
Ref: mpi4py MPI Win-Footnote-45387593
Ref: mpi4py MPI Win-Footnote-46387655
Node: mpi4py MPI memory387717
Ref: reference/mpi4py MPI memory doc387836
Ref: 3e3387836
Ref: reference/mpi4py MPI memory mpi4py-mpi-memory387836
Ref: 3e4387836
Ref: reference/mpi4py MPI memory mpi4py MPI memory387887
Ref: d1387887
Ref: reference/mpi4py MPI memory mpi4py MPI memory __new__388052
Ref: 3e5388052
Ref: reference/mpi4py MPI memory mpi4py MPI memory allocate389531
Ref: 3e6389531
Ref: reference/mpi4py MPI memory mpi4py MPI memory fromaddress389767
Ref: 3e7389767
Ref: reference/mpi4py MPI memory mpi4py MPI memory frombuffer390084
Ref: 3e8390084
Ref: reference/mpi4py MPI memory mpi4py MPI memory release390341
Ref: 3e9390341
Ref: reference/mpi4py MPI memory mpi4py MPI memory tobytes390470
Ref: 3ea390470
Ref: reference/mpi4py MPI memory mpi4py MPI memory toreadonly390678
Ref: 3eb390678
Ref: reference/mpi4py MPI memory mpi4py MPI memory address390872
Ref: 3ec390872
Ref: reference/mpi4py MPI memory mpi4py MPI memory format390927
Ref: 3ed390927
Ref: reference/mpi4py MPI memory mpi4py MPI memory itemsize391007
Ref: 3ee391007
Ref: reference/mpi4py MPI memory mpi4py MPI memory nbytes391082
Ref: 3ef391082
Ref: reference/mpi4py MPI memory mpi4py MPI memory obj391144
Ref: 3f0391144
Ref: reference/mpi4py MPI memory mpi4py MPI memory readonly391216
Ref: 3f1391216
Ref: mpi4py MPI memory-Footnote-1391428
Ref: mpi4py MPI memory-Footnote-2391492
Ref: mpi4py MPI memory-Footnote-3391553
Ref: mpi4py MPI memory-Footnote-4391615
Ref: mpi4py MPI memory-Footnote-5391676
Ref: mpi4py MPI memory-Footnote-6391737
Ref: mpi4py MPI memory-Footnote-7391799
Ref: mpi4py MPI memory-Footnote-8391861
Ref: mpi4py MPI memory-Footnote-9391921
Node: mpi4py MPI Exception391983
Ref: reference/mpi4py MPI Exception doc392114
Ref: 3f2392114
Ref: reference/mpi4py MPI Exception mpi4py-mpi-exception392114
Ref: 3f3392114
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception392171
Ref: 99392171
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception __new__392358
Ref: 3f4392358
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception Get_error_class393122
Ref: 3f5393122
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception Get_error_code393214
Ref: 3f6393214
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception Get_error_string393304
Ref: 3f7393304
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception error_class393459
Ref: 3f8393459
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception error_code393515
Ref: 3f9393515
Ref: reference/mpi4py MPI Exception mpi4py MPI Exception error_string393569
Ref: 3fa393569
Ref: mpi4py MPI Exception-Footnote-1397258
Ref: mpi4py MPI Exception-Footnote-2397329
Ref: mpi4py MPI Exception-Footnote-3397390
Ref: mpi4py MPI Exception-Footnote-4397451
Ref: mpi4py MPI Exception-Footnote-5397512
Ref: mpi4py MPI Exception-Footnote-6397573
Node: mpi4py MPI Add_error_class397633
Ref: reference/mpi4py MPI Add_error_class doc397772
Ref: 3fb397772
Ref: reference/mpi4py MPI Add_error_class mpi4py-mpi-add-error-class397772
Ref: 3fc397772
Ref: reference/mpi4py MPI Add_error_class mpi4py MPI Add_error_class397841
Ref: dd397841
Ref: mpi4py MPI Add_error_class-Footnote-1398007
Node: mpi4py MPI Add_error_code398068
Ref: reference/mpi4py MPI Add_error_code doc398214
Ref: 3fd398214
Ref: reference/mpi4py MPI Add_error_code mpi4py-mpi-add-error-code398214
Ref: 3fe398214
Ref: reference/mpi4py MPI Add_error_code mpi4py MPI Add_error_code398281
Ref: de398281
Ref: mpi4py MPI Add_error_code-Footnote-1398501
Ref: mpi4py MPI Add_error_code-Footnote-2398562
Node: mpi4py MPI Add_error_string398623
Ref: reference/mpi4py MPI Add_error_string doc398762
Ref: 3ff398762
Ref: reference/mpi4py MPI Add_error_string mpi4py-mpi-add-error-string398762
Ref: 400398762
Ref: reference/mpi4py MPI Add_error_string mpi4py MPI Add_error_string398833
Ref: df398833
Ref: mpi4py MPI Add_error_string-Footnote-1399136
Ref: mpi4py MPI Add_error_string-Footnote-2399197
Node: mpi4py MPI Aint_add399257
Ref: reference/mpi4py MPI Aint_add doc399391
Ref: 401399391
Ref: reference/mpi4py MPI Aint_add mpi4py-mpi-aint-add399391
Ref: 402399391
Ref: reference/mpi4py MPI Aint_add mpi4py MPI Aint_add399446
Ref: d9399446
Ref: mpi4py MPI Aint_add-Footnote-1399700
Ref: mpi4py MPI Aint_add-Footnote-2399761
Ref: mpi4py MPI Aint_add-Footnote-3399822
Node: mpi4py MPI Aint_diff399883
Ref: reference/mpi4py MPI Aint_diff doc400010
Ref: 403400010
Ref: reference/mpi4py MPI Aint_diff mpi4py-mpi-aint-diff400010
Ref: 404400010
Ref: reference/mpi4py MPI Aint_diff mpi4py MPI Aint_diff400067
Ref: da400067
Ref: mpi4py MPI Aint_diff-Footnote-1400327
Ref: mpi4py MPI Aint_diff-Footnote-2400388
Ref: mpi4py MPI Aint_diff-Footnote-3400449
Node: mpi4py MPI Alloc_mem400510
Ref: reference/mpi4py MPI Alloc_mem doc400642
Ref: 405400642
Ref: reference/mpi4py MPI Alloc_mem mpi4py-mpi-alloc-mem400642
Ref: 406400642
Ref: reference/mpi4py MPI Alloc_mem mpi4py MPI Alloc_mem400699
Ref: d6400699
Ref: mpi4py MPI Alloc_mem-Footnote-1400980
Node: mpi4py MPI Attach_buffer401041
Ref: reference/mpi4py MPI Attach_buffer doc401174
Ref: 407401174
Ref: reference/mpi4py MPI Attach_buffer mpi4py-mpi-attach-buffer401174
Ref: 408401174
Ref: reference/mpi4py MPI Attach_buffer mpi4py MPI Attach_buffer401239
Ref: e0401239
Node: mpi4py MPI Close_port401423
Ref: reference/mpi4py MPI Close_port doc401559
Ref: 409401559
Ref: reference/mpi4py MPI Close_port mpi4py-mpi-close-port401559
Ref: 40a401559
Ref: reference/mpi4py MPI Close_port mpi4py MPI Close_port401618
Ref: 70401618
Ref: mpi4py MPI Close_port-Footnote-1401795
Node: mpi4py MPI Compute_dims401855
Ref: reference/mpi4py MPI Compute_dims doc401991
Ref: 40b401991
Ref: reference/mpi4py MPI Compute_dims mpi4py-mpi-compute-dims401991
Ref: 40c401991
Ref: reference/mpi4py MPI Compute_dims mpi4py MPI Compute_dims402054
Ref: e2402054
Ref: mpi4py MPI Compute_dims-Footnote-1402415
Ref: mpi4py MPI Compute_dims-Footnote-2402476
Ref: mpi4py MPI Compute_dims-Footnote-3402537
Ref: mpi4py MPI Compute_dims-Footnote-4402598
Node: mpi4py MPI Detach_buffer402659
Ref: reference/mpi4py MPI Detach_buffer doc402793
Ref: 40d402793
Ref: reference/mpi4py MPI Detach_buffer mpi4py-mpi-detach-buffer402793
Ref: 40e402793
Ref: reference/mpi4py MPI Detach_buffer mpi4py MPI Detach_buffer402858
Ref: e1402858
Node: mpi4py MPI Finalize402969
Ref: reference/mpi4py MPI Finalize doc403099
Ref: 40f403099
Ref: reference/mpi4py MPI Finalize mpi4py-mpi-finalize403099
Ref: 410403099
Ref: reference/mpi4py MPI Finalize mpi4py MPI Finalize403154
Ref: 8a403154
Node: mpi4py MPI Free_mem403263
Ref: reference/mpi4py MPI Free_mem doc403391
Ref: 411403391
Ref: reference/mpi4py MPI Free_mem mpi4py-mpi-free-mem403391
Ref: 412403391
Ref: reference/mpi4py MPI Free_mem mpi4py MPI Free_mem403446
Ref: d7403446
Node: mpi4py MPI Get_address403621
Ref: reference/mpi4py MPI Get_address doc403756
Ref: 413403756
Ref: reference/mpi4py MPI Get_address mpi4py-mpi-get-address403756
Ref: 414403756
Ref: reference/mpi4py MPI Get_address mpi4py MPI Get_address403817
Ref: d8403817
Ref: mpi4py MPI Get_address-Footnote-1404073
Node: mpi4py MPI Get_error_class404134
Ref: reference/mpi4py MPI Get_error_class doc404277
Ref: 415404277
Ref: reference/mpi4py MPI Get_error_class mpi4py-mpi-get-error-class404277
Ref: 416404277
Ref: reference/mpi4py MPI Get_error_class mpi4py MPI Get_error_class404346
Ref: db404346
Ref: mpi4py MPI Get_error_class-Footnote-1404571
Ref: mpi4py MPI Get_error_class-Footnote-2404632
Node: mpi4py MPI Get_error_string404693
Ref: reference/mpi4py MPI Get_error_string doc404844
Ref: 417404844
Ref: reference/mpi4py MPI Get_error_string mpi4py-mpi-get-error-string404844
Ref: 418404844
Ref: reference/mpi4py MPI Get_error_string mpi4py MPI Get_error_string404915
Ref: dc404915
Ref: mpi4py MPI Get_error_string-Footnote-1405167
Ref: mpi4py MPI Get_error_string-Footnote-2405228
Node: mpi4py MPI Get_library_version405288
Ref: reference/mpi4py MPI Get_library_version doc405442
Ref: 419405442
Ref: reference/mpi4py MPI Get_library_version mpi4py-mpi-get-library-version405442
Ref: 41a405442
Ref: reference/mpi4py MPI Get_library_version mpi4py MPI Get_library_version405519
Ref: d3405519
Ref: mpi4py MPI Get_library_version-Footnote-1405682
Node: mpi4py MPI Get_processor_name405742
Ref: reference/mpi4py MPI Get_processor_name doc405891
Ref: 41b405891
Ref: reference/mpi4py MPI Get_processor_name mpi4py-mpi-get-processor-name405891
Ref: 41c405891
Ref: reference/mpi4py MPI Get_processor_name mpi4py MPI Get_processor_name405966
Ref: 8f405966
Ref: mpi4py MPI Get_processor_name-Footnote-1406124
Node: mpi4py MPI Get_version406184
Ref: reference/mpi4py MPI Get_version doc406318
Ref: 41d406318
Ref: reference/mpi4py MPI Get_version mpi4py-mpi-get-version406318
Ref: 41e406318
Ref: reference/mpi4py MPI Get_version mpi4py MPI Get_version406379
Ref: 8e406379
Ref: mpi4py MPI Get_version-Footnote-1406626
Ref: mpi4py MPI Get_version-Footnote-2406687
Node: mpi4py MPI Init406748
Ref: reference/mpi4py MPI Init doc406875
Ref: 41f406875
Ref: reference/mpi4py MPI Init mpi4py-mpi-init406875
Ref: 420406875
Ref: reference/mpi4py MPI Init mpi4py MPI Init406922
Ref: 88406922
Node: mpi4py MPI Init_thread407028
Ref: reference/mpi4py MPI Init_thread doc407156
Ref: 421407156
Ref: reference/mpi4py MPI Init_thread mpi4py-mpi-init-thread407156
Ref: 422407156
Ref: reference/mpi4py MPI Init_thread mpi4py MPI Init_thread407217
Ref: 89407217
Ref: mpi4py MPI Init_thread-Footnote-1407439
Ref: mpi4py MPI Init_thread-Footnote-2407500
Node: mpi4py MPI Is_finalized407561
Ref: reference/mpi4py MPI Is_finalized doc407699
Ref: 423407699
Ref: reference/mpi4py MPI Is_finalized mpi4py-mpi-is-finalized407699
Ref: 424407699
Ref: reference/mpi4py MPI Is_finalized mpi4py MPI Is_finalized407762
Ref: 8c407762
Ref: mpi4py MPI Is_finalized-Footnote-1407926
Node: mpi4py MPI Is_initialized407988
Ref: reference/mpi4py MPI Is_initialized doc408129
Ref: 425408129
Ref: reference/mpi4py MPI Is_initialized mpi4py-mpi-is-initialized408129
Ref: 426408129
Ref: reference/mpi4py MPI Is_initialized mpi4py MPI Is_initialized408196
Ref: 8b408196
Ref: mpi4py MPI Is_initialized-Footnote-1408360
Node: mpi4py MPI Is_thread_main408422
Ref: reference/mpi4py MPI Is_thread_main doc408562
Ref: 427408562
Ref: reference/mpi4py MPI Is_thread_main mpi4py-mpi-is-thread-main408562
Ref: 428408562
Ref: reference/mpi4py MPI Is_thread_main mpi4py MPI Is_thread_main408629
Ref: d5408629
Ref: mpi4py MPI Is_thread_main-Footnote-1408826
Node: mpi4py MPI Lookup_name408888
Ref: reference/mpi4py MPI Lookup_name doc409023
Ref: 429409023
Ref: reference/mpi4py MPI Lookup_name mpi4py-mpi-lookup-name409023
Ref: 42a409023
Ref: reference/mpi4py MPI Lookup_name mpi4py MPI Lookup_name409084
Ref: 6c409084
Ref: mpi4py MPI Lookup_name-Footnote-1409368
Ref: mpi4py MPI Lookup_name-Footnote-2409428
Node: mpi4py MPI Open_port409488
Ref: reference/mpi4py MPI Open_port doc409617
Ref: 42b409617
Ref: reference/mpi4py MPI Open_port mpi4py-mpi-open-port409617
Ref: 42c409617
Ref: reference/mpi4py MPI Open_port mpi4py MPI Open_port409674
Ref: 69409674
Ref: mpi4py MPI Open_port-Footnote-1409945
Node: mpi4py MPI Pcontrol410005
Ref: reference/mpi4py MPI Pcontrol doc410135
Ref: 42d410135
Ref: reference/mpi4py MPI Pcontrol mpi4py-mpi-pcontrol410135
Ref: 42e410135
Ref: reference/mpi4py MPI Pcontrol mpi4py MPI Pcontrol410190
Ref: e4410190
Ref: mpi4py MPI Pcontrol-Footnote-1410362
Node: mpi4py MPI Publish_name410423
Ref: reference/mpi4py MPI Publish_name doc410556
Ref: 42f410556
Ref: reference/mpi4py MPI Publish_name mpi4py-mpi-publish-name410556
Ref: 430410556
Ref: reference/mpi4py MPI Publish_name mpi4py MPI Publish_name410619
Ref: 6a410619
Ref: mpi4py MPI Publish_name-Footnote-1410946
Ref: mpi4py MPI Publish_name-Footnote-2411006
Node: mpi4py MPI Query_thread411066
Ref: reference/mpi4py MPI Query_thread doc411207
Ref: 431411207
Ref: reference/mpi4py MPI Query_thread mpi4py-mpi-query-thread411207
Ref: 432411207
Ref: reference/mpi4py MPI Query_thread mpi4py MPI Query_thread411270
Ref: d4411270
Ref: mpi4py MPI Query_thread-Footnote-1411444
Node: mpi4py MPI Register_datarep411505
Ref: reference/mpi4py MPI Register_datarep doc411648
Ref: 433411648
Ref: reference/mpi4py MPI Register_datarep mpi4py-mpi-register-datarep411648
Ref: 434411648
Ref: reference/mpi4py MPI Register_datarep mpi4py MPI Register_datarep411719
Ref: e3411719
Ref: mpi4py MPI Register_datarep-Footnote-1412477
Ref: mpi4py MPI Register_datarep-Footnote-2412537
Ref: mpi4py MPI Register_datarep-Footnote-3412598
Ref: mpi4py MPI Register_datarep-Footnote-4412659
Ref: mpi4py MPI Register_datarep-Footnote-5412720
Ref: mpi4py MPI Register_datarep-Footnote-6412781
Node: mpi4py MPI Unpublish_name412842
Ref: reference/mpi4py MPI Unpublish_name doc412978
Ref: 435412978
Ref: reference/mpi4py MPI Unpublish_name mpi4py-mpi-unpublish-name412978
Ref: 436412978
Ref: reference/mpi4py MPI Unpublish_name mpi4py MPI Unpublish_name413045
Ref: 6f413045
Ref: mpi4py MPI Unpublish_name-Footnote-1413376
Ref: mpi4py MPI Unpublish_name-Footnote-2413436
Node: mpi4py MPI Wtick413496
Ref: reference/mpi4py MPI Wtick doc413621
Ref: 437413621
Ref: reference/mpi4py MPI Wtick mpi4py-mpi-wtick413621
Ref: 438413621
Ref: reference/mpi4py MPI Wtick mpi4py MPI Wtick413670
Ref: 93413670
Ref: mpi4py MPI Wtick-Footnote-1413818
Node: mpi4py MPI Wtime413881
Ref: reference/mpi4py MPI Wtime doc414002
Ref: 439414002
Ref: reference/mpi4py MPI Wtime mpi4py-mpi-wtime414002
Ref: 43a414002
Ref: reference/mpi4py MPI Wtime mpi4py MPI Wtime414051
Ref: 92414051
Ref: mpi4py MPI Wtime-Footnote-1414205
Node: mpi4py MPI get_vendor414268
Ref: reference/mpi4py MPI get_vendor doc414393
Ref: 43b414393
Ref: reference/mpi4py MPI get_vendor mpi4py-mpi-get-vendor414393
Ref: 43c414393
Ref: reference/mpi4py MPI get_vendor mpi4py MPI get_vendor414452
Ref: e5414452
Ref: mpi4py MPI get_vendor-Footnote-1438353
Ref: mpi4py MPI get_vendor-Footnote-2438413
Ref: mpi4py MPI get_vendor-Footnote-3438474
Ref: mpi4py MPI get_vendor-Footnote-4438535
Ref: mpi4py MPI get_vendor-Footnote-5438596
Ref: mpi4py MPI get_vendor-Footnote-6438657
Ref: mpi4py MPI get_vendor-Footnote-7438718
Ref: mpi4py MPI get_vendor-Footnote-8438779
Ref: mpi4py MPI get_vendor-Footnote-9438840
Ref: mpi4py MPI get_vendor-Footnote-10438901
Ref: mpi4py MPI get_vendor-Footnote-11438963
Ref: mpi4py MPI get_vendor-Footnote-12439025
Ref: mpi4py MPI get_vendor-Footnote-13439087
Ref: mpi4py MPI get_vendor-Footnote-14439149
Ref: mpi4py MPI get_vendor-Footnote-15439211
Ref: mpi4py MPI get_vendor-Footnote-16439273
Ref: mpi4py MPI get_vendor-Footnote-17439335
Ref: mpi4py MPI get_vendor-Footnote-18439397
Ref: mpi4py MPI get_vendor-Footnote-19439459
Ref: mpi4py MPI get_vendor-Footnote-20439521
Ref: mpi4py MPI get_vendor-Footnote-21439583
Ref: mpi4py MPI get_vendor-Footnote-22439645
Ref: mpi4py MPI get_vendor-Footnote-23439707
Ref: mpi4py MPI get_vendor-Footnote-24439769
Ref: mpi4py MPI get_vendor-Footnote-25439831
Ref: mpi4py MPI get_vendor-Footnote-26439893
Ref: mpi4py MPI get_vendor-Footnote-27439955
Ref: mpi4py MPI get_vendor-Footnote-28440017
Ref: mpi4py MPI get_vendor-Footnote-29440079
Ref: mpi4py MPI get_vendor-Footnote-30440141
Ref: mpi4py MPI get_vendor-Footnote-31440203
Ref: mpi4py MPI get_vendor-Footnote-32440265
Ref: mpi4py MPI get_vendor-Footnote-33440327
Ref: mpi4py MPI get_vendor-Footnote-34440389
Ref: mpi4py MPI get_vendor-Footnote-35440451
Ref: mpi4py MPI get_vendor-Footnote-36440513
Ref: mpi4py MPI get_vendor-Footnote-37440575
Ref: mpi4py MPI get_vendor-Footnote-38440637
Ref: mpi4py MPI get_vendor-Footnote-39440699
Ref: mpi4py MPI get_vendor-Footnote-40440761
Ref: mpi4py MPI get_vendor-Footnote-41440823
Ref: mpi4py MPI get_vendor-Footnote-42440885
Ref: mpi4py MPI get_vendor-Footnote-43440947
Ref: mpi4py MPI get_vendor-Footnote-44441009
Ref: mpi4py MPI get_vendor-Footnote-45441071
Ref: mpi4py MPI get_vendor-Footnote-46441133
Ref: mpi4py MPI get_vendor-Footnote-47441195
Ref: mpi4py MPI get_vendor-Footnote-48441257
Ref: mpi4py MPI get_vendor-Footnote-49441319
Ref: mpi4py MPI get_vendor-Footnote-50441381
Ref: mpi4py MPI get_vendor-Footnote-51441443
Ref: mpi4py MPI get_vendor-Footnote-52441505
Ref: mpi4py MPI get_vendor-Footnote-53441567
Ref: mpi4py MPI get_vendor-Footnote-54441629
Ref: mpi4py MPI get_vendor-Footnote-55441691
Ref: mpi4py MPI get_vendor-Footnote-56441753
Ref: mpi4py MPI get_vendor-Footnote-57441815
Ref: mpi4py MPI get_vendor-Footnote-58441877
Ref: mpi4py MPI get_vendor-Footnote-59441939
Ref: mpi4py MPI get_vendor-Footnote-60442001
Ref: mpi4py MPI get_vendor-Footnote-61442063
Ref: mpi4py MPI get_vendor-Footnote-62442125
Ref: mpi4py MPI get_vendor-Footnote-63442187
Ref: mpi4py MPI get_vendor-Footnote-64442249
Ref: mpi4py MPI get_vendor-Footnote-65442311
Ref: mpi4py MPI get_vendor-Footnote-66442373
Ref: mpi4py MPI get_vendor-Footnote-67442435
Ref: mpi4py MPI get_vendor-Footnote-68442497
Ref: mpi4py MPI get_vendor-Footnote-69442559
Ref: mpi4py MPI get_vendor-Footnote-70442621
Ref: mpi4py MPI get_vendor-Footnote-71442683
Ref: mpi4py MPI get_vendor-Footnote-72442745
Ref: mpi4py MPI get_vendor-Footnote-73442807
Ref: mpi4py MPI get_vendor-Footnote-74442869
Ref: mpi4py MPI get_vendor-Footnote-75442931
Ref: mpi4py MPI get_vendor-Footnote-76442993
Ref: mpi4py MPI get_vendor-Footnote-77443055
Ref: mpi4py MPI get_vendor-Footnote-78443117
Ref: mpi4py MPI get_vendor-Footnote-79443179
Ref: mpi4py MPI get_vendor-Footnote-80443241
Ref: mpi4py MPI get_vendor-Footnote-81443303
Ref: mpi4py MPI get_vendor-Footnote-82443365
Ref: mpi4py MPI get_vendor-Footnote-83443427
Ref: mpi4py MPI get_vendor-Footnote-84443489
Ref: mpi4py MPI get_vendor-Footnote-85443551
Ref: mpi4py MPI get_vendor-Footnote-86443613
Ref: mpi4py MPI get_vendor-Footnote-87443675
Ref: mpi4py MPI get_vendor-Footnote-88443737
Ref: mpi4py MPI get_vendor-Footnote-89443799
Ref: mpi4py MPI get_vendor-Footnote-90443861
Ref: mpi4py MPI get_vendor-Footnote-91443923
Ref: mpi4py MPI get_vendor-Footnote-92443985
Ref: mpi4py MPI get_vendor-Footnote-93444047
Ref: mpi4py MPI get_vendor-Footnote-94444109
Ref: mpi4py MPI get_vendor-Footnote-95444171
Ref: mpi4py MPI get_vendor-Footnote-96444233
Ref: mpi4py MPI get_vendor-Footnote-97444295
Ref: mpi4py MPI get_vendor-Footnote-98444357
Ref: mpi4py MPI get_vendor-Footnote-99444419
Ref: mpi4py MPI get_vendor-Footnote-100444481
Ref: mpi4py MPI get_vendor-Footnote-101444544
Ref: mpi4py MPI get_vendor-Footnote-102444607
Ref: mpi4py MPI get_vendor-Footnote-103444670
Ref: mpi4py MPI get_vendor-Footnote-104444733
Ref: mpi4py MPI get_vendor-Footnote-105444796
Ref: mpi4py MPI get_vendor-Footnote-106444859
Ref: mpi4py MPI get_vendor-Footnote-107444922
Ref: mpi4py MPI get_vendor-Footnote-108444985
Ref: mpi4py MPI get_vendor-Footnote-109445048
Ref: mpi4py MPI get_vendor-Footnote-110445111
Ref: mpi4py MPI get_vendor-Footnote-111445174
Ref: mpi4py MPI get_vendor-Footnote-112445237
Ref: mpi4py MPI get_vendor-Footnote-113445300
Ref: mpi4py MPI get_vendor-Footnote-114445363
Ref: mpi4py MPI get_vendor-Footnote-115445426
Ref: mpi4py MPI get_vendor-Footnote-116445489
Ref: mpi4py MPI get_vendor-Footnote-117445552
Ref: mpi4py MPI get_vendor-Footnote-118445615
Ref: mpi4py MPI get_vendor-Footnote-119445678
Ref: mpi4py MPI get_vendor-Footnote-120445741
Ref: mpi4py MPI get_vendor-Footnote-121445804
Ref: mpi4py MPI get_vendor-Footnote-122445867
Ref: mpi4py MPI get_vendor-Footnote-123445930
Ref: mpi4py MPI get_vendor-Footnote-124445993
Ref: mpi4py MPI get_vendor-Footnote-125446056
Ref: mpi4py MPI get_vendor-Footnote-126446119
Ref: mpi4py MPI get_vendor-Footnote-127446182
Ref: mpi4py MPI get_vendor-Footnote-128446245
Ref: mpi4py MPI get_vendor-Footnote-129446308
Ref: mpi4py MPI get_vendor-Footnote-130446371
Ref: mpi4py MPI get_vendor-Footnote-131446434
Ref: mpi4py MPI get_vendor-Footnote-132446497
Ref: mpi4py MPI get_vendor-Footnote-133446560
Ref: mpi4py MPI get_vendor-Footnote-134446623
Ref: mpi4py MPI get_vendor-Footnote-135446686
Ref: mpi4py MPI get_vendor-Footnote-136446749
Ref: mpi4py MPI get_vendor-Footnote-137446812
Ref: mpi4py MPI get_vendor-Footnote-138446875
Ref: mpi4py MPI get_vendor-Footnote-139446938
Ref: mpi4py MPI get_vendor-Footnote-140447001
Ref: mpi4py MPI get_vendor-Footnote-141447064
Ref: mpi4py MPI get_vendor-Footnote-142447127
Ref: mpi4py MPI get_vendor-Footnote-143447190
Ref: mpi4py MPI get_vendor-Footnote-144447253
Ref: mpi4py MPI get_vendor-Footnote-145447316
Ref: mpi4py MPI get_vendor-Footnote-146447379
Ref: mpi4py MPI get_vendor-Footnote-147447442
Ref: mpi4py MPI get_vendor-Footnote-148447505
Ref: mpi4py MPI get_vendor-Footnote-149447568
Ref: mpi4py MPI get_vendor-Footnote-150447631
Ref: mpi4py MPI get_vendor-Footnote-151447694
Ref: mpi4py MPI get_vendor-Footnote-152447757
Ref: mpi4py MPI get_vendor-Footnote-153447820
Ref: mpi4py MPI get_vendor-Footnote-154447883
Ref: mpi4py MPI get_vendor-Footnote-155447946
Ref: mpi4py MPI get_vendor-Footnote-156448009
Ref: mpi4py MPI get_vendor-Footnote-157448072
Ref: mpi4py MPI get_vendor-Footnote-158448135
Ref: mpi4py MPI get_vendor-Footnote-159448198
Ref: mpi4py MPI get_vendor-Footnote-160448261
Node: mpi4py MPI UNDEFINED448324
Ref: reference/mpi4py MPI UNDEFINED doc448454
Ref: 43d448454
Ref: reference/mpi4py MPI UNDEFINED mpi4py-mpi-undefined448454
Ref: 43e448454
Ref: reference/mpi4py MPI UNDEFINED mpi4py MPI UNDEFINED448511
Ref: e7448511
Ref: mpi4py MPI UNDEFINED-Footnote-1448628
Ref: mpi4py MPI UNDEFINED-Footnote-2448689
Node: mpi4py MPI ANY_SOURCE448750
Ref: reference/mpi4py MPI ANY_SOURCE doc448877
Ref: 43f448877
Ref: reference/mpi4py MPI ANY_SOURCE mpi4py-mpi-any-source448877
Ref: 440448877
Ref: reference/mpi4py MPI ANY_SOURCE mpi4py MPI ANY_SOURCE448936
Ref: e8448936
Ref: mpi4py MPI ANY_SOURCE-Footnote-1449056
Ref: mpi4py MPI ANY_SOURCE-Footnote-2449117
Node: mpi4py MPI ANY_TAG449178
Ref: reference/mpi4py MPI ANY_TAG doc449305
Ref: 441449305
Ref: reference/mpi4py MPI ANY_TAG mpi4py-mpi-any-tag449305
Ref: 442449305
Ref: reference/mpi4py MPI ANY_TAG mpi4py MPI ANY_TAG449358
Ref: e9449358
Ref: mpi4py MPI ANY_TAG-Footnote-1449469
Ref: mpi4py MPI ANY_TAG-Footnote-2449530
Node: mpi4py MPI PROC_NULL449591
Ref: reference/mpi4py MPI PROC_NULL doc449712
Ref: 443449712
Ref: reference/mpi4py MPI PROC_NULL mpi4py-mpi-proc-null449712
Ref: 444449712
Ref: reference/mpi4py MPI PROC_NULL mpi4py MPI PROC_NULL449769
Ref: ea449769
Ref: mpi4py MPI PROC_NULL-Footnote-1449886
Ref: mpi4py MPI PROC_NULL-Footnote-2449947
Node: mpi4py MPI ROOT450008
Ref: reference/mpi4py MPI ROOT doc450128
Ref: 445450128
Ref: reference/mpi4py MPI ROOT mpi4py-mpi-root450128
Ref: 446450128
Ref: reference/mpi4py MPI ROOT mpi4py MPI ROOT450175
Ref: eb450175
Ref: mpi4py MPI ROOT-Footnote-1450277
Ref: mpi4py MPI ROOT-Footnote-2450338
Node: mpi4py MPI BOTTOM450399
Ref: reference/mpi4py MPI BOTTOM doc450518
Ref: 447450518
Ref: reference/mpi4py MPI BOTTOM mpi4py-mpi-bottom450518
Ref: 448450518
Ref: reference/mpi4py MPI BOTTOM mpi4py MPI BOTTOM450569
Ref: ec450569
Node: mpi4py MPI IN_PLACE450647
Ref: reference/mpi4py MPI IN_PLACE doc450776
Ref: 449450776
Ref: reference/mpi4py MPI IN_PLACE mpi4py-mpi-in-place450776
Ref: 44a450776
Ref: reference/mpi4py MPI IN_PLACE mpi4py MPI IN_PLACE450831
Ref: ed450831
Node: mpi4py MPI KEYVAL_INVALID450917
Ref: reference/mpi4py MPI KEYVAL_INVALID doc451046
Ref: 44b451046
Ref: reference/mpi4py MPI KEYVAL_INVALID mpi4py-mpi-keyval-invalid451046
Ref: 44c451046
Ref: reference/mpi4py MPI KEYVAL_INVALID mpi4py MPI KEYVAL_INVALID451113
Ref: ee451113
Ref: mpi4py MPI KEYVAL_INVALID-Footnote-1451245
Ref: mpi4py MPI KEYVAL_INVALID-Footnote-2451306
Node: mpi4py MPI TAG_UB451367
Ref: reference/mpi4py MPI TAG_UB doc451492
Ref: 44d451492
Ref: reference/mpi4py MPI TAG_UB mpi4py-mpi-tag-ub451492
Ref: 44e451492
Ref: reference/mpi4py MPI TAG_UB mpi4py MPI TAG_UB451543
Ref: ef451543
Ref: mpi4py MPI TAG_UB-Footnote-1451651
Ref: mpi4py MPI TAG_UB-Footnote-2451712
Node: mpi4py MPI HOST451773
Ref: reference/mpi4py MPI HOST doc451886
Ref: 44f451886
Ref: reference/mpi4py MPI HOST mpi4py-mpi-host451886
Ref: 450451886
Ref: reference/mpi4py MPI HOST mpi4py MPI HOST451933
Ref: f0451933
Ref: mpi4py MPI HOST-Footnote-1452035
Ref: mpi4py MPI HOST-Footnote-2452096
Node: mpi4py MPI IO452157
Ref: reference/mpi4py MPI IO doc452279
Ref: 451452279
Ref: reference/mpi4py MPI IO mpi4py-mpi-io452279
Ref: 452452279
Ref: reference/mpi4py MPI IO mpi4py MPI IO452322
Ref: f1452322
Ref: mpi4py MPI IO-Footnote-1452418
Ref: mpi4py MPI IO-Footnote-2452479
Node: mpi4py MPI WTIME_IS_GLOBAL452540
Ref: reference/mpi4py MPI WTIME_IS_GLOBAL doc452671
Ref: 453452671
Ref: reference/mpi4py MPI WTIME_IS_GLOBAL mpi4py-mpi-wtime-is-global452671
Ref: 454452671
Ref: reference/mpi4py MPI WTIME_IS_GLOBAL mpi4py MPI WTIME_IS_GLOBAL452740
Ref: f2452740
Ref: mpi4py MPI WTIME_IS_GLOBAL-Footnote-1452875
Ref: mpi4py MPI WTIME_IS_GLOBAL-Footnote-2452936
Node: mpi4py MPI UNIVERSE_SIZE452997
Ref: reference/mpi4py MPI UNIVERSE_SIZE doc453132
Ref: 455453132
Ref: reference/mpi4py MPI UNIVERSE_SIZE mpi4py-mpi-universe-size453132
Ref: 456453132
Ref: reference/mpi4py MPI UNIVERSE_SIZE mpi4py MPI UNIVERSE_SIZE453197
Ref: f3453197
Ref: mpi4py MPI UNIVERSE_SIZE-Footnote-1453326
Ref: mpi4py MPI UNIVERSE_SIZE-Footnote-2453387
Node: mpi4py MPI APPNUM453448
Ref: reference/mpi4py MPI APPNUM doc453580
Ref: 457453580
Ref: reference/mpi4py MPI APPNUM mpi4py-mpi-appnum453580
Ref: 458453580
Ref: reference/mpi4py MPI APPNUM mpi4py MPI APPNUM453631
Ref: f4453631
Ref: mpi4py MPI APPNUM-Footnote-1453739
Ref: mpi4py MPI APPNUM-Footnote-2453800
Node: mpi4py MPI LASTUSEDCODE453861
Ref: reference/mpi4py MPI LASTUSEDCODE doc453988
Ref: 459453988
Ref: reference/mpi4py MPI LASTUSEDCODE mpi4py-mpi-lastusedcode453988
Ref: 45a453988
Ref: reference/mpi4py MPI LASTUSEDCODE mpi4py MPI LASTUSEDCODE454051
Ref: f5454051
Ref: mpi4py MPI LASTUSEDCODE-Footnote-1454177
Ref: mpi4py MPI LASTUSEDCODE-Footnote-2454238
Node: mpi4py MPI WIN_BASE454299
Ref: reference/mpi4py MPI WIN_BASE doc454428
Ref: 45b454428
Ref: reference/mpi4py MPI WIN_BASE mpi4py-mpi-win-base454428
Ref: 45c454428
Ref: reference/mpi4py MPI WIN_BASE mpi4py MPI WIN_BASE454483
Ref: f6454483
Ref: mpi4py MPI WIN_BASE-Footnote-1454597
Ref: mpi4py MPI WIN_BASE-Footnote-2454658
Node: mpi4py MPI WIN_SIZE454719
Ref: reference/mpi4py MPI WIN_SIZE doc454849
Ref: 45d454849
Ref: reference/mpi4py MPI WIN_SIZE mpi4py-mpi-win-size454849
Ref: 45e454849
Ref: reference/mpi4py MPI WIN_SIZE mpi4py MPI WIN_SIZE454904
Ref: f7454904
Ref: mpi4py MPI WIN_SIZE-Footnote-1455018
Ref: mpi4py MPI WIN_SIZE-Footnote-2455079
Node: mpi4py MPI WIN_DISP_UNIT455140
Ref: reference/mpi4py MPI WIN_DISP_UNIT doc455279
Ref: 45f455279
Ref: reference/mpi4py MPI WIN_DISP_UNIT mpi4py-mpi-win-disp-unit455279
Ref: 460455279
Ref: reference/mpi4py MPI WIN_DISP_UNIT mpi4py MPI WIN_DISP_UNIT455344
Ref: f8455344
Ref: mpi4py MPI WIN_DISP_UNIT-Footnote-1455473
Ref: mpi4py MPI WIN_DISP_UNIT-Footnote-2455534
Node: mpi4py MPI WIN_CREATE_FLAVOR455595
Ref: reference/mpi4py MPI WIN_CREATE_FLAVOR doc455736
Ref: 461455736
Ref: reference/mpi4py MPI WIN_CREATE_FLAVOR mpi4py-mpi-win-create-flavor455736
Ref: 462455736
Ref: reference/mpi4py MPI WIN_CREATE_FLAVOR mpi4py MPI WIN_CREATE_FLAVOR455809
Ref: f9455809
Ref: mpi4py MPI WIN_CREATE_FLAVOR-Footnote-1455950
Ref: mpi4py MPI WIN_CREATE_FLAVOR-Footnote-2456011
Node: mpi4py MPI WIN_FLAVOR456072
Ref: reference/mpi4py MPI WIN_FLAVOR doc456209
Ref: 463456209
Ref: reference/mpi4py MPI WIN_FLAVOR mpi4py-mpi-win-flavor456209
Ref: 464456209
Ref: reference/mpi4py MPI WIN_FLAVOR mpi4py MPI WIN_FLAVOR456268
Ref: fa456268
Ref: mpi4py MPI WIN_FLAVOR-Footnote-1456388
Ref: mpi4py MPI WIN_FLAVOR-Footnote-2456449
Node: mpi4py MPI WIN_MODEL456510
Ref: reference/mpi4py MPI WIN_MODEL doc456637
Ref: 465456637
Ref: reference/mpi4py MPI WIN_MODEL mpi4py-mpi-win-model456637
Ref: 466456637
Ref: reference/mpi4py MPI WIN_MODEL mpi4py MPI WIN_MODEL456694
Ref: fb456694
Ref: mpi4py MPI WIN_MODEL-Footnote-1456811
Ref: mpi4py MPI WIN_MODEL-Footnote-2456872
Node: mpi4py MPI SUCCESS456933
Ref: reference/mpi4py MPI SUCCESS doc457062
Ref: 467457062
Ref: reference/mpi4py MPI SUCCESS mpi4py-mpi-success457062
Ref: 468457062
Ref: reference/mpi4py MPI SUCCESS mpi4py MPI SUCCESS457115
Ref: fc457115
Ref: mpi4py MPI SUCCESS-Footnote-1457226
Ref: mpi4py MPI SUCCESS-Footnote-2457287
Node: mpi4py MPI ERR_LASTCODE457348
Ref: reference/mpi4py MPI ERR_LASTCODE doc457476
Ref: 469457476
Ref: reference/mpi4py MPI ERR_LASTCODE mpi4py-mpi-err-lastcode457476
Ref: 46a457476
Ref: reference/mpi4py MPI ERR_LASTCODE mpi4py MPI ERR_LASTCODE457539
Ref: fd457539
Ref: mpi4py MPI ERR_LASTCODE-Footnote-1457665
Ref: mpi4py MPI ERR_LASTCODE-Footnote-2457726
Node: mpi4py MPI ERR_COMM457787
Ref: reference/mpi4py MPI ERR_COMM doc457917
Ref: 46b457917
Ref: reference/mpi4py MPI ERR_COMM mpi4py-mpi-err-comm457917
Ref: 46c457917
Ref: reference/mpi4py MPI ERR_COMM mpi4py MPI ERR_COMM457972
Ref: fe457972
Ref: mpi4py MPI ERR_COMM-Footnote-1458086
Ref: mpi4py MPI ERR_COMM-Footnote-2458147
Node: mpi4py MPI ERR_GROUP458208
Ref: reference/mpi4py MPI ERR_GROUP doc458334
Ref: 46d458334
Ref: reference/mpi4py MPI ERR_GROUP mpi4py-mpi-err-group458334
Ref: 46e458334
Ref: reference/mpi4py MPI ERR_GROUP mpi4py MPI ERR_GROUP458391
Ref: ff458391
Ref: mpi4py MPI ERR_GROUP-Footnote-1458508
Ref: mpi4py MPI ERR_GROUP-Footnote-2458569
Node: mpi4py MPI ERR_TYPE458630
Ref: reference/mpi4py MPI ERR_TYPE doc458759
Ref: 46f458759
Ref: reference/mpi4py MPI ERR_TYPE mpi4py-mpi-err-type458759
Ref: 470458759
Ref: reference/mpi4py MPI ERR_TYPE mpi4py MPI ERR_TYPE458814
Ref: 100458814
Ref: mpi4py MPI ERR_TYPE-Footnote-1458928
Ref: mpi4py MPI ERR_TYPE-Footnote-2458989
Node: mpi4py MPI ERR_REQUEST459050
Ref: reference/mpi4py MPI ERR_REQUEST doc459176
Ref: 471459176
Ref: reference/mpi4py MPI ERR_REQUEST mpi4py-mpi-err-request459176
Ref: 472459176
Ref: reference/mpi4py MPI ERR_REQUEST mpi4py MPI ERR_REQUEST459237
Ref: 101459237
Ref: mpi4py MPI ERR_REQUEST-Footnote-1459360
Ref: mpi4py MPI ERR_REQUEST-Footnote-2459421
Node: mpi4py MPI ERR_OP459482
Ref: reference/mpi4py MPI ERR_OP doc459610
Ref: 473459610
Ref: reference/mpi4py MPI ERR_OP mpi4py-mpi-err-op459610
Ref: 474459610
Ref: reference/mpi4py MPI ERR_OP mpi4py MPI ERR_OP459661
Ref: 102459661
Ref: mpi4py MPI ERR_OP-Footnote-1459769
Ref: mpi4py MPI ERR_OP-Footnote-2459830
Node: mpi4py MPI ERR_BUFFER459891
Ref: reference/mpi4py MPI ERR_BUFFER doc460017
Ref: 475460017
Ref: reference/mpi4py MPI ERR_BUFFER mpi4py-mpi-err-buffer460017
Ref: 476460017
Ref: reference/mpi4py MPI ERR_BUFFER mpi4py MPI ERR_BUFFER460076
Ref: 103460076
Ref: mpi4py MPI ERR_BUFFER-Footnote-1460196
Ref: mpi4py MPI ERR_BUFFER-Footnote-2460257
Node: mpi4py MPI ERR_COUNT460318
Ref: reference/mpi4py MPI ERR_COUNT doc460445
Ref: 477460445
Ref: reference/mpi4py MPI ERR_COUNT mpi4py-mpi-err-count460445
Ref: 478460445
Ref: reference/mpi4py MPI ERR_COUNT mpi4py MPI ERR_COUNT460502
Ref: 104460502
Ref: mpi4py MPI ERR_COUNT-Footnote-1460619
Ref: mpi4py MPI ERR_COUNT-Footnote-2460680
Node: mpi4py MPI ERR_TAG460741
Ref: reference/mpi4py MPI ERR_TAG doc460866
Ref: 479460866
Ref: reference/mpi4py MPI ERR_TAG mpi4py-mpi-err-tag460866
Ref: 47a460866
Ref: reference/mpi4py MPI ERR_TAG mpi4py MPI ERR_TAG460919
Ref: 105460919
Ref: mpi4py MPI ERR_TAG-Footnote-1461030
Ref: mpi4py MPI ERR_TAG-Footnote-2461091
Node: mpi4py MPI ERR_RANK461152
Ref: reference/mpi4py MPI ERR_RANK doc461276
Ref: 47b461276
Ref: reference/mpi4py MPI ERR_RANK mpi4py-mpi-err-rank461276
Ref: 47c461276
Ref: reference/mpi4py MPI ERR_RANK mpi4py MPI ERR_RANK461331
Ref: 106461331
Ref: mpi4py MPI ERR_RANK-Footnote-1461445
Ref: mpi4py MPI ERR_RANK-Footnote-2461506
Node: mpi4py MPI ERR_ROOT461567
Ref: reference/mpi4py MPI ERR_ROOT doc461696
Ref: 47d461696
Ref: reference/mpi4py MPI ERR_ROOT mpi4py-mpi-err-root461696
Ref: 47e461696
Ref: reference/mpi4py MPI ERR_ROOT mpi4py MPI ERR_ROOT461751
Ref: 107461751
Ref: mpi4py MPI ERR_ROOT-Footnote-1461865
Ref: mpi4py MPI ERR_ROOT-Footnote-2461926
Node: mpi4py MPI ERR_TRUNCATE461987
Ref: reference/mpi4py MPI ERR_TRUNCATE doc462121
Ref: 47f462121
Ref: reference/mpi4py MPI ERR_TRUNCATE mpi4py-mpi-err-truncate462121
Ref: 480462121
Ref: reference/mpi4py MPI ERR_TRUNCATE mpi4py MPI ERR_TRUNCATE462184
Ref: 108462184
Ref: mpi4py MPI ERR_TRUNCATE-Footnote-1462310
Ref: mpi4py MPI ERR_TRUNCATE-Footnote-2462371
Node: mpi4py MPI ERR_IN_STATUS462432
Ref: reference/mpi4py MPI ERR_IN_STATUS doc462569
Ref: 481462569
Ref: reference/mpi4py MPI ERR_IN_STATUS mpi4py-mpi-err-in-status462569
Ref: 482462569
Ref: reference/mpi4py MPI ERR_IN_STATUS mpi4py MPI ERR_IN_STATUS462634
Ref: 109462634
Ref: mpi4py MPI ERR_IN_STATUS-Footnote-1462763
Ref: mpi4py MPI ERR_IN_STATUS-Footnote-2462824
Node: mpi4py MPI ERR_PENDING462885
Ref: reference/mpi4py MPI ERR_PENDING doc463022
Ref: 483463022
Ref: reference/mpi4py MPI ERR_PENDING mpi4py-mpi-err-pending463022
Ref: 484463022
Ref: reference/mpi4py MPI ERR_PENDING mpi4py MPI ERR_PENDING463083
Ref: 10a463083
Ref: mpi4py MPI ERR_PENDING-Footnote-1463206
Ref: mpi4py MPI ERR_PENDING-Footnote-2463267
Node: mpi4py MPI ERR_TOPOLOGY463328
Ref: reference/mpi4py MPI ERR_TOPOLOGY doc463460
Ref: 485463460
Ref: reference/mpi4py MPI ERR_TOPOLOGY mpi4py-mpi-err-topology463460
Ref: 486463460
Ref: reference/mpi4py MPI ERR_TOPOLOGY mpi4py MPI ERR_TOPOLOGY463523
Ref: 10b463523
Ref: mpi4py MPI ERR_TOPOLOGY-Footnote-1463649
Ref: mpi4py MPI ERR_TOPOLOGY-Footnote-2463710
Node: mpi4py MPI ERR_DIMS463771
Ref: reference/mpi4py MPI ERR_DIMS doc463899
Ref: 487463899
Ref: reference/mpi4py MPI ERR_DIMS mpi4py-mpi-err-dims463899
Ref: 488463899
Ref: reference/mpi4py MPI ERR_DIMS mpi4py MPI ERR_DIMS463954
Ref: 10c463954
Ref: mpi4py MPI ERR_DIMS-Footnote-1464068
Ref: mpi4py MPI ERR_DIMS-Footnote-2464129
Node: mpi4py MPI ERR_ARG464190
Ref: reference/mpi4py MPI ERR_ARG doc464315
Ref: 489464315
Ref: reference/mpi4py MPI ERR_ARG mpi4py-mpi-err-arg464315
Ref: 48a464315
Ref: reference/mpi4py MPI ERR_ARG mpi4py MPI ERR_ARG464368
Ref: 10d464368
Ref: mpi4py MPI ERR_ARG-Footnote-1464479
Ref: mpi4py MPI ERR_ARG-Footnote-2464540
Node: mpi4py MPI ERR_OTHER464601
Ref: reference/mpi4py MPI ERR_OTHER doc464729
Ref: 48b464729
Ref: reference/mpi4py MPI ERR_OTHER mpi4py-mpi-err-other464729
Ref: 48c464729
Ref: reference/mpi4py MPI ERR_OTHER mpi4py MPI ERR_OTHER464786
Ref: 10e464786
Ref: mpi4py MPI ERR_OTHER-Footnote-1464903
Ref: mpi4py MPI ERR_OTHER-Footnote-2464964
Node: mpi4py MPI ERR_UNKNOWN465025
Ref: reference/mpi4py MPI ERR_UNKNOWN doc465156
Ref: 48d465156
Ref: reference/mpi4py MPI ERR_UNKNOWN mpi4py-mpi-err-unknown465156
Ref: 48e465156
Ref: reference/mpi4py MPI ERR_UNKNOWN mpi4py MPI ERR_UNKNOWN465217
Ref: 10f465217
Ref: mpi4py MPI ERR_UNKNOWN-Footnote-1465340
Ref: mpi4py MPI ERR_UNKNOWN-Footnote-2465401
Node: mpi4py MPI ERR_INTERN465462
Ref: reference/mpi4py MPI ERR_INTERN doc465592
Ref: 48f465592
Ref: reference/mpi4py MPI ERR_INTERN mpi4py-mpi-err-intern465592
Ref: 490465592
Ref: reference/mpi4py MPI ERR_INTERN mpi4py MPI ERR_INTERN465651
Ref: 110465651
Ref: mpi4py MPI ERR_INTERN-Footnote-1465771
Ref: mpi4py MPI ERR_INTERN-Footnote-2465832
Node: mpi4py MPI ERR_INFO465893
Ref: reference/mpi4py MPI ERR_INFO doc466020
Ref: 491466020
Ref: reference/mpi4py MPI ERR_INFO mpi4py-mpi-err-info466020
Ref: 492466020
Ref: reference/mpi4py MPI ERR_INFO mpi4py MPI ERR_INFO466075
Ref: 111466075
Ref: mpi4py MPI ERR_INFO-Footnote-1466189
Ref: mpi4py MPI ERR_INFO-Footnote-2466250
Node: mpi4py MPI ERR_FILE466311
Ref: reference/mpi4py MPI ERR_FILE doc466435
Ref: 493466435
Ref: reference/mpi4py MPI ERR_FILE mpi4py-mpi-err-file466435
Ref: 494466435
Ref: reference/mpi4py MPI ERR_FILE mpi4py MPI ERR_FILE466490
Ref: 112466490
Ref: mpi4py MPI ERR_FILE-Footnote-1466604
Ref: mpi4py MPI ERR_FILE-Footnote-2466665
Node: mpi4py MPI ERR_WIN466726
Ref: reference/mpi4py MPI ERR_WIN doc466852
Ref: 495466852
Ref: reference/mpi4py MPI ERR_WIN mpi4py-mpi-err-win466852
Ref: 496466852
Ref: reference/mpi4py MPI ERR_WIN mpi4py MPI ERR_WIN466907
Ref: 113466907
Ref: mpi4py MPI ERR_WIN-Footnote-1467018
Ref: mpi4py MPI ERR_WIN-Footnote-2467079
Node: mpi4py MPI ERR_KEYVAL467140
Ref: reference/mpi4py MPI ERR_KEYVAL doc467270
Ref: 497467270
Ref: reference/mpi4py MPI ERR_KEYVAL mpi4py-mpi-err-keyval467270
Ref: 498467270
Ref: reference/mpi4py MPI ERR_KEYVAL mpi4py MPI ERR_KEYVAL467331
Ref: 114467331
Ref: mpi4py MPI ERR_KEYVAL-Footnote-1467451
Ref: mpi4py MPI ERR_KEYVAL-Footnote-2467512
Node: mpi4py MPI ERR_INFO_KEY467573
Ref: reference/mpi4py MPI ERR_INFO_KEY doc467710
Ref: 499467710
Ref: reference/mpi4py MPI ERR_INFO_KEY mpi4py-mpi-err-info-key467710
Ref: 49a467710
Ref: reference/mpi4py MPI ERR_INFO_KEY mpi4py MPI ERR_INFO_KEY467775
Ref: 115467775
Ref: mpi4py MPI ERR_INFO_KEY-Footnote-1467901
Ref: mpi4py MPI ERR_INFO_KEY-Footnote-2467962
Node: mpi4py MPI ERR_INFO_VALUE468023
Ref: reference/mpi4py MPI ERR_INFO_VALUE doc468164
Ref: 49b468164
Ref: reference/mpi4py MPI ERR_INFO_VALUE mpi4py-mpi-err-info-value468164
Ref: 49c468164
Ref: reference/mpi4py MPI ERR_INFO_VALUE mpi4py MPI ERR_INFO_VALUE468233
Ref: 116468233
Ref: mpi4py MPI ERR_INFO_VALUE-Footnote-1468365
Ref: mpi4py MPI ERR_INFO_VALUE-Footnote-2468426
Node: mpi4py MPI ERR_INFO_NOKEY468487
Ref: reference/mpi4py MPI ERR_INFO_NOKEY doc468626
Ref: 49d468626
Ref: reference/mpi4py MPI ERR_INFO_NOKEY mpi4py-mpi-err-info-nokey468626
Ref: 49e468626
Ref: reference/mpi4py MPI ERR_INFO_NOKEY mpi4py MPI ERR_INFO_NOKEY468695
Ref: 117468695
Ref: mpi4py MPI ERR_INFO_NOKEY-Footnote-1468827
Ref: mpi4py MPI ERR_INFO_NOKEY-Footnote-2468888
Node: mpi4py MPI ERR_ACCESS468949
Ref: reference/mpi4py MPI ERR_ACCESS doc469083
Ref: 49f469083
Ref: reference/mpi4py MPI ERR_ACCESS mpi4py-mpi-err-access469083
Ref: 4a0469083
Ref: reference/mpi4py MPI ERR_ACCESS mpi4py MPI ERR_ACCESS469144
Ref: 118469144
Ref: mpi4py MPI ERR_ACCESS-Footnote-1469264
Ref: mpi4py MPI ERR_ACCESS-Footnote-2469325
Node: mpi4py MPI ERR_AMODE469386
Ref: reference/mpi4py MPI ERR_AMODE doc469518
Ref: 4a1469518
Ref: reference/mpi4py MPI ERR_AMODE mpi4py-mpi-err-amode469518
Ref: 4a2469518
Ref: reference/mpi4py MPI ERR_AMODE mpi4py MPI ERR_AMODE469577
Ref: 119469577
Ref: mpi4py MPI ERR_AMODE-Footnote-1469694
Ref: mpi4py MPI ERR_AMODE-Footnote-2469755
Node: mpi4py MPI ERR_BAD_FILE469816
Ref: reference/mpi4py MPI ERR_BAD_FILE doc469953
Ref: 4a3469953
Ref: reference/mpi4py MPI ERR_BAD_FILE mpi4py-mpi-err-bad-file469953
Ref: 4a4469953
Ref: reference/mpi4py MPI ERR_BAD_FILE mpi4py MPI ERR_BAD_FILE470018
Ref: 11a470018
Ref: mpi4py MPI ERR_BAD_FILE-Footnote-1470144
Ref: mpi4py MPI ERR_BAD_FILE-Footnote-2470205
Node: mpi4py MPI ERR_FILE_EXISTS470266
Ref: reference/mpi4py MPI ERR_FILE_EXISTS doc470409
Ref: 4a5470409
Ref: reference/mpi4py MPI ERR_FILE_EXISTS mpi4py-mpi-err-file-exists470409
Ref: 4a6470409
Ref: reference/mpi4py MPI ERR_FILE_EXISTS mpi4py MPI ERR_FILE_EXISTS470480
Ref: 11b470480
Ref: mpi4py MPI ERR_FILE_EXISTS-Footnote-1470615
Ref: mpi4py MPI ERR_FILE_EXISTS-Footnote-2470676
Node: mpi4py MPI ERR_FILE_IN_USE470737
Ref: reference/mpi4py MPI ERR_FILE_IN_USE doc470880
Ref: 4a7470880
Ref: reference/mpi4py MPI ERR_FILE_IN_USE mpi4py-mpi-err-file-in-use470880
Ref: 4a8470880
Ref: reference/mpi4py MPI ERR_FILE_IN_USE mpi4py MPI ERR_FILE_IN_USE470951
Ref: 11c470951
Ref: mpi4py MPI ERR_FILE_IN_USE-Footnote-1471086
Ref: mpi4py MPI ERR_FILE_IN_USE-Footnote-2471147
Node: mpi4py MPI ERR_NO_SPACE471208
Ref: reference/mpi4py MPI ERR_NO_SPACE doc471352
Ref: 4a9471352
Ref: reference/mpi4py MPI ERR_NO_SPACE mpi4py-mpi-err-no-space471352
Ref: 4aa471352
Ref: reference/mpi4py MPI ERR_NO_SPACE mpi4py MPI ERR_NO_SPACE471417
Ref: 11d471417
Ref: mpi4py MPI ERR_NO_SPACE-Footnote-1471543
Ref: mpi4py MPI ERR_NO_SPACE-Footnote-2471604
Node: mpi4py MPI ERR_NO_SUCH_FILE471665
Ref: reference/mpi4py MPI ERR_NO_SUCH_FILE doc471800
Ref: 4ab471800
Ref: reference/mpi4py MPI ERR_NO_SUCH_FILE mpi4py-mpi-err-no-such-file471800
Ref: 4ac471800
Ref: reference/mpi4py MPI ERR_NO_SUCH_FILE mpi4py MPI ERR_NO_SUCH_FILE471873
Ref: 11e471873
Ref: mpi4py MPI ERR_NO_SUCH_FILE-Footnote-1472011
Ref: mpi4py MPI ERR_NO_SUCH_FILE-Footnote-2472072
Node: mpi4py MPI ERR_IO472133
Ref: reference/mpi4py MPI ERR_IO doc472269
Ref: 4ad472269
Ref: reference/mpi4py MPI ERR_IO mpi4py-mpi-err-io472269
Ref: 4ae472269
Ref: reference/mpi4py MPI ERR_IO mpi4py MPI ERR_IO472322
Ref: 11f472322
Ref: mpi4py MPI ERR_IO-Footnote-1472430
Ref: mpi4py MPI ERR_IO-Footnote-2472491
Node: mpi4py MPI ERR_READ_ONLY472552
Ref: reference/mpi4py MPI ERR_READ_ONLY doc472686
Ref: 4af472686
Ref: reference/mpi4py MPI ERR_READ_ONLY mpi4py-mpi-err-read-only472686
Ref: 4b0472686
Ref: reference/mpi4py MPI ERR_READ_ONLY mpi4py MPI ERR_READ_ONLY472753
Ref: 120472753
Ref: mpi4py MPI ERR_READ_ONLY-Footnote-1472882
Ref: mpi4py MPI ERR_READ_ONLY-Footnote-2472943
Node: mpi4py MPI ERR_CONVERSION473004
Ref: reference/mpi4py MPI ERR_CONVERSION doc473147
Ref: 4b1473147
Ref: reference/mpi4py MPI ERR_CONVERSION mpi4py-mpi-err-conversion473147
Ref: 4b2473147
Ref: reference/mpi4py MPI ERR_CONVERSION mpi4py MPI ERR_CONVERSION473216
Ref: 121473216
Ref: mpi4py MPI ERR_CONVERSION-Footnote-1473348
Ref: mpi4py MPI ERR_CONVERSION-Footnote-2473409
Node: mpi4py MPI ERR_DUP_DATAREP473470
Ref: reference/mpi4py MPI ERR_DUP_DATAREP doc473623
Ref: 4b3473623
Ref: reference/mpi4py MPI ERR_DUP_DATAREP mpi4py-mpi-err-dup-datarep473623
Ref: 4b4473623
Ref: reference/mpi4py MPI ERR_DUP_DATAREP mpi4py MPI ERR_DUP_DATAREP473694
Ref: 122473694
Ref: mpi4py MPI ERR_DUP_DATAREP-Footnote-1473829
Ref: mpi4py MPI ERR_DUP_DATAREP-Footnote-2473890
Node: mpi4py MPI ERR_UNSUPPORTED_DATAREP473951
Ref: reference/mpi4py MPI ERR_UNSUPPORTED_DATAREP doc474115
Ref: 4b5474115
Ref: reference/mpi4py MPI ERR_UNSUPPORTED_DATAREP mpi4py-mpi-err-unsupported-datarep474115
Ref: 4b6474115
Ref: reference/mpi4py MPI ERR_UNSUPPORTED_DATAREP mpi4py MPI ERR_UNSUPPORTED_DATAREP474202
Ref: 123474202
Ref: mpi4py MPI ERR_UNSUPPORTED_DATAREP-Footnote-1474371
Ref: mpi4py MPI ERR_UNSUPPORTED_DATAREP-Footnote-2474432
Node: mpi4py MPI ERR_UNSUPPORTED_OPERATION474493
Ref: reference/mpi4py MPI ERR_UNSUPPORTED_OPERATION doc474650
Ref: 4b7474650
Ref: reference/mpi4py MPI ERR_UNSUPPORTED_OPERATION mpi4py-mpi-err-unsupported-operation474650
Ref: 4b8474650
Ref: reference/mpi4py MPI ERR_UNSUPPORTED_OPERATION mpi4py MPI ERR_UNSUPPORTED_OPERATION474741
Ref: 124474741
Ref: mpi4py MPI ERR_UNSUPPORTED_OPERATION-Footnote-1474916
Ref: mpi4py MPI ERR_UNSUPPORTED_OPERATION-Footnote-2474977
Node: mpi4py MPI ERR_NAME475038
Ref: reference/mpi4py MPI ERR_NAME doc475182
Ref: 4b9475182
Ref: reference/mpi4py MPI ERR_NAME mpi4py-mpi-err-name475182
Ref: 4ba475182
Ref: reference/mpi4py MPI ERR_NAME mpi4py MPI ERR_NAME475239
Ref: 125475239
Ref: mpi4py MPI ERR_NAME-Footnote-1475353
Ref: mpi4py MPI ERR_NAME-Footnote-2475414
Node: mpi4py MPI ERR_NO_MEM475475
Ref: reference/mpi4py MPI ERR_NO_MEM doc475606
Ref: 4bb475606
Ref: reference/mpi4py MPI ERR_NO_MEM mpi4py-mpi-err-no-mem475606
Ref: 4bc475606
Ref: reference/mpi4py MPI ERR_NO_MEM mpi4py MPI ERR_NO_MEM475667
Ref: 126475667
Ref: mpi4py MPI ERR_NO_MEM-Footnote-1475787
Ref: mpi4py MPI ERR_NO_MEM-Footnote-2475848
Node: mpi4py MPI ERR_NOT_SAME475909
Ref: reference/mpi4py MPI ERR_NOT_SAME doc476040
Ref: 4bd476040
Ref: reference/mpi4py MPI ERR_NOT_SAME mpi4py-mpi-err-not-same476040
Ref: 4be476040
Ref: reference/mpi4py MPI ERR_NOT_SAME mpi4py MPI ERR_NOT_SAME476105
Ref: 127476105
Ref: mpi4py MPI ERR_NOT_SAME-Footnote-1476231
Ref: mpi4py MPI ERR_NOT_SAME-Footnote-2476292
Node: mpi4py MPI ERR_PORT476353
Ref: reference/mpi4py MPI ERR_PORT doc476483
Ref: 4bf476483
Ref: reference/mpi4py MPI ERR_PORT mpi4py-mpi-err-port476483
Ref: 4c0476483
Ref: reference/mpi4py MPI ERR_PORT mpi4py MPI ERR_PORT476540
Ref: 128476540
Ref: mpi4py MPI ERR_PORT-Footnote-1476654
Ref: mpi4py MPI ERR_PORT-Footnote-2476715
Node: mpi4py MPI ERR_QUOTA476776
Ref: reference/mpi4py MPI ERR_QUOTA doc476905
Ref: 4c1476905
Ref: reference/mpi4py MPI ERR_QUOTA mpi4py-mpi-err-quota476905
Ref: 4c2476905
Ref: reference/mpi4py MPI ERR_QUOTA mpi4py MPI ERR_QUOTA476964
Ref: 129476964
Ref: mpi4py MPI ERR_QUOTA-Footnote-1477081
Ref: mpi4py MPI ERR_QUOTA-Footnote-2477142
Node: mpi4py MPI ERR_SERVICE477203
Ref: reference/mpi4py MPI ERR_SERVICE doc477333
Ref: 4c3477333
Ref: reference/mpi4py MPI ERR_SERVICE mpi4py-mpi-err-service477333
Ref: 4c4477333
Ref: reference/mpi4py MPI ERR_SERVICE mpi4py MPI ERR_SERVICE477396
Ref: 12a477396
Ref: mpi4py MPI ERR_SERVICE-Footnote-1477519
Ref: mpi4py MPI ERR_SERVICE-Footnote-2477580
Node: mpi4py MPI ERR_SPAWN477641
Ref: reference/mpi4py MPI ERR_SPAWN doc477770
Ref: 4c5477770
Ref: reference/mpi4py MPI ERR_SPAWN mpi4py-mpi-err-spawn477770
Ref: 4c6477770
Ref: reference/mpi4py MPI ERR_SPAWN mpi4py MPI ERR_SPAWN477829
Ref: 12b477829
Ref: mpi4py MPI ERR_SPAWN-Footnote-1477946
Ref: mpi4py MPI ERR_SPAWN-Footnote-2478007
Node: mpi4py MPI ERR_BASE478068
Ref: reference/mpi4py MPI ERR_BASE doc478194
Ref: 4c7478194
Ref: reference/mpi4py MPI ERR_BASE mpi4py-mpi-err-base478194
Ref: 4c8478194
Ref: reference/mpi4py MPI ERR_BASE mpi4py MPI ERR_BASE478251
Ref: 12c478251
Ref: mpi4py MPI ERR_BASE-Footnote-1478365
Ref: mpi4py MPI ERR_BASE-Footnote-2478426
Node: mpi4py MPI ERR_SIZE478487
Ref: reference/mpi4py MPI ERR_SIZE doc478612
Ref: 4c9478612
Ref: reference/mpi4py MPI ERR_SIZE mpi4py-mpi-err-size478612
Ref: 4ca478612
Ref: reference/mpi4py MPI ERR_SIZE mpi4py MPI ERR_SIZE478669
Ref: 12d478669
Ref: mpi4py MPI ERR_SIZE-Footnote-1478783
Ref: mpi4py MPI ERR_SIZE-Footnote-2478844
Node: mpi4py MPI ERR_DISP478905
Ref: reference/mpi4py MPI ERR_DISP doc479032
Ref: 4cb479032
Ref: reference/mpi4py MPI ERR_DISP mpi4py-mpi-err-disp479032
Ref: 4cc479032
Ref: reference/mpi4py MPI ERR_DISP mpi4py MPI ERR_DISP479089
Ref: 12e479089
Ref: mpi4py MPI ERR_DISP-Footnote-1479203
Ref: mpi4py MPI ERR_DISP-Footnote-2479264
Node: mpi4py MPI ERR_ASSERT479325
Ref: reference/mpi4py MPI ERR_ASSERT doc479456
Ref: 4cd479456
Ref: reference/mpi4py MPI ERR_ASSERT mpi4py-mpi-err-assert479456
Ref: 4ce479456
Ref: reference/mpi4py MPI ERR_ASSERT mpi4py MPI ERR_ASSERT479517
Ref: 12f479517
Ref: mpi4py MPI ERR_ASSERT-Footnote-1479637
Ref: mpi4py MPI ERR_ASSERT-Footnote-2479698
Node: mpi4py MPI ERR_LOCKTYPE479759
Ref: reference/mpi4py MPI ERR_LOCKTYPE doc479898
Ref: 4cf479898
Ref: reference/mpi4py MPI ERR_LOCKTYPE mpi4py-mpi-err-locktype479898
Ref: 4d0479898
Ref: reference/mpi4py MPI ERR_LOCKTYPE mpi4py MPI ERR_LOCKTYPE479963
Ref: 130479963
Ref: mpi4py MPI ERR_LOCKTYPE-Footnote-1480089
Ref: mpi4py MPI ERR_LOCKTYPE-Footnote-2480150
Node: mpi4py MPI ERR_RMA_CONFLICT480211
Ref: reference/mpi4py MPI ERR_RMA_CONFLICT doc480352
Ref: 4d1480352
Ref: reference/mpi4py MPI ERR_RMA_CONFLICT mpi4py-mpi-err-rma-conflict480352
Ref: 4d2480352
Ref: reference/mpi4py MPI ERR_RMA_CONFLICT mpi4py MPI ERR_RMA_CONFLICT480425
Ref: 131480425
Ref: mpi4py MPI ERR_RMA_CONFLICT-Footnote-1480563
Ref: mpi4py MPI ERR_RMA_CONFLICT-Footnote-2480624
Node: mpi4py MPI ERR_RMA_SYNC480685
Ref: reference/mpi4py MPI ERR_RMA_SYNC doc480827
Ref: 4d3480827
Ref: reference/mpi4py MPI ERR_RMA_SYNC mpi4py-mpi-err-rma-sync480827
Ref: 4d4480827
Ref: reference/mpi4py MPI ERR_RMA_SYNC mpi4py MPI ERR_RMA_SYNC480892
Ref: 132480892
Ref: mpi4py MPI ERR_RMA_SYNC-Footnote-1481018
Ref: mpi4py MPI ERR_RMA_SYNC-Footnote-2481079
Node: mpi4py MPI ERR_RMA_RANGE481140
Ref: reference/mpi4py MPI ERR_RMA_RANGE doc481280
Ref: 4d5481280
Ref: reference/mpi4py MPI ERR_RMA_RANGE mpi4py-mpi-err-rma-range481280
Ref: 4d6481280
Ref: reference/mpi4py MPI ERR_RMA_RANGE mpi4py MPI ERR_RMA_RANGE481347
Ref: 133481347
Ref: mpi4py MPI ERR_RMA_RANGE-Footnote-1481476
Ref: mpi4py MPI ERR_RMA_RANGE-Footnote-2481537
Node: mpi4py MPI ERR_RMA_ATTACH481598
Ref: reference/mpi4py MPI ERR_RMA_ATTACH doc481740
Ref: 4d7481740
Ref: reference/mpi4py MPI ERR_RMA_ATTACH mpi4py-mpi-err-rma-attach481740
Ref: 4d8481740
Ref: reference/mpi4py MPI ERR_RMA_ATTACH mpi4py MPI ERR_RMA_ATTACH481809
Ref: 134481809
Ref: mpi4py MPI ERR_RMA_ATTACH-Footnote-1481941
Ref: mpi4py MPI ERR_RMA_ATTACH-Footnote-2482002
Node: mpi4py MPI ERR_RMA_SHARED482063
Ref: reference/mpi4py MPI ERR_RMA_SHARED doc482206
Ref: 4d9482206
Ref: reference/mpi4py MPI ERR_RMA_SHARED mpi4py-mpi-err-rma-shared482206
Ref: 4da482206
Ref: reference/mpi4py MPI ERR_RMA_SHARED mpi4py MPI ERR_RMA_SHARED482275
Ref: 135482275
Ref: mpi4py MPI ERR_RMA_SHARED-Footnote-1482407
Ref: mpi4py MPI ERR_RMA_SHARED-Footnote-2482468
Node: mpi4py MPI ERR_RMA_FLAVOR482529
Ref: reference/mpi4py MPI ERR_RMA_FLAVOR doc482665
Ref: 4db482665
Ref: reference/mpi4py MPI ERR_RMA_FLAVOR mpi4py-mpi-err-rma-flavor482665
Ref: 4dc482665
Ref: reference/mpi4py MPI ERR_RMA_FLAVOR mpi4py MPI ERR_RMA_FLAVOR482734
Ref: 136482734
Ref: mpi4py MPI ERR_RMA_FLAVOR-Footnote-1482866
Ref: mpi4py MPI ERR_RMA_FLAVOR-Footnote-2482927
Node: mpi4py MPI ORDER_C482988
Ref: reference/mpi4py MPI ORDER_C doc483123
Ref: 4dd483123
Ref: reference/mpi4py MPI ORDER_C mpi4py-mpi-order-c483123
Ref: 4de483123
Ref: reference/mpi4py MPI ORDER_C mpi4py MPI ORDER_C483178
Ref: 137483178
Ref: mpi4py MPI ORDER_C-Footnote-1483289
Ref: mpi4py MPI ORDER_C-Footnote-2483350
Node: mpi4py MPI ORDER_FORTRAN483411
Ref: reference/mpi4py MPI ORDER_FORTRAN doc483539
Ref: 4df483539
Ref: reference/mpi4py MPI ORDER_FORTRAN mpi4py-mpi-order-fortran483539
Ref: 4e0483539
Ref: reference/mpi4py MPI ORDER_FORTRAN mpi4py MPI ORDER_FORTRAN483606
Ref: 139483606
Ref: mpi4py MPI ORDER_FORTRAN-Footnote-1483735
Ref: mpi4py MPI ORDER_FORTRAN-Footnote-2483796
Node: mpi4py MPI ORDER_F483857
Ref: reference/mpi4py MPI ORDER_F doc483995
Ref: 4e1483995
Ref: reference/mpi4py MPI ORDER_F mpi4py-mpi-order-f483995
Ref: 4e2483995
Ref: reference/mpi4py MPI ORDER_F mpi4py MPI ORDER_F484050
Ref: 138484050
Ref: mpi4py MPI ORDER_F-Footnote-1484161
Ref: mpi4py MPI ORDER_F-Footnote-2484222
Node: mpi4py MPI TYPECLASS_INTEGER484283
Ref: reference/mpi4py MPI TYPECLASS_INTEGER doc484422
Ref: 4e3484422
Ref: reference/mpi4py MPI TYPECLASS_INTEGER mpi4py-mpi-typeclass-integer484422
Ref: 4e4484422
Ref: reference/mpi4py MPI TYPECLASS_INTEGER mpi4py MPI TYPECLASS_INTEGER484497
Ref: 13a484497
Ref: mpi4py MPI TYPECLASS_INTEGER-Footnote-1484638
Ref: mpi4py MPI TYPECLASS_INTEGER-Footnote-2484699
Node: mpi4py MPI TYPECLASS_REAL484760
Ref: reference/mpi4py MPI TYPECLASS_REAL doc484909
Ref: 4e5484909
Ref: reference/mpi4py MPI TYPECLASS_REAL mpi4py-mpi-typeclass-real484909
Ref: 4e6484909
Ref: reference/mpi4py MPI TYPECLASS_REAL mpi4py MPI TYPECLASS_REAL484978
Ref: 13b484978
Ref: mpi4py MPI TYPECLASS_REAL-Footnote-1485110
Ref: mpi4py MPI TYPECLASS_REAL-Footnote-2485171
Node: mpi4py MPI TYPECLASS_COMPLEX485232
Ref: reference/mpi4py MPI TYPECLASS_COMPLEX doc485379
Ref: 4e7485379
Ref: reference/mpi4py MPI TYPECLASS_COMPLEX mpi4py-mpi-typeclass-complex485379
Ref: 4e8485379
Ref: reference/mpi4py MPI TYPECLASS_COMPLEX mpi4py MPI TYPECLASS_COMPLEX485454
Ref: 13c485454
Ref: mpi4py MPI TYPECLASS_COMPLEX-Footnote-1485595
Ref: mpi4py MPI TYPECLASS_COMPLEX-Footnote-2485656
Node: mpi4py MPI DISTRIBUTE_NONE485717
Ref: reference/mpi4py MPI DISTRIBUTE_NONE doc485866
Ref: 4e9485866
Ref: reference/mpi4py MPI DISTRIBUTE_NONE mpi4py-mpi-distribute-none485866
Ref: 4ea485866
Ref: reference/mpi4py MPI DISTRIBUTE_NONE mpi4py MPI DISTRIBUTE_NONE485937
Ref: 13d485937
Ref: mpi4py MPI DISTRIBUTE_NONE-Footnote-1486072
Ref: mpi4py MPI DISTRIBUTE_NONE-Footnote-2486133
Node: mpi4py MPI DISTRIBUTE_BLOCK486194
Ref: reference/mpi4py MPI DISTRIBUTE_BLOCK doc486343
Ref: 4eb486343
Ref: reference/mpi4py MPI DISTRIBUTE_BLOCK mpi4py-mpi-distribute-block486343
Ref: 4ec486343
Ref: reference/mpi4py MPI DISTRIBUTE_BLOCK mpi4py MPI DISTRIBUTE_BLOCK486416
Ref: 13e486416
Ref: mpi4py MPI DISTRIBUTE_BLOCK-Footnote-1486554
Ref: mpi4py MPI DISTRIBUTE_BLOCK-Footnote-2486615
Node: mpi4py MPI DISTRIBUTE_CYCLIC486676
Ref: reference/mpi4py MPI DISTRIBUTE_CYCLIC doc486830
Ref: 4ed486830
Ref: reference/mpi4py MPI DISTRIBUTE_CYCLIC mpi4py-mpi-distribute-cyclic486830
Ref: 4ee486830
Ref: reference/mpi4py MPI DISTRIBUTE_CYCLIC mpi4py MPI DISTRIBUTE_CYCLIC486905
Ref: 13f486905
Ref: mpi4py MPI DISTRIBUTE_CYCLIC-Footnote-1487046
Ref: mpi4py MPI DISTRIBUTE_CYCLIC-Footnote-2487107
Node: mpi4py MPI DISTRIBUTE_DFLT_DARG487168
Ref: reference/mpi4py MPI DISTRIBUTE_DFLT_DARG doc487320
Ref: 4ef487320
Ref: reference/mpi4py MPI DISTRIBUTE_DFLT_DARG mpi4py-mpi-distribute-dflt-darg487320
Ref: 4f0487320
Ref: reference/mpi4py MPI DISTRIBUTE_DFLT_DARG mpi4py MPI DISTRIBUTE_DFLT_DARG487401
Ref: 140487401
Ref: mpi4py MPI DISTRIBUTE_DFLT_DARG-Footnote-1487551
Ref: mpi4py MPI DISTRIBUTE_DFLT_DARG-Footnote-2487612
Node: mpi4py MPI COMBINER_NAMED487673
Ref: reference/mpi4py MPI COMBINER_NAMED doc487820
Ref: 4f1487820
Ref: reference/mpi4py MPI COMBINER_NAMED mpi4py-mpi-combiner-named487820
Ref: 4f2487820
Ref: reference/mpi4py MPI COMBINER_NAMED mpi4py MPI COMBINER_NAMED487889
Ref: 141487889
Ref: mpi4py MPI COMBINER_NAMED-Footnote-1488021
Ref: mpi4py MPI COMBINER_NAMED-Footnote-2488082
Node: mpi4py MPI COMBINER_DUP488143
Ref: reference/mpi4py MPI COMBINER_DUP doc488289
Ref: 4f3488289
Ref: reference/mpi4py MPI COMBINER_DUP mpi4py-mpi-combiner-dup488289
Ref: 4f4488289
Ref: reference/mpi4py MPI COMBINER_DUP mpi4py MPI COMBINER_DUP488354
Ref: 142488354
Ref: mpi4py MPI COMBINER_DUP-Footnote-1488480
Ref: mpi4py MPI COMBINER_DUP-Footnote-2488541
Node: mpi4py MPI COMBINER_CONTIGUOUS488602
Ref: reference/mpi4py MPI COMBINER_CONTIGUOUS doc488749
Ref: 4f5488749
Ref: reference/mpi4py MPI COMBINER_CONTIGUOUS mpi4py-mpi-combiner-contiguous488749
Ref: 4f6488749
Ref: reference/mpi4py MPI COMBINER_CONTIGUOUS mpi4py MPI COMBINER_CONTIGUOUS488828
Ref: 143488828
Ref: mpi4py MPI COMBINER_CONTIGUOUS-Footnote-1488975
Ref: mpi4py MPI COMBINER_CONTIGUOUS-Footnote-2489036
Node: mpi4py MPI COMBINER_VECTOR489097
Ref: reference/mpi4py MPI COMBINER_VECTOR doc489248
Ref: 4f7489248
Ref: reference/mpi4py MPI COMBINER_VECTOR mpi4py-mpi-combiner-vector489248
Ref: 4f8489248
Ref: reference/mpi4py MPI COMBINER_VECTOR mpi4py MPI COMBINER_VECTOR489319
Ref: 144489319
Ref: mpi4py MPI COMBINER_VECTOR-Footnote-1489454
Ref: mpi4py MPI COMBINER_VECTOR-Footnote-2489515
Node: mpi4py MPI COMBINER_HVECTOR489576
Ref: reference/mpi4py MPI COMBINER_HVECTOR doc489724
Ref: 4f9489724
Ref: reference/mpi4py MPI COMBINER_HVECTOR mpi4py-mpi-combiner-hvector489724
Ref: 4fa489724
Ref: reference/mpi4py MPI COMBINER_HVECTOR mpi4py MPI COMBINER_HVECTOR489797
Ref: 145489797
Ref: mpi4py MPI COMBINER_HVECTOR-Footnote-1489935
Ref: mpi4py MPI COMBINER_HVECTOR-Footnote-2489996
Node: mpi4py MPI COMBINER_INDEXED490057
Ref: reference/mpi4py MPI COMBINER_INDEXED doc490207
Ref: 4fb490207
Ref: reference/mpi4py MPI COMBINER_INDEXED mpi4py-mpi-combiner-indexed490207
Ref: 4fc490207
Ref: reference/mpi4py MPI COMBINER_INDEXED mpi4py MPI COMBINER_INDEXED490280
Ref: 146490280
Ref: mpi4py MPI COMBINER_INDEXED-Footnote-1490418
Ref: mpi4py MPI COMBINER_INDEXED-Footnote-2490479
Node: mpi4py MPI COMBINER_HINDEXED490540
Ref: reference/mpi4py MPI COMBINER_HINDEXED doc490696
Ref: 4fd490696
Ref: reference/mpi4py MPI COMBINER_HINDEXED mpi4py-mpi-combiner-hindexed490696
Ref: 4fe490696
Ref: reference/mpi4py MPI COMBINER_HINDEXED mpi4py MPI COMBINER_HINDEXED490771
Ref: 147490771
Ref: mpi4py MPI COMBINER_HINDEXED-Footnote-1490912
Ref: mpi4py MPI COMBINER_HINDEXED-Footnote-2490973
Node: mpi4py MPI COMBINER_INDEXED_BLOCK491034
Ref: reference/mpi4py MPI COMBINER_INDEXED_BLOCK doc491197
Ref: 4ff491197
Ref: reference/mpi4py MPI COMBINER_INDEXED_BLOCK mpi4py-mpi-combiner-indexed-block491197
Ref: 500491197
Ref: reference/mpi4py MPI COMBINER_INDEXED_BLOCK mpi4py MPI COMBINER_INDEXED_BLOCK491282
Ref: 148491282
Ref: mpi4py MPI COMBINER_INDEXED_BLOCK-Footnote-1491448
Ref: mpi4py MPI COMBINER_INDEXED_BLOCK-Footnote-2491509
Node: mpi4py MPI COMBINER_HINDEXED_BLOCK491570
Ref: reference/mpi4py MPI COMBINER_HINDEXED_BLOCK doc491731
Ref: 501491731
Ref: reference/mpi4py MPI COMBINER_HINDEXED_BLOCK mpi4py-mpi-combiner-hindexed-block491731
Ref: 502491731
Ref: reference/mpi4py MPI COMBINER_HINDEXED_BLOCK mpi4py MPI COMBINER_HINDEXED_BLOCK491818
Ref: 149491818
Ref: mpi4py MPI COMBINER_HINDEXED_BLOCK-Footnote-1491987
Ref: mpi4py MPI COMBINER_HINDEXED_BLOCK-Footnote-2492048
Node: mpi4py MPI COMBINER_STRUCT492109
Ref: reference/mpi4py MPI COMBINER_STRUCT doc492265
Ref: 503492265
Ref: reference/mpi4py MPI COMBINER_STRUCT mpi4py-mpi-combiner-struct492265
Ref: 504492265
Ref: reference/mpi4py MPI COMBINER_STRUCT mpi4py MPI COMBINER_STRUCT492336
Ref: 14a492336
Ref: mpi4py MPI COMBINER_STRUCT-Footnote-1492471
Ref: mpi4py MPI COMBINER_STRUCT-Footnote-2492532
Node: mpi4py MPI COMBINER_SUBARRAY492593
Ref: reference/mpi4py MPI COMBINER_SUBARRAY doc492741
Ref: 505492741
Ref: reference/mpi4py MPI COMBINER_SUBARRAY mpi4py-mpi-combiner-subarray492741
Ref: 506492741
Ref: reference/mpi4py MPI COMBINER_SUBARRAY mpi4py MPI COMBINER_SUBARRAY492816
Ref: 14b492816
Ref: mpi4py MPI COMBINER_SUBARRAY-Footnote-1492957
Ref: mpi4py MPI COMBINER_SUBARRAY-Footnote-2493018
Node: mpi4py MPI COMBINER_DARRAY493079
Ref: reference/mpi4py MPI COMBINER_DARRAY doc493228
Ref: 507493228
Ref: reference/mpi4py MPI COMBINER_DARRAY mpi4py-mpi-combiner-darray493228
Ref: 508493228
Ref: reference/mpi4py MPI COMBINER_DARRAY mpi4py MPI COMBINER_DARRAY493299
Ref: 14c493299
Ref: mpi4py MPI COMBINER_DARRAY-Footnote-1493434
Ref: mpi4py MPI COMBINER_DARRAY-Footnote-2493495
Node: mpi4py MPI COMBINER_RESIZED493556
Ref: reference/mpi4py MPI COMBINER_RESIZED doc493705
Ref: 509493705
Ref: reference/mpi4py MPI COMBINER_RESIZED mpi4py-mpi-combiner-resized493705
Ref: 50a493705
Ref: reference/mpi4py MPI COMBINER_RESIZED mpi4py MPI COMBINER_RESIZED493778
Ref: 14d493778
Ref: mpi4py MPI COMBINER_RESIZED-Footnote-1493916
Ref: mpi4py MPI COMBINER_RESIZED-Footnote-2493977
Node: mpi4py MPI COMBINER_F90_REAL494038
Ref: reference/mpi4py MPI COMBINER_F90_REAL doc494192
Ref: 50b494192
Ref: reference/mpi4py MPI COMBINER_F90_REAL mpi4py-mpi-combiner-f90-real494192
Ref: 50c494192
Ref: reference/mpi4py MPI COMBINER_F90_REAL mpi4py MPI COMBINER_F90_REAL494267
Ref: 14e494267
Ref: mpi4py MPI COMBINER_F90_REAL-Footnote-1494408
Ref: mpi4py MPI COMBINER_F90_REAL-Footnote-2494469
Node: mpi4py MPI COMBINER_F90_COMPLEX494530
Ref: reference/mpi4py MPI COMBINER_F90_COMPLEX doc494688
Ref: 50d494688
Ref: reference/mpi4py MPI COMBINER_F90_COMPLEX mpi4py-mpi-combiner-f90-complex494688
Ref: 50e494688
Ref: reference/mpi4py MPI COMBINER_F90_COMPLEX mpi4py MPI COMBINER_F90_COMPLEX494769
Ref: 14f494769
Ref: mpi4py MPI COMBINER_F90_COMPLEX-Footnote-1494919
Ref: mpi4py MPI COMBINER_F90_COMPLEX-Footnote-2494980
Node: mpi4py MPI COMBINER_F90_INTEGER495041
Ref: reference/mpi4py MPI COMBINER_F90_INTEGER doc495187
Ref: 50f495187
Ref: reference/mpi4py MPI COMBINER_F90_INTEGER mpi4py-mpi-combiner-f90-integer495187
Ref: 510495187
Ref: reference/mpi4py MPI COMBINER_F90_INTEGER mpi4py MPI COMBINER_F90_INTEGER495268
Ref: 150495268
Ref: mpi4py MPI COMBINER_F90_INTEGER-Footnote-1495418
Ref: mpi4py MPI COMBINER_F90_INTEGER-Footnote-2495479
Node: mpi4py MPI IDENT495540
Ref: reference/mpi4py MPI IDENT doc495675
Ref: 511495675
Ref: reference/mpi4py MPI IDENT mpi4py-mpi-ident495675
Ref: 512495675
Ref: reference/mpi4py MPI IDENT mpi4py MPI IDENT495726
Ref: 151495726
Ref: mpi4py MPI IDENT-Footnote-1495831
Ref: mpi4py MPI IDENT-Footnote-2495892
Node: mpi4py MPI CONGRUENT495953
Ref: reference/mpi4py MPI CONGRUENT doc496075
Ref: 513496075
Ref: reference/mpi4py MPI CONGRUENT mpi4py-mpi-congruent496075
Ref: 514496075
Ref: reference/mpi4py MPI CONGRUENT mpi4py MPI CONGRUENT496134
Ref: 152496134
Ref: mpi4py MPI CONGRUENT-Footnote-1496251
Ref: mpi4py MPI CONGRUENT-Footnote-2496312
Node: mpi4py MPI SIMILAR496373
Ref: reference/mpi4py MPI SIMILAR doc496497
Ref: 515496497
Ref: reference/mpi4py MPI SIMILAR mpi4py-mpi-similar496497
Ref: 516496497
Ref: reference/mpi4py MPI SIMILAR mpi4py MPI SIMILAR496552
Ref: 153496552
Ref: mpi4py MPI SIMILAR-Footnote-1496663
Ref: mpi4py MPI SIMILAR-Footnote-2496724
Node: mpi4py MPI UNEQUAL496785
Ref: reference/mpi4py MPI UNEQUAL doc496904
Ref: 517496904
Ref: reference/mpi4py MPI UNEQUAL mpi4py-mpi-unequal496904
Ref: 518496904
Ref: reference/mpi4py MPI UNEQUAL mpi4py MPI UNEQUAL496959
Ref: 154496959
Ref: mpi4py MPI UNEQUAL-Footnote-1497070
Ref: mpi4py MPI UNEQUAL-Footnote-2497131
Node: mpi4py MPI CART497192
Ref: reference/mpi4py MPI CART doc497309
Ref: 519497309
Ref: reference/mpi4py MPI CART mpi4py-mpi-cart497309
Ref: 51a497309
Ref: reference/mpi4py MPI CART mpi4py MPI CART497358
Ref: 155497358
Ref: mpi4py MPI CART-Footnote-1497460
Ref: mpi4py MPI CART-Footnote-2497521
Node: mpi4py MPI GRAPH497582
Ref: reference/mpi4py MPI GRAPH doc497702
Ref: 51b497702
Ref: reference/mpi4py MPI GRAPH mpi4py-mpi-graph497702
Ref: 51c497702
Ref: reference/mpi4py MPI GRAPH mpi4py MPI GRAPH497753
Ref: 156497753
Ref: mpi4py MPI GRAPH-Footnote-1497858
Ref: mpi4py MPI GRAPH-Footnote-2497919
Node: mpi4py MPI DIST_GRAPH497980
Ref: reference/mpi4py MPI DIST_GRAPH doc498106
Ref: 51d498106
Ref: reference/mpi4py MPI DIST_GRAPH mpi4py-mpi-dist-graph498106
Ref: 51e498106
Ref: reference/mpi4py MPI DIST_GRAPH mpi4py MPI DIST_GRAPH498167
Ref: 157498167
Ref: mpi4py MPI DIST_GRAPH-Footnote-1498287
Ref: mpi4py MPI DIST_GRAPH-Footnote-2498348
Node: mpi4py MPI UNWEIGHTED498409
Ref: reference/mpi4py MPI UNWEIGHTED doc498543
Ref: 51f498543
Ref: reference/mpi4py MPI UNWEIGHTED mpi4py-mpi-unweighted498543
Ref: 520498543
Ref: reference/mpi4py MPI UNWEIGHTED mpi4py MPI UNWEIGHTED498604
Ref: 158498604
Ref: mpi4py MPI UNWEIGHTED-Footnote-1498724
Ref: mpi4py MPI UNWEIGHTED-Footnote-2498785
Node: mpi4py MPI WEIGHTS_EMPTY498846
Ref: reference/mpi4py MPI WEIGHTS_EMPTY doc498986
Ref: 521498986
Ref: reference/mpi4py MPI WEIGHTS_EMPTY mpi4py-mpi-weights-empty498986
Ref: 522498986
Ref: reference/mpi4py MPI WEIGHTS_EMPTY mpi4py MPI WEIGHTS_EMPTY499053
Ref: 159499053
Ref: mpi4py MPI WEIGHTS_EMPTY-Footnote-1499182
Ref: mpi4py MPI WEIGHTS_EMPTY-Footnote-2499243
Node: mpi4py MPI COMM_TYPE_SHARED499304
Ref: reference/mpi4py MPI COMM_TYPE_SHARED doc499448
Ref: 523499448
Ref: reference/mpi4py MPI COMM_TYPE_SHARED mpi4py-mpi-comm-type-shared499448
Ref: 524499448
Ref: reference/mpi4py MPI COMM_TYPE_SHARED mpi4py MPI COMM_TYPE_SHARED499521
Ref: 15a499521
Ref: mpi4py MPI COMM_TYPE_SHARED-Footnote-1499659
Ref: mpi4py MPI COMM_TYPE_SHARED-Footnote-2499720
Node: mpi4py MPI BSEND_OVERHEAD499781
Ref: reference/mpi4py MPI BSEND_OVERHEAD doc499929
Ref: 525499929
Ref: reference/mpi4py MPI BSEND_OVERHEAD mpi4py-mpi-bsend-overhead499929
Ref: 526499929
Ref: reference/mpi4py MPI BSEND_OVERHEAD mpi4py MPI BSEND_OVERHEAD499998
Ref: 15b499998
Ref: mpi4py MPI BSEND_OVERHEAD-Footnote-1500130
Ref: mpi4py MPI BSEND_OVERHEAD-Footnote-2500191
Node: mpi4py MPI WIN_FLAVOR_CREATE500252
Ref: reference/mpi4py MPI WIN_FLAVOR_CREATE doc500403
Ref: 527500403
Ref: reference/mpi4py MPI WIN_FLAVOR_CREATE mpi4py-mpi-win-flavor-create500403
Ref: 528500403
Ref: reference/mpi4py MPI WIN_FLAVOR_CREATE mpi4py MPI WIN_FLAVOR_CREATE500478
Ref: 15c500478
Ref: mpi4py MPI WIN_FLAVOR_CREATE-Footnote-1500619
Ref: mpi4py MPI WIN_FLAVOR_CREATE-Footnote-2500680
Node: mpi4py MPI WIN_FLAVOR_ALLOCATE500741
Ref: reference/mpi4py MPI WIN_FLAVOR_ALLOCATE doc500896
Ref: 529500896
Ref: reference/mpi4py MPI WIN_FLAVOR_ALLOCATE mpi4py-mpi-win-flavor-allocate500896
Ref: 52a500896
Ref: reference/mpi4py MPI WIN_FLAVOR_ALLOCATE mpi4py MPI WIN_FLAVOR_ALLOCATE500975
Ref: 15d500975
Ref: mpi4py MPI WIN_FLAVOR_ALLOCATE-Footnote-1501122
Ref: mpi4py MPI WIN_FLAVOR_ALLOCATE-Footnote-2501183
Node: mpi4py MPI WIN_FLAVOR_DYNAMIC501244
Ref: reference/mpi4py MPI WIN_FLAVOR_DYNAMIC doc501399
Ref: 52b501399
Ref: reference/mpi4py MPI WIN_FLAVOR_DYNAMIC mpi4py-mpi-win-flavor-dynamic501399
Ref: 52c501399
Ref: reference/mpi4py MPI WIN_FLAVOR_DYNAMIC mpi4py MPI WIN_FLAVOR_DYNAMIC501476
Ref: 15e501476
Ref: mpi4py MPI WIN_FLAVOR_DYNAMIC-Footnote-1501620
Ref: mpi4py MPI WIN_FLAVOR_DYNAMIC-Footnote-2501681
Node: mpi4py MPI WIN_FLAVOR_SHARED501742
Ref: reference/mpi4py MPI WIN_FLAVOR_SHARED doc501890
Ref: 52d501890
Ref: reference/mpi4py MPI WIN_FLAVOR_SHARED mpi4py-mpi-win-flavor-shared501890
Ref: 52e501890
Ref: reference/mpi4py MPI WIN_FLAVOR_SHARED mpi4py MPI WIN_FLAVOR_SHARED501965
Ref: 15f501965
Ref: mpi4py MPI WIN_FLAVOR_SHARED-Footnote-1502106
Ref: mpi4py MPI WIN_FLAVOR_SHARED-Footnote-2502167
Node: mpi4py MPI WIN_SEPARATE502228
Ref: reference/mpi4py MPI WIN_SEPARATE doc502369
Ref: 52f502369
Ref: reference/mpi4py MPI WIN_SEPARATE mpi4py-mpi-win-separate502369
Ref: 530502369
Ref: reference/mpi4py MPI WIN_SEPARATE mpi4py MPI WIN_SEPARATE502434
Ref: 160502434
Ref: mpi4py MPI WIN_SEPARATE-Footnote-1502560
Ref: mpi4py MPI WIN_SEPARATE-Footnote-2502621
Node: mpi4py MPI WIN_UNIFIED502682
Ref: reference/mpi4py MPI WIN_UNIFIED doc502818
Ref: 531502818
Ref: reference/mpi4py MPI WIN_UNIFIED mpi4py-mpi-win-unified502818
Ref: 532502818
Ref: reference/mpi4py MPI WIN_UNIFIED mpi4py MPI WIN_UNIFIED502881
Ref: 161502881
Ref: mpi4py MPI WIN_UNIFIED-Footnote-1503004
Ref: mpi4py MPI WIN_UNIFIED-Footnote-2503065
Node: mpi4py MPI MODE_NOCHECK503126
Ref: reference/mpi4py MPI MODE_NOCHECK doc503262
Ref: 533503262
Ref: reference/mpi4py MPI MODE_NOCHECK mpi4py-mpi-mode-nocheck503262
Ref: 534503262
Ref: reference/mpi4py MPI MODE_NOCHECK mpi4py MPI MODE_NOCHECK503327
Ref: 162503327
Ref: mpi4py MPI MODE_NOCHECK-Footnote-1503453
Ref: mpi4py MPI MODE_NOCHECK-Footnote-2503514
Node: mpi4py MPI MODE_NOSTORE503575
Ref: reference/mpi4py MPI MODE_NOSTORE doc503710
Ref: 535503710
Ref: reference/mpi4py MPI MODE_NOSTORE mpi4py-mpi-mode-nostore503710
Ref: 536503710
Ref: reference/mpi4py MPI MODE_NOSTORE mpi4py MPI MODE_NOSTORE503775
Ref: 163503775
Ref: mpi4py MPI MODE_NOSTORE-Footnote-1503901
Ref: mpi4py MPI MODE_NOSTORE-Footnote-2503962
Node: mpi4py MPI MODE_NOPUT504023
Ref: reference/mpi4py MPI MODE_NOPUT doc504160
Ref: 537504160
Ref: reference/mpi4py MPI MODE_NOPUT mpi4py-mpi-mode-noput504160
Ref: 538504160
Ref: reference/mpi4py MPI MODE_NOPUT mpi4py MPI MODE_NOPUT504221
Ref: 164504221
Ref: mpi4py MPI MODE_NOPUT-Footnote-1504341
Ref: mpi4py MPI MODE_NOPUT-Footnote-2504402
Node: mpi4py MPI MODE_NOPRECEDE504463
Ref: reference/mpi4py MPI MODE_NOPRECEDE doc504602
Ref: 539504602
Ref: reference/mpi4py MPI MODE_NOPRECEDE mpi4py-mpi-mode-noprecede504602
Ref: 53a504602
Ref: reference/mpi4py MPI MODE_NOPRECEDE mpi4py MPI MODE_NOPRECEDE504671
Ref: 165504671
Ref: mpi4py MPI MODE_NOPRECEDE-Footnote-1504803
Ref: mpi4py MPI MODE_NOPRECEDE-Footnote-2504864
Node: mpi4py MPI MODE_NOSUCCEED504925
Ref: reference/mpi4py MPI MODE_NOSUCCEED doc505068
Ref: 53b505068
Ref: reference/mpi4py MPI MODE_NOSUCCEED mpi4py-mpi-mode-nosucceed505068
Ref: 53c505068
Ref: reference/mpi4py MPI MODE_NOSUCCEED mpi4py MPI MODE_NOSUCCEED505137
Ref: 166505137
Ref: mpi4py MPI MODE_NOSUCCEED-Footnote-1505269
Ref: mpi4py MPI MODE_NOSUCCEED-Footnote-2505330
Node: mpi4py MPI LOCK_EXCLUSIVE505391
Ref: reference/mpi4py MPI LOCK_EXCLUSIVE doc505531
Ref: 53d505531
Ref: reference/mpi4py MPI LOCK_EXCLUSIVE mpi4py-mpi-lock-exclusive505531
Ref: 53e505531
Ref: reference/mpi4py MPI LOCK_EXCLUSIVE mpi4py MPI LOCK_EXCLUSIVE505600
Ref: 167505600
Ref: mpi4py MPI LOCK_EXCLUSIVE-Footnote-1505732
Ref: mpi4py MPI LOCK_EXCLUSIVE-Footnote-2505793
Node: mpi4py MPI LOCK_SHARED505854
Ref: reference/mpi4py MPI LOCK_SHARED doc505991
Ref: 53f505991
Ref: reference/mpi4py MPI LOCK_SHARED mpi4py-mpi-lock-shared505991
Ref: 540505991
Ref: reference/mpi4py MPI LOCK_SHARED mpi4py MPI LOCK_SHARED506054
Ref: 168506054
Ref: mpi4py MPI LOCK_SHARED-Footnote-1506177
Ref: mpi4py MPI LOCK_SHARED-Footnote-2506238
Node: mpi4py MPI MODE_RDONLY506299
Ref: reference/mpi4py MPI MODE_RDONLY doc506433
Ref: 541506433
Ref: reference/mpi4py MPI MODE_RDONLY mpi4py-mpi-mode-rdonly506433
Ref: 542506433
Ref: reference/mpi4py MPI MODE_RDONLY mpi4py MPI MODE_RDONLY506496
Ref: 169506496
Ref: mpi4py MPI MODE_RDONLY-Footnote-1506619
Ref: mpi4py MPI MODE_RDONLY-Footnote-2506680
Node: mpi4py MPI MODE_WRONLY506741
Ref: reference/mpi4py MPI MODE_WRONLY doc506873
Ref: 543506873
Ref: reference/mpi4py MPI MODE_WRONLY mpi4py-mpi-mode-wronly506873
Ref: 544506873
Ref: reference/mpi4py MPI MODE_WRONLY mpi4py MPI MODE_WRONLY506936
Ref: 16a506936
Ref: mpi4py MPI MODE_WRONLY-Footnote-1507059
Ref: mpi4py MPI MODE_WRONLY-Footnote-2507120
Node: mpi4py MPI MODE_RDWR507181
Ref: reference/mpi4py MPI MODE_RDWR doc507313
Ref: 545507313
Ref: reference/mpi4py MPI MODE_RDWR mpi4py-mpi-mode-rdwr507313
Ref: 546507313
Ref: reference/mpi4py MPI MODE_RDWR mpi4py MPI MODE_RDWR507372
Ref: 16b507372
Ref: mpi4py MPI MODE_RDWR-Footnote-1507489
Ref: mpi4py MPI MODE_RDWR-Footnote-2507550
Node: mpi4py MPI MODE_CREATE507611
Ref: reference/mpi4py MPI MODE_CREATE doc507741
Ref: 547507741
Ref: reference/mpi4py MPI MODE_CREATE mpi4py-mpi-mode-create507741
Ref: 548507741
Ref: reference/mpi4py MPI MODE_CREATE mpi4py MPI MODE_CREATE507804
Ref: 16c507804
Ref: mpi4py MPI MODE_CREATE-Footnote-1507927
Ref: mpi4py MPI MODE_CREATE-Footnote-2507988
Node: mpi4py MPI MODE_EXCL508049
Ref: reference/mpi4py MPI MODE_EXCL doc508190
Ref: 549508190
Ref: reference/mpi4py MPI MODE_EXCL mpi4py-mpi-mode-excl508190
Ref: 54a508190
Ref: reference/mpi4py MPI MODE_EXCL mpi4py MPI MODE_EXCL508249
Ref: 16d508249
Ref: mpi4py MPI MODE_EXCL-Footnote-1508366
Ref: mpi4py MPI MODE_EXCL-Footnote-2508427
Node: mpi4py MPI MODE_DELETE_ON_CLOSE508488
Ref: reference/mpi4py MPI MODE_DELETE_ON_CLOSE doc508634
Ref: 54b508634
Ref: reference/mpi4py MPI MODE_DELETE_ON_CLOSE mpi4py-mpi-mode-delete-on-close508634
Ref: 54c508634
Ref: reference/mpi4py MPI MODE_DELETE_ON_CLOSE mpi4py MPI MODE_DELETE_ON_CLOSE508715
Ref: 16e508715
Ref: mpi4py MPI MODE_DELETE_ON_CLOSE-Footnote-1508865
Ref: mpi4py MPI MODE_DELETE_ON_CLOSE-Footnote-2508926
Node: mpi4py MPI MODE_UNIQUE_OPEN508987
Ref: reference/mpi4py MPI MODE_UNIQUE_OPEN doc509139
Ref: 54d509139
Ref: reference/mpi4py MPI MODE_UNIQUE_OPEN mpi4py-mpi-mode-unique-open509139
Ref: 54e509139
Ref: reference/mpi4py MPI MODE_UNIQUE_OPEN mpi4py MPI MODE_UNIQUE_OPEN509212
Ref: 16f509212
Ref: mpi4py MPI MODE_UNIQUE_OPEN-Footnote-1509350
Ref: mpi4py MPI MODE_UNIQUE_OPEN-Footnote-2509411
Node: mpi4py MPI MODE_SEQUENTIAL509472
Ref: reference/mpi4py MPI MODE_SEQUENTIAL doc509615
Ref: 54f509615
Ref: reference/mpi4py MPI MODE_SEQUENTIAL mpi4py-mpi-mode-sequential509615
Ref: 550509615
Ref: reference/mpi4py MPI MODE_SEQUENTIAL mpi4py MPI MODE_SEQUENTIAL509686
Ref: 170509686
Ref: mpi4py MPI MODE_SEQUENTIAL-Footnote-1509821
Ref: mpi4py MPI MODE_SEQUENTIAL-Footnote-2509882
Node: mpi4py MPI MODE_APPEND509943
Ref: reference/mpi4py MPI MODE_APPEND doc510078
Ref: 551510078
Ref: reference/mpi4py MPI MODE_APPEND mpi4py-mpi-mode-append510078
Ref: 552510078
Ref: reference/mpi4py MPI MODE_APPEND mpi4py MPI MODE_APPEND510141
Ref: 171510141
Ref: mpi4py MPI MODE_APPEND-Footnote-1510264
Ref: mpi4py MPI MODE_APPEND-Footnote-2510325
Node: mpi4py MPI SEEK_SET510386
Ref: reference/mpi4py MPI SEEK_SET doc510514
Ref: 553510514
Ref: reference/mpi4py MPI SEEK_SET mpi4py-mpi-seek-set510514
Ref: 554510514
Ref: reference/mpi4py MPI SEEK_SET mpi4py MPI SEEK_SET510571
Ref: 172510571
Ref: mpi4py MPI SEEK_SET-Footnote-1510685
Ref: mpi4py MPI SEEK_SET-Footnote-2510746
Node: mpi4py MPI SEEK_CUR510807
Ref: reference/mpi4py MPI SEEK_CUR doc510932
Ref: 555510932
Ref: reference/mpi4py MPI SEEK_CUR mpi4py-mpi-seek-cur510932
Ref: 556510932
Ref: reference/mpi4py MPI SEEK_CUR mpi4py MPI SEEK_CUR510989
Ref: 173510989
Ref: mpi4py MPI SEEK_CUR-Footnote-1511103
Ref: mpi4py MPI SEEK_CUR-Footnote-2511164
Node: mpi4py MPI SEEK_END511225
Ref: reference/mpi4py MPI SEEK_END doc511362
Ref: 557511362
Ref: reference/mpi4py MPI SEEK_END mpi4py-mpi-seek-end511362
Ref: 558511362
Ref: reference/mpi4py MPI SEEK_END mpi4py MPI SEEK_END511419
Ref: 174511419
Ref: mpi4py MPI SEEK_END-Footnote-1511533
Ref: mpi4py MPI SEEK_END-Footnote-2511594
Node: mpi4py MPI DISPLACEMENT_CURRENT511655
Ref: reference/mpi4py MPI DISPLACEMENT_CURRENT doc511792
Ref: 559511792
Ref: reference/mpi4py MPI DISPLACEMENT_CURRENT mpi4py-mpi-displacement-current511792
Ref: 55a511792
Ref: reference/mpi4py MPI DISPLACEMENT_CURRENT mpi4py MPI DISPLACEMENT_CURRENT511873
Ref: 175511873
Ref: mpi4py MPI DISPLACEMENT_CURRENT-Footnote-1512023
Ref: mpi4py MPI DISPLACEMENT_CURRENT-Footnote-2512084
Node: mpi4py MPI DISP_CUR512145
Ref: reference/mpi4py MPI DISP_CUR doc512287
Ref: 55b512287
Ref: reference/mpi4py MPI DISP_CUR mpi4py-mpi-disp-cur512287
Ref: 55c512287
Ref: reference/mpi4py MPI DISP_CUR mpi4py MPI DISP_CUR512344
Ref: 176512344
Ref: mpi4py MPI DISP_CUR-Footnote-1512458
Ref: mpi4py MPI DISP_CUR-Footnote-2512519
Node: mpi4py MPI THREAD_SINGLE512580
Ref: reference/mpi4py MPI THREAD_SINGLE doc512717
Ref: 55d512717
Ref: reference/mpi4py MPI THREAD_SINGLE mpi4py-mpi-thread-single512717
Ref: 55e512717
Ref: reference/mpi4py MPI THREAD_SINGLE mpi4py MPI THREAD_SINGLE512784
Ref: 177512784
Ref: mpi4py MPI THREAD_SINGLE-Footnote-1512913
Ref: mpi4py MPI THREAD_SINGLE-Footnote-2512974
Node: mpi4py MPI THREAD_FUNNELED513035
Ref: reference/mpi4py MPI THREAD_FUNNELED doc513181
Ref: 55f513181
Ref: reference/mpi4py MPI THREAD_FUNNELED mpi4py-mpi-thread-funneled513181
Ref: 560513181
Ref: reference/mpi4py MPI THREAD_FUNNELED mpi4py MPI THREAD_FUNNELED513252
Ref: 178513252
Ref: mpi4py MPI THREAD_FUNNELED-Footnote-1513387
Ref: mpi4py MPI THREAD_FUNNELED-Footnote-2513448
Node: mpi4py MPI THREAD_SERIALIZED513509
Ref: reference/mpi4py MPI THREAD_SERIALIZED doc513657
Ref: 561513657
Ref: reference/mpi4py MPI THREAD_SERIALIZED mpi4py-mpi-thread-serialized513657
Ref: 562513657
Ref: reference/mpi4py MPI THREAD_SERIALIZED mpi4py MPI THREAD_SERIALIZED513732
Ref: 179513732
Ref: mpi4py MPI THREAD_SERIALIZED-Footnote-1513873
Ref: mpi4py MPI THREAD_SERIALIZED-Footnote-2513934
Node: mpi4py MPI THREAD_MULTIPLE513995
Ref: reference/mpi4py MPI THREAD_MULTIPLE doc514135
Ref: 563514135
Ref: reference/mpi4py MPI THREAD_MULTIPLE mpi4py-mpi-thread-multiple514135
Ref: 564514135
Ref: reference/mpi4py MPI THREAD_MULTIPLE mpi4py MPI THREAD_MULTIPLE514206
Ref: 17a514206
Ref: mpi4py MPI THREAD_MULTIPLE-Footnote-1514341
Ref: mpi4py MPI THREAD_MULTIPLE-Footnote-2514402
Node: mpi4py MPI VERSION514463
Ref: reference/mpi4py MPI VERSION doc514596
Ref: 565514596
Ref: reference/mpi4py MPI VERSION mpi4py-mpi-version514596
Ref: 566514596
Ref: reference/mpi4py MPI VERSION mpi4py MPI VERSION514651
Ref: 17b514651
Ref: mpi4py MPI VERSION-Footnote-1514762
Ref: mpi4py MPI VERSION-Footnote-2514823
Node: mpi4py MPI SUBVERSION514884
Ref: reference/mpi4py MPI SUBVERSION doc515020
Ref: 567515020
Ref: reference/mpi4py MPI SUBVERSION mpi4py-mpi-subversion515020
Ref: 568515020
Ref: reference/mpi4py MPI SUBVERSION mpi4py MPI SUBVERSION515081
Ref: 17c515081
Ref: mpi4py MPI SUBVERSION-Footnote-1515201
Ref: mpi4py MPI SUBVERSION-Footnote-2515262
Node: mpi4py MPI MAX_PROCESSOR_NAME515323
Ref: reference/mpi4py MPI MAX_PROCESSOR_NAME doc515468
Ref: 569515468
Ref: reference/mpi4py MPI MAX_PROCESSOR_NAME mpi4py-mpi-max-processor-name515468
Ref: 56a515468
Ref: reference/mpi4py MPI MAX_PROCESSOR_NAME mpi4py MPI MAX_PROCESSOR_NAME515545
Ref: 17d515545
Ref: mpi4py MPI MAX_PROCESSOR_NAME-Footnote-1515689
Ref: mpi4py MPI MAX_PROCESSOR_NAME-Footnote-2515750
Node: mpi4py MPI MAX_ERROR_STRING515811
Ref: reference/mpi4py MPI MAX_ERROR_STRING doc515959
Ref: 56b515959
Ref: reference/mpi4py MPI MAX_ERROR_STRING mpi4py-mpi-max-error-string515959
Ref: 56c515959
Ref: reference/mpi4py MPI MAX_ERROR_STRING mpi4py MPI MAX_ERROR_STRING516032
Ref: 17e516032
Ref: mpi4py MPI MAX_ERROR_STRING-Footnote-1516170
Ref: mpi4py MPI MAX_ERROR_STRING-Footnote-2516231
Node: mpi4py MPI MAX_PORT_NAME516292
Ref: reference/mpi4py MPI MAX_PORT_NAME doc516434
Ref: 56d516434
Ref: reference/mpi4py MPI MAX_PORT_NAME mpi4py-mpi-max-port-name516434
Ref: 56e516434
Ref: reference/mpi4py MPI MAX_PORT_NAME mpi4py MPI MAX_PORT_NAME516501
Ref: 17f516501
Ref: mpi4py MPI MAX_PORT_NAME-Footnote-1516630
Ref: mpi4py MPI MAX_PORT_NAME-Footnote-2516691
Node: mpi4py MPI MAX_INFO_KEY516752
Ref: reference/mpi4py MPI MAX_INFO_KEY doc516890
Ref: 56f516890
Ref: reference/mpi4py MPI MAX_INFO_KEY mpi4py-mpi-max-info-key516890
Ref: 570516890
Ref: reference/mpi4py MPI MAX_INFO_KEY mpi4py MPI MAX_INFO_KEY516955
Ref: 180516955
Ref: mpi4py MPI MAX_INFO_KEY-Footnote-1517081
Ref: mpi4py MPI MAX_INFO_KEY-Footnote-2517142
Node: mpi4py MPI MAX_INFO_VAL517203
Ref: reference/mpi4py MPI MAX_INFO_VAL doc517343
Ref: 571517343
Ref: reference/mpi4py MPI MAX_INFO_VAL mpi4py-mpi-max-info-val517343
Ref: 572517343
Ref: reference/mpi4py MPI MAX_INFO_VAL mpi4py MPI MAX_INFO_VAL517408
Ref: 181517408
Ref: mpi4py MPI MAX_INFO_VAL-Footnote-1517534
Ref: mpi4py MPI MAX_INFO_VAL-Footnote-2517595
Node: mpi4py MPI MAX_OBJECT_NAME517656
Ref: reference/mpi4py MPI MAX_OBJECT_NAME doc517802
Ref: 573517802
Ref: reference/mpi4py MPI MAX_OBJECT_NAME mpi4py-mpi-max-object-name517802
Ref: 574517802
Ref: reference/mpi4py MPI MAX_OBJECT_NAME mpi4py MPI MAX_OBJECT_NAME517873
Ref: 182517873
Ref: mpi4py MPI MAX_OBJECT_NAME-Footnote-1518008
Ref: mpi4py MPI MAX_OBJECT_NAME-Footnote-2518069
Node: mpi4py MPI MAX_DATAREP_STRING518130
Ref: reference/mpi4py MPI MAX_DATAREP_STRING doc518290
Ref: 575518290
Ref: reference/mpi4py MPI MAX_DATAREP_STRING mpi4py-mpi-max-datarep-string518290
Ref: 576518290
Ref: reference/mpi4py MPI MAX_DATAREP_STRING mpi4py MPI MAX_DATAREP_STRING518367
Ref: 183518367
Ref: mpi4py MPI MAX_DATAREP_STRING-Footnote-1518511
Ref: mpi4py MPI MAX_DATAREP_STRING-Footnote-2518572
Node: mpi4py MPI MAX_LIBRARY_VERSION_STRING518633
Ref: reference/mpi4py MPI MAX_LIBRARY_VERSION_STRING doc518791
Ref: 577518791
Ref: reference/mpi4py MPI MAX_LIBRARY_VERSION_STRING mpi4py-mpi-max-library-version-string518791
Ref: 578518791
Ref: reference/mpi4py MPI MAX_LIBRARY_VERSION_STRING mpi4py MPI MAX_LIBRARY_VERSION_STRING518884
Ref: 184518884
Ref: mpi4py MPI MAX_LIBRARY_VERSION_STRING-Footnote-1519062
Ref: mpi4py MPI MAX_LIBRARY_VERSION_STRING-Footnote-2519123
Node: mpi4py MPI DATATYPE_NULL519184
Ref: reference/mpi4py MPI DATATYPE_NULL doc519326
Ref: 579519326
Ref: reference/mpi4py MPI DATATYPE_NULL mpi4py-mpi-datatype-null519326
Ref: 57a519326
Ref: reference/mpi4py MPI DATATYPE_NULL mpi4py MPI DATATYPE_NULL519393
Ref: 185519393
Node: mpi4py MPI UB519512
Ref: reference/mpi4py MPI UB doc519630
Ref: 57b519630
Ref: reference/mpi4py MPI UB mpi4py-mpi-ub519630
Ref: 57c519630
Ref: reference/mpi4py MPI UB mpi4py MPI UB519675
Ref: 186519675
Node: mpi4py MPI LB519761
Ref: reference/mpi4py MPI LB doc519872
Ref: 57d519872
Ref: reference/mpi4py MPI LB mpi4py-mpi-lb519872
Ref: 57e519872
Ref: reference/mpi4py MPI LB mpi4py MPI LB519917
Ref: 187519917
Node: mpi4py MPI PACKED520003
Ref: reference/mpi4py MPI PACKED doc520116
Ref: 57f520116
Ref: reference/mpi4py MPI PACKED mpi4py-mpi-packed520116
Ref: 580520116
Ref: reference/mpi4py MPI PACKED mpi4py MPI PACKED520169
Ref: 188520169
Node: mpi4py MPI BYTE520267
Ref: reference/mpi4py MPI BYTE doc520382
Ref: 581520382
Ref: reference/mpi4py MPI BYTE mpi4py-mpi-byte520382
Ref: 582520382
Ref: reference/mpi4py MPI BYTE mpi4py MPI BYTE520431
Ref: 189520431
Node: mpi4py MPI AINT520523
Ref: reference/mpi4py MPI AINT doc520638
Ref: 583520638
Ref: reference/mpi4py MPI AINT mpi4py-mpi-aint520638
Ref: 584520638
Ref: reference/mpi4py MPI AINT mpi4py MPI AINT520687
Ref: 18a520687
Node: mpi4py MPI OFFSET520779
Ref: reference/mpi4py MPI OFFSET doc520895
Ref: 585520895
Ref: reference/mpi4py MPI OFFSET mpi4py-mpi-offset520895
Ref: 586520895
Ref: reference/mpi4py MPI OFFSET mpi4py MPI OFFSET520948
Ref: 18b520948
Node: mpi4py MPI COUNT521046
Ref: reference/mpi4py MPI COUNT doc521162
Ref: 587521162
Ref: reference/mpi4py MPI COUNT mpi4py-mpi-count521162
Ref: 588521162
Ref: reference/mpi4py MPI COUNT mpi4py MPI COUNT521213
Ref: 18c521213
Node: mpi4py MPI CHAR521308
Ref: reference/mpi4py MPI CHAR doc521423
Ref: 589521423
Ref: reference/mpi4py MPI CHAR mpi4py-mpi-char521423
Ref: 58a521423
Ref: reference/mpi4py MPI CHAR mpi4py MPI CHAR521472
Ref: 18d521472
Node: mpi4py MPI WCHAR521564
Ref: reference/mpi4py MPI WCHAR doc521685
Ref: 58b521685
Ref: reference/mpi4py MPI WCHAR mpi4py-mpi-wchar521685
Ref: 58c521685
Ref: reference/mpi4py MPI WCHAR mpi4py MPI WCHAR521736
Ref: 18e521736
Node: mpi4py MPI SIGNED_CHAR521831
Ref: reference/mpi4py MPI SIGNED_CHAR doc521953
Ref: 58d521953
Ref: reference/mpi4py MPI SIGNED_CHAR mpi4py-mpi-signed-char521953
Ref: 58e521953
Ref: reference/mpi4py MPI SIGNED_CHAR mpi4py MPI SIGNED_CHAR522016
Ref: 18f522016
Node: mpi4py MPI SHORT522129
Ref: reference/mpi4py MPI SHORT doc522249
Ref: 58f522249
Ref: reference/mpi4py MPI SHORT mpi4py-mpi-short522249
Ref: 590522249
Ref: reference/mpi4py MPI SHORT mpi4py MPI SHORT522300
Ref: 190522300
Node: mpi4py MPI INT522395
Ref: reference/mpi4py MPI INT doc522508
Ref: 591522508
Ref: reference/mpi4py MPI INT mpi4py-mpi-int522508
Ref: 592522508
Ref: reference/mpi4py MPI INT mpi4py MPI INT522555
Ref: 191522555
Node: mpi4py MPI LONG522644
Ref: reference/mpi4py MPI LONG doc522761
Ref: 593522761
Ref: reference/mpi4py MPI LONG mpi4py-mpi-long522761
Ref: 594522761
Ref: reference/mpi4py MPI LONG mpi4py MPI LONG522810
Ref: 192522810
Node: mpi4py MPI LONG_LONG522902
Ref: reference/mpi4py MPI LONG_LONG doc523029
Ref: 595523029
Ref: reference/mpi4py MPI LONG_LONG mpi4py-mpi-long-long523029
Ref: 596523029
Ref: reference/mpi4py MPI LONG_LONG mpi4py MPI LONG_LONG523088
Ref: 193523088
Node: mpi4py MPI UNSIGNED_CHAR523195
Ref: reference/mpi4py MPI UNSIGNED_CHAR doc523332
Ref: 597523332
Ref: reference/mpi4py MPI UNSIGNED_CHAR mpi4py-mpi-unsigned-char523332
Ref: 598523332
Ref: reference/mpi4py MPI UNSIGNED_CHAR mpi4py MPI UNSIGNED_CHAR523399
Ref: 194523399
Node: mpi4py MPI UNSIGNED_SHORT523518
Ref: reference/mpi4py MPI UNSIGNED_SHORT doc523654
Ref: 599523654
Ref: reference/mpi4py MPI UNSIGNED_SHORT mpi4py-mpi-unsigned-short523654
Ref: 59a523654
Ref: reference/mpi4py MPI UNSIGNED_SHORT mpi4py MPI UNSIGNED_SHORT523723
Ref: 195523723
Node: mpi4py MPI UNSIGNED523855
Ref: reference/mpi4py MPI UNSIGNED doc523991
Ref: 59b523991
Ref: reference/mpi4py MPI UNSIGNED mpi4py-mpi-unsigned523991
Ref: 59c523991
Ref: reference/mpi4py MPI UNSIGNED mpi4py MPI UNSIGNED524048
Ref: 196524048
Node: mpi4py MPI UNSIGNED_LONG524152
Ref: reference/mpi4py MPI UNSIGNED_LONG doc524292
Ref: 59d524292
Ref: reference/mpi4py MPI UNSIGNED_LONG mpi4py-mpi-unsigned-long524292
Ref: 59e524292
Ref: reference/mpi4py MPI UNSIGNED_LONG mpi4py MPI UNSIGNED_LONG524359
Ref: 197524359
Node: mpi4py MPI UNSIGNED_LONG_LONG524478
Ref: reference/mpi4py MPI UNSIGNED_LONG_LONG doc524615
Ref: 59f524615
Ref: reference/mpi4py MPI UNSIGNED_LONG_LONG mpi4py-mpi-unsigned-long-long524615
Ref: 5a0524615
Ref: reference/mpi4py MPI UNSIGNED_LONG_LONG mpi4py MPI UNSIGNED_LONG_LONG524692
Ref: 198524692
Node: mpi4py MPI FLOAT524836
Ref: reference/mpi4py MPI FLOAT doc524966
Ref: 5a1524966
Ref: reference/mpi4py MPI FLOAT mpi4py-mpi-float524966
Ref: 5a2524966
Ref: reference/mpi4py MPI FLOAT mpi4py MPI FLOAT525017
Ref: 199525017
Node: mpi4py MPI DOUBLE525112
Ref: reference/mpi4py MPI DOUBLE doc525235
Ref: 5a3525235
Ref: reference/mpi4py MPI DOUBLE mpi4py-mpi-double525235
Ref: 5a4525235
Ref: reference/mpi4py MPI DOUBLE mpi4py MPI DOUBLE525288
Ref: 19a525288
Node: mpi4py MPI LONG_DOUBLE525386
Ref: reference/mpi4py MPI LONG_DOUBLE doc525510
Ref: 5a5525510
Ref: reference/mpi4py MPI LONG_DOUBLE mpi4py-mpi-long-double525510
Ref: 5a6525510
Ref: reference/mpi4py MPI LONG_DOUBLE mpi4py MPI LONG_DOUBLE525573
Ref: 19b525573
Node: mpi4py MPI C_BOOL525686
Ref: reference/mpi4py MPI C_BOOL doc525810
Ref: 5a7525810
Ref: reference/mpi4py MPI C_BOOL mpi4py-mpi-c-bool525810
Ref: 5a8525810
Ref: reference/mpi4py MPI C_BOOL mpi4py MPI C_BOOL525863
Ref: 19c525863
Node: mpi4py MPI INT8_T525961
Ref: reference/mpi4py MPI INT8_T doc526081
Ref: 5a9526081
Ref: reference/mpi4py MPI INT8_T mpi4py-mpi-int8-t526081
Ref: 5aa526081
Ref: reference/mpi4py MPI INT8_T mpi4py MPI INT8_T526134
Ref: 19d526134
Node: mpi4py MPI INT16_T526232
Ref: reference/mpi4py MPI INT16_T doc526353
Ref: 5ab526353
Ref: reference/mpi4py MPI INT16_T mpi4py-mpi-int16-t526353
Ref: 5ac526353
Ref: reference/mpi4py MPI INT16_T mpi4py MPI INT16_T526408
Ref: 19e526408
Node: mpi4py MPI INT32_T526509
Ref: reference/mpi4py MPI INT32_T doc526631
Ref: 5ad526631
Ref: reference/mpi4py MPI INT32_T mpi4py-mpi-int32-t526631
Ref: 5ae526631
Ref: reference/mpi4py MPI INT32_T mpi4py MPI INT32_T526686
Ref: 19f526686
Node: mpi4py MPI INT64_T526787
Ref: reference/mpi4py MPI INT64_T doc526909
Ref: 5af526909
Ref: reference/mpi4py MPI INT64_T mpi4py-mpi-int64-t526909
Ref: 5b0526909
Ref: reference/mpi4py MPI INT64_T mpi4py MPI INT64_T526964
Ref: 1a0526964
Node: mpi4py MPI UINT8_T527065
Ref: reference/mpi4py MPI UINT8_T doc527188
Ref: 5b1527188
Ref: reference/mpi4py MPI UINT8_T mpi4py-mpi-uint8-t527188
Ref: 5b2527188
Ref: reference/mpi4py MPI UINT8_T mpi4py MPI UINT8_T527243
Ref: 1a1527243
Node: mpi4py MPI UINT16_T527344
Ref: reference/mpi4py MPI UINT16_T doc527468
Ref: 5b3527468
Ref: reference/mpi4py MPI UINT16_T mpi4py-mpi-uint16-t527468
Ref: 5b4527468
Ref: reference/mpi4py MPI UINT16_T mpi4py MPI UINT16_T527525
Ref: 1a2527525
Node: mpi4py MPI UINT32_T527629
Ref: reference/mpi4py MPI UINT32_T doc527754
Ref: 5b5527754
Ref: reference/mpi4py MPI UINT32_T mpi4py-mpi-uint32-t527754
Ref: 5b6527754
Ref: reference/mpi4py MPI UINT32_T mpi4py MPI UINT32_T527811
Ref: 1a3527811
Node: mpi4py MPI UINT64_T527915
Ref: reference/mpi4py MPI UINT64_T doc528041
Ref: 5b7528041
Ref: reference/mpi4py MPI UINT64_T mpi4py-mpi-uint64-t528041
Ref: 5b8528041
Ref: reference/mpi4py MPI UINT64_T mpi4py MPI UINT64_T528098
Ref: 1a4528098
Node: mpi4py MPI C_COMPLEX528202
Ref: reference/mpi4py MPI C_COMPLEX doc528335
Ref: 5b9528335
Ref: reference/mpi4py MPI C_COMPLEX mpi4py-mpi-c-complex528335
Ref: 5ba528335
Ref: reference/mpi4py MPI C_COMPLEX mpi4py MPI C_COMPLEX528394
Ref: 1a5528394
Node: mpi4py MPI C_FLOAT_COMPLEX528501
Ref: reference/mpi4py MPI C_FLOAT_COMPLEX doc528642
Ref: 5bb528642
Ref: reference/mpi4py MPI C_FLOAT_COMPLEX mpi4py-mpi-c-float-complex528642
Ref: 5bc528642
Ref: reference/mpi4py MPI C_FLOAT_COMPLEX mpi4py MPI C_FLOAT_COMPLEX528713
Ref: 1a6528713
Node: mpi4py MPI C_DOUBLE_COMPLEX528848
Ref: reference/mpi4py MPI C_DOUBLE_COMPLEX doc529001
Ref: 5bd529001
Ref: reference/mpi4py MPI C_DOUBLE_COMPLEX mpi4py-mpi-c-double-complex529001
Ref: 5be529001
Ref: reference/mpi4py MPI C_DOUBLE_COMPLEX mpi4py MPI C_DOUBLE_COMPLEX529074
Ref: 1a7529074
Node: mpi4py MPI C_LONG_DOUBLE_COMPLEX529212
Ref: reference/mpi4py MPI C_LONG_DOUBLE_COMPLEX doc529358
Ref: 5bf529358
Ref: reference/mpi4py MPI C_LONG_DOUBLE_COMPLEX mpi4py-mpi-c-long-double-complex529358
Ref: 5c0529358
Ref: reference/mpi4py MPI C_LONG_DOUBLE_COMPLEX mpi4py MPI C_LONG_DOUBLE_COMPLEX529441
Ref: 1a8529441
Node: mpi4py MPI CXX_BOOL529594
Ref: reference/mpi4py MPI CXX_BOOL doc529741
Ref: 5c1529741
Ref: reference/mpi4py MPI CXX_BOOL mpi4py-mpi-cxx-bool529741
Ref: 5c2529741
Ref: reference/mpi4py MPI CXX_BOOL mpi4py MPI CXX_BOOL529798
Ref: 1a9529798
Node: mpi4py MPI CXX_FLOAT_COMPLEX529902
Ref: reference/mpi4py MPI CXX_FLOAT_COMPLEX doc530046
Ref: 5c3530046
Ref: reference/mpi4py MPI CXX_FLOAT_COMPLEX mpi4py-mpi-cxx-float-complex530046
Ref: 5c4530046
Ref: reference/mpi4py MPI CXX_FLOAT_COMPLEX mpi4py MPI CXX_FLOAT_COMPLEX530121
Ref: 1aa530121
Node: mpi4py MPI CXX_DOUBLE_COMPLEX530262
Ref: reference/mpi4py MPI CXX_DOUBLE_COMPLEX doc530421
Ref: 5c5530421
Ref: reference/mpi4py MPI CXX_DOUBLE_COMPLEX mpi4py-mpi-cxx-double-complex530421
Ref: 5c6530421
Ref: reference/mpi4py MPI CXX_DOUBLE_COMPLEX mpi4py MPI CXX_DOUBLE_COMPLEX530498
Ref: 1ab530498
Node: mpi4py MPI CXX_LONG_DOUBLE_COMPLEX530642
Ref: reference/mpi4py MPI CXX_LONG_DOUBLE_COMPLEX doc530793
Ref: 5c7530793
Ref: reference/mpi4py MPI CXX_LONG_DOUBLE_COMPLEX mpi4py-mpi-cxx-long-double-complex530793
Ref: 5c8530793
Ref: reference/mpi4py MPI CXX_LONG_DOUBLE_COMPLEX mpi4py MPI CXX_LONG_DOUBLE_COMPLEX530880
Ref: 1ac530880
Node: mpi4py MPI SHORT_INT531039
Ref: reference/mpi4py MPI SHORT_INT doc531179
Ref: 5c9531179
Ref: reference/mpi4py MPI SHORT_INT mpi4py-mpi-short-int531179
Ref: 5ca531179
Ref: reference/mpi4py MPI SHORT_INT mpi4py MPI SHORT_INT531238
Ref: 1ad531238
Node: mpi4py MPI INT_INT531345
Ref: reference/mpi4py MPI INT_INT doc531468
Ref: 5cb531468
Ref: reference/mpi4py MPI INT_INT mpi4py-mpi-int-int531468
Ref: 5cc531468
Ref: reference/mpi4py MPI INT_INT mpi4py MPI INT_INT531523
Ref: 1ae531523
Node: mpi4py MPI TWOINT531624
Ref: reference/mpi4py MPI TWOINT doc531746
Ref: 5cd531746
Ref: reference/mpi4py MPI TWOINT mpi4py-mpi-twoint531746
Ref: 5ce531746
Ref: reference/mpi4py MPI TWOINT mpi4py MPI TWOINT531799
Ref: 1af531799
Node: mpi4py MPI LONG_INT531897
Ref: reference/mpi4py MPI LONG_INT doc532021
Ref: 5cf532021
Ref: reference/mpi4py MPI LONG_INT mpi4py-mpi-long-int532021
Ref: 5d0532021
Ref: reference/mpi4py MPI LONG_INT mpi4py MPI LONG_INT532078
Ref: 1b0532078
Node: mpi4py MPI FLOAT_INT532182
Ref: reference/mpi4py MPI FLOAT_INT doc532310
Ref: 5d1532310
Ref: reference/mpi4py MPI FLOAT_INT mpi4py-mpi-float-int532310
Ref: 5d2532310
Ref: reference/mpi4py MPI FLOAT_INT mpi4py MPI FLOAT_INT532369
Ref: 1b1532369
Node: mpi4py MPI DOUBLE_INT532476
Ref: reference/mpi4py MPI DOUBLE_INT doc532611
Ref: 5d3532611
Ref: reference/mpi4py MPI DOUBLE_INT mpi4py-mpi-double-int532611
Ref: 5d4532611
Ref: reference/mpi4py MPI DOUBLE_INT mpi4py MPI DOUBLE_INT532672
Ref: 1b2532672
Node: mpi4py MPI LONG_DOUBLE_INT532782
Ref: reference/mpi4py MPI LONG_DOUBLE_INT doc532917
Ref: 5d5532917
Ref: reference/mpi4py MPI LONG_DOUBLE_INT mpi4py-mpi-long-double-int532917
Ref: 5d6532917
Ref: reference/mpi4py MPI LONG_DOUBLE_INT mpi4py MPI LONG_DOUBLE_INT532988
Ref: 1b3532988
Node: mpi4py MPI CHARACTER533123
Ref: reference/mpi4py MPI CHARACTER doc533255
Ref: 5d7533255
Ref: reference/mpi4py MPI CHARACTER mpi4py-mpi-character533255
Ref: 5d8533255
Ref: reference/mpi4py MPI CHARACTER mpi4py MPI CHARACTER533314
Ref: 1b4533314
Node: mpi4py MPI LOGICAL533421
Ref: reference/mpi4py MPI LOGICAL doc533545
Ref: 5d9533545
Ref: reference/mpi4py MPI LOGICAL mpi4py-mpi-logical533545
Ref: 5da533545
Ref: reference/mpi4py MPI LOGICAL mpi4py MPI LOGICAL533600
Ref: 1b5533600
Node: mpi4py MPI INTEGER533701
Ref: reference/mpi4py MPI INTEGER doc533820
Ref: 5db533820
Ref: reference/mpi4py MPI INTEGER mpi4py-mpi-integer533820
Ref: 5dc533820
Ref: reference/mpi4py MPI INTEGER mpi4py MPI INTEGER533875
Ref: 1b6533875
Node: mpi4py MPI REAL533976
Ref: reference/mpi4py MPI REAL doc534104
Ref: 5dd534104
Ref: reference/mpi4py MPI REAL mpi4py-mpi-real534104
Ref: 5de534104
Ref: reference/mpi4py MPI REAL mpi4py MPI REAL534153
Ref: 1b7534153
Node: mpi4py MPI DOUBLE_PRECISION534245
Ref: reference/mpi4py MPI DOUBLE_PRECISION doc534373
Ref: 5df534373
Ref: reference/mpi4py MPI DOUBLE_PRECISION mpi4py-mpi-double-precision534373
Ref: 5e0534373
Ref: reference/mpi4py MPI DOUBLE_PRECISION mpi4py MPI DOUBLE_PRECISION534446
Ref: 1b8534446
Node: mpi4py MPI COMPLEX534584
Ref: reference/mpi4py MPI COMPLEX doc534722
Ref: 5e1534722
Ref: reference/mpi4py MPI COMPLEX mpi4py-mpi-complex534722
Ref: 5e2534722
Ref: reference/mpi4py MPI COMPLEX mpi4py MPI COMPLEX534777
Ref: 1b9534777
Node: mpi4py MPI DOUBLE_COMPLEX534878
Ref: reference/mpi4py MPI DOUBLE_COMPLEX doc535008
Ref: 5e3535008
Ref: reference/mpi4py MPI DOUBLE_COMPLEX mpi4py-mpi-double-complex535008
Ref: 5e4535008
Ref: reference/mpi4py MPI DOUBLE_COMPLEX mpi4py MPI DOUBLE_COMPLEX535077
Ref: 1ba535077
Node: mpi4py MPI LOGICAL1535209
Ref: reference/mpi4py MPI LOGICAL1 doc535340
Ref: 5e5535340
Ref: reference/mpi4py MPI LOGICAL1 mpi4py-mpi-logical1535340
Ref: 5e6535340
Ref: reference/mpi4py MPI LOGICAL1 mpi4py MPI LOGICAL1535397
Ref: 1bb535397
Node: mpi4py MPI LOGICAL2535501
Ref: reference/mpi4py MPI LOGICAL2 doc535626
Ref: 5e7535626
Ref: reference/mpi4py MPI LOGICAL2 mpi4py-mpi-logical2535626
Ref: 5e8535626
Ref: reference/mpi4py MPI LOGICAL2 mpi4py MPI LOGICAL2535683
Ref: 1bc535683
Node: mpi4py MPI LOGICAL4535787
Ref: reference/mpi4py MPI LOGICAL4 doc535912
Ref: 5e9535912
Ref: reference/mpi4py MPI LOGICAL4 mpi4py-mpi-logical4535912
Ref: 5ea535912
Ref: reference/mpi4py MPI LOGICAL4 mpi4py MPI LOGICAL4535969
Ref: 1bd535969
Node: mpi4py MPI LOGICAL8536073
Ref: reference/mpi4py MPI LOGICAL8 doc536198
Ref: 5eb536198
Ref: reference/mpi4py MPI LOGICAL8 mpi4py-mpi-logical8536198
Ref: 5ec536198
Ref: reference/mpi4py MPI LOGICAL8 mpi4py MPI LOGICAL8536255
Ref: 1be536255
Node: mpi4py MPI INTEGER1536359
Ref: reference/mpi4py MPI INTEGER1 doc536484
Ref: 5ed536484
Ref: reference/mpi4py MPI INTEGER1 mpi4py-mpi-integer1536484
Ref: 5ee536484
Ref: reference/mpi4py MPI INTEGER1 mpi4py MPI INTEGER1536541
Ref: 1bf536541
Node: mpi4py MPI INTEGER2536645
Ref: reference/mpi4py MPI INTEGER2 doc536770
Ref: 5ef536770
Ref: reference/mpi4py MPI INTEGER2 mpi4py-mpi-integer2536770
Ref: 5f0536770
Ref: reference/mpi4py MPI INTEGER2 mpi4py MPI INTEGER2536827
Ref: 1c0536827
Node: mpi4py MPI INTEGER4536931
Ref: reference/mpi4py MPI INTEGER4 doc537056
Ref: 5f1537056
Ref: reference/mpi4py MPI INTEGER4 mpi4py-mpi-integer4537056
Ref: 5f2537056
Ref: reference/mpi4py MPI INTEGER4 mpi4py MPI INTEGER4537113
Ref: 1c1537113
Node: mpi4py MPI INTEGER8537217
Ref: reference/mpi4py MPI INTEGER8 doc537343
Ref: 5f3537343
Ref: reference/mpi4py MPI INTEGER8 mpi4py-mpi-integer8537343
Ref: 5f4537343
Ref: reference/mpi4py MPI INTEGER8 mpi4py MPI INTEGER8537400
Ref: 1c2537400
Node: mpi4py MPI INTEGER16537504
Ref: reference/mpi4py MPI INTEGER16 doc537627
Ref: 5f5537627
Ref: reference/mpi4py MPI INTEGER16 mpi4py-mpi-integer16537627
Ref: 5f6537627
Ref: reference/mpi4py MPI INTEGER16 mpi4py MPI INTEGER16537686
Ref: 1c3537686
Node: mpi4py MPI REAL2537793
Ref: reference/mpi4py MPI REAL2 doc537913
Ref: 5f7537913
Ref: reference/mpi4py MPI REAL2 mpi4py-mpi-real2537913
Ref: 5f8537913
Ref: reference/mpi4py MPI REAL2 mpi4py MPI REAL2537964
Ref: 1c4537964
Node: mpi4py MPI REAL4538059
Ref: reference/mpi4py MPI REAL4 doc538175
Ref: 5f9538175
Ref: reference/mpi4py MPI REAL4 mpi4py-mpi-real4538175
Ref: 5fa538175
Ref: reference/mpi4py MPI REAL4 mpi4py MPI REAL4538226
Ref: 1c5538226
Node: mpi4py MPI REAL8538321
Ref: reference/mpi4py MPI REAL8 doc538438
Ref: 5fb538438
Ref: reference/mpi4py MPI REAL8 mpi4py-mpi-real8538438
Ref: 5fc538438
Ref: reference/mpi4py MPI REAL8 mpi4py MPI REAL8538489
Ref: 1c6538489
Node: mpi4py MPI REAL16538584
Ref: reference/mpi4py MPI REAL16 doc538704
Ref: 5fd538704
Ref: reference/mpi4py MPI REAL16 mpi4py-mpi-real16538704
Ref: 5fe538704
Ref: reference/mpi4py MPI REAL16 mpi4py MPI REAL16538757
Ref: 1c7538757
Node: mpi4py MPI COMPLEX4538855
Ref: reference/mpi4py MPI COMPLEX4 doc538978
Ref: 5ff538978
Ref: reference/mpi4py MPI COMPLEX4 mpi4py-mpi-complex4538978
Ref: 600538978
Ref: reference/mpi4py MPI COMPLEX4 mpi4py MPI COMPLEX4539035
Ref: 1c8539035
Node: mpi4py MPI COMPLEX8539139
Ref: reference/mpi4py MPI COMPLEX8 doc539265
Ref: 601539265
Ref: reference/mpi4py MPI COMPLEX8 mpi4py-mpi-complex8539265
Ref: 602539265
Ref: reference/mpi4py MPI COMPLEX8 mpi4py MPI COMPLEX8539322
Ref: 1c9539322
Node: mpi4py MPI COMPLEX16539426
Ref: reference/mpi4py MPI COMPLEX16 doc539553
Ref: 603539553
Ref: reference/mpi4py MPI COMPLEX16 mpi4py-mpi-complex16539553
Ref: 604539553
Ref: reference/mpi4py MPI COMPLEX16 mpi4py MPI COMPLEX16539612
Ref: 1ca539612
Node: mpi4py MPI COMPLEX32539719
Ref: reference/mpi4py MPI COMPLEX32 doc539850
Ref: 605539850
Ref: reference/mpi4py MPI COMPLEX32 mpi4py-mpi-complex32539850
Ref: 606539850
Ref: reference/mpi4py MPI COMPLEX32 mpi4py MPI COMPLEX32539909
Ref: 1cb539909
Node: mpi4py MPI UNSIGNED_INT540016
Ref: reference/mpi4py MPI UNSIGNED_INT doc540150
Ref: 607540150
Ref: reference/mpi4py MPI UNSIGNED_INT mpi4py-mpi-unsigned-int540150
Ref: 608540150
Ref: reference/mpi4py MPI UNSIGNED_INT mpi4py MPI UNSIGNED_INT540215
Ref: 1cc540215
Node: mpi4py MPI SIGNED_SHORT540331
Ref: reference/mpi4py MPI SIGNED_SHORT doc540466
Ref: 609540466
Ref: reference/mpi4py MPI SIGNED_SHORT mpi4py-mpi-signed-short540466
Ref: 60a540466
Ref: reference/mpi4py MPI SIGNED_SHORT mpi4py MPI SIGNED_SHORT540531
Ref: 1cd540531
Node: mpi4py MPI SIGNED_INT540647
Ref: reference/mpi4py MPI SIGNED_INT doc540781
Ref: 60b540781
Ref: reference/mpi4py MPI SIGNED_INT mpi4py-mpi-signed-int540781
Ref: 60c540781
Ref: reference/mpi4py MPI SIGNED_INT mpi4py MPI SIGNED_INT540842
Ref: 1ce540842
Node: mpi4py MPI SIGNED_LONG540952
Ref: reference/mpi4py MPI SIGNED_LONG doc541090
Ref: 60d541090
Ref: reference/mpi4py MPI SIGNED_LONG mpi4py-mpi-signed-long541090
Ref: 60e541090
Ref: reference/mpi4py MPI SIGNED_LONG mpi4py MPI SIGNED_LONG541153
Ref: 1cf541153
Node: mpi4py MPI SIGNED_LONG_LONG541266
Ref: reference/mpi4py MPI SIGNED_LONG_LONG doc541398
Ref: 60f541398
Ref: reference/mpi4py MPI SIGNED_LONG_LONG mpi4py-mpi-signed-long-long541398
Ref: 610541398
Ref: reference/mpi4py MPI SIGNED_LONG_LONG mpi4py MPI SIGNED_LONG_LONG541471
Ref: 1d0541471
Node: mpi4py MPI BOOL541609
Ref: reference/mpi4py MPI BOOL doc541737
Ref: 611541737
Ref: reference/mpi4py MPI BOOL mpi4py-mpi-bool541737
Ref: 612541737
Ref: reference/mpi4py MPI BOOL mpi4py MPI BOOL541786
Ref: 1d1541786
Node: mpi4py MPI SINT8_T541878
Ref: reference/mpi4py MPI SINT8_T doc541998
Ref: 613541998
Ref: reference/mpi4py MPI SINT8_T mpi4py-mpi-sint8-t541998
Ref: 614541998
Ref: reference/mpi4py MPI SINT8_T mpi4py MPI SINT8_T542053
Ref: 1d2542053
Node: mpi4py MPI SINT16_T542154
Ref: reference/mpi4py MPI SINT16_T doc542278
Ref: 615542278
Ref: reference/mpi4py MPI SINT16_T mpi4py-mpi-sint16-t542278
Ref: 616542278
Ref: reference/mpi4py MPI SINT16_T mpi4py MPI SINT16_T542335
Ref: 1d3542335
Node: mpi4py MPI SINT32_T542439
Ref: reference/mpi4py MPI SINT32_T doc542564
Ref: 617542564
Ref: reference/mpi4py MPI SINT32_T mpi4py-mpi-sint32-t542564
Ref: 618542564
Ref: reference/mpi4py MPI SINT32_T mpi4py MPI SINT32_T542621
Ref: 1d4542621
Node: mpi4py MPI SINT64_T542725
Ref: reference/mpi4py MPI SINT64_T doc542848
Ref: 619542848
Ref: reference/mpi4py MPI SINT64_T mpi4py-mpi-sint64-t542848
Ref: 61a542848
Ref: reference/mpi4py MPI SINT64_T mpi4py MPI SINT64_T542905
Ref: 1d5542905
Node: mpi4py MPI F_BOOL543009
Ref: reference/mpi4py MPI F_BOOL doc543129
Ref: 61b543129
Ref: reference/mpi4py MPI F_BOOL mpi4py-mpi-f-bool543129
Ref: 61c543129
Ref: reference/mpi4py MPI F_BOOL mpi4py MPI F_BOOL543182
Ref: 1d6543182
Node: mpi4py MPI F_INT543280
Ref: reference/mpi4py MPI F_INT doc543399
Ref: 61d543399
Ref: reference/mpi4py MPI F_INT mpi4py-mpi-f-int543399
Ref: 61e543399
Ref: reference/mpi4py MPI F_INT mpi4py MPI F_INT543450
Ref: 1d7543450
Node: mpi4py MPI F_FLOAT543545
Ref: reference/mpi4py MPI F_FLOAT doc543666
Ref: 61f543666
Ref: reference/mpi4py MPI F_FLOAT mpi4py-mpi-f-float543666
Ref: 620543666
Ref: reference/mpi4py MPI F_FLOAT mpi4py MPI F_FLOAT543721
Ref: 1d8543721
Node: mpi4py MPI F_DOUBLE543822
Ref: reference/mpi4py MPI F_DOUBLE doc543947
Ref: 621543947
Ref: reference/mpi4py MPI F_DOUBLE mpi4py-mpi-f-double543947
Ref: 622543947
Ref: reference/mpi4py MPI F_DOUBLE mpi4py MPI F_DOUBLE544004
Ref: 1d9544004
Node: mpi4py MPI F_COMPLEX544108
Ref: reference/mpi4py MPI F_COMPLEX doc544241
Ref: 623544241
Ref: reference/mpi4py MPI F_COMPLEX mpi4py-mpi-f-complex544241
Ref: 624544241
Ref: reference/mpi4py MPI F_COMPLEX mpi4py MPI F_COMPLEX544300
Ref: 1da544300
Node: mpi4py MPI F_FLOAT_COMPLEX544407
Ref: reference/mpi4py MPI F_FLOAT_COMPLEX doc544548
Ref: 625544548
Ref: reference/mpi4py MPI F_FLOAT_COMPLEX mpi4py-mpi-f-float-complex544548
Ref: 626544548
Ref: reference/mpi4py MPI F_FLOAT_COMPLEX mpi4py MPI F_FLOAT_COMPLEX544619
Ref: 1db544619
Node: mpi4py MPI F_DOUBLE_COMPLEX544754
Ref: reference/mpi4py MPI F_DOUBLE_COMPLEX doc544898
Ref: 627544898
Ref: reference/mpi4py MPI F_DOUBLE_COMPLEX mpi4py-mpi-f-double-complex544898
Ref: 628544898
Ref: reference/mpi4py MPI F_DOUBLE_COMPLEX mpi4py MPI F_DOUBLE_COMPLEX544971
Ref: 1dc544971
Node: mpi4py MPI REQUEST_NULL545109
Ref: reference/mpi4py MPI REQUEST_NULL doc545250
Ref: 629545250
Ref: reference/mpi4py MPI REQUEST_NULL mpi4py-mpi-request-null545250
Ref: 62a545250
Ref: reference/mpi4py MPI REQUEST_NULL mpi4py MPI REQUEST_NULL545315
Ref: 1dd545315
Node: mpi4py MPI MESSAGE_NULL545429
Ref: reference/mpi4py MPI MESSAGE_NULL doc545569
Ref: 62b545569
Ref: reference/mpi4py MPI MESSAGE_NULL mpi4py-mpi-message-null545569
Ref: 62c545569
Ref: reference/mpi4py MPI MESSAGE_NULL mpi4py MPI MESSAGE_NULL545634
Ref: 1de545634
Node: mpi4py MPI MESSAGE_NO_PROC545748
Ref: reference/mpi4py MPI MESSAGE_NO_PROC doc545883
Ref: 62d545883
Ref: reference/mpi4py MPI MESSAGE_NO_PROC mpi4py-mpi-message-no-proc545883
Ref: 62e545883
Ref: reference/mpi4py MPI MESSAGE_NO_PROC mpi4py MPI MESSAGE_NO_PROC545954
Ref: 1df545954
Node: mpi4py MPI OP_NULL546087
Ref: reference/mpi4py MPI OP_NULL doc546213
Ref: 62f546213
Ref: reference/mpi4py MPI OP_NULL mpi4py-mpi-op-null546213
Ref: 630546213
Ref: reference/mpi4py MPI OP_NULL mpi4py MPI OP_NULL546268
Ref: 1e0546268
Node: mpi4py MPI MAX546470
Ref: reference/mpi4py MPI MAX doc546584
Ref: 631546584
Ref: reference/mpi4py MPI MAX mpi4py-mpi-max546584
Ref: 632546584
Ref: reference/mpi4py MPI MAX mpi4py MPI MAX546631
Ref: 63546631
Node: mpi4py MPI MIN546821
Ref: reference/mpi4py MPI MIN doc546931
Ref: 633546931
Ref: reference/mpi4py MPI MIN mpi4py-mpi-min546931
Ref: 634546931
Ref: reference/mpi4py MPI MIN mpi4py MPI MIN546978
Ref: 1e1546978
Node: mpi4py MPI SUM547168
Ref: reference/mpi4py MPI SUM doc547279
Ref: 635547279
Ref: reference/mpi4py MPI SUM mpi4py-mpi-sum547279
Ref: 636547279
Ref: reference/mpi4py MPI SUM mpi4py MPI SUM547326
Ref: 61547326
Node: mpi4py MPI PROD547516
Ref: reference/mpi4py MPI PROD doc547628
Ref: 637547628
Ref: reference/mpi4py MPI PROD mpi4py-mpi-prod547628
Ref: 638547628
Ref: reference/mpi4py MPI PROD mpi4py MPI PROD547677
Ref: 62547677
Node: mpi4py MPI LAND547870
Ref: reference/mpi4py MPI LAND doc547983
Ref: 639547983
Ref: reference/mpi4py MPI LAND mpi4py-mpi-land547983
Ref: 63a547983
Ref: reference/mpi4py MPI LAND mpi4py MPI LAND548032
Ref: 1e2548032
Node: mpi4py MPI BAND548225
Ref: reference/mpi4py MPI BAND doc548337
Ref: 63b548337
Ref: reference/mpi4py MPI BAND mpi4py-mpi-band548337
Ref: 63c548337
Ref: reference/mpi4py MPI BAND mpi4py MPI BAND548386
Ref: 1e3548386
Node: mpi4py MPI LOR548579
Ref: reference/mpi4py MPI LOR doc548690
Ref: 63d548690
Ref: reference/mpi4py MPI LOR mpi4py-mpi-lor548690
Ref: 63e548690
Ref: reference/mpi4py MPI LOR mpi4py MPI LOR548737
Ref: 1e4548737
Node: mpi4py MPI BOR548927
Ref: reference/mpi4py MPI BOR doc549038
Ref: 63f549038
Ref: reference/mpi4py MPI BOR mpi4py-mpi-bor549038
Ref: 640549038
Ref: reference/mpi4py MPI BOR mpi4py MPI BOR549085
Ref: 1e5549085
Node: mpi4py MPI LXOR549275
Ref: reference/mpi4py MPI LXOR doc549387
Ref: 641549387
Ref: reference/mpi4py MPI LXOR mpi4py-mpi-lxor549387
Ref: 642549387
Ref: reference/mpi4py MPI LXOR mpi4py MPI LXOR549436
Ref: 1e6549436
Node: mpi4py MPI BXOR549629
Ref: reference/mpi4py MPI BXOR doc549744
Ref: 643549744
Ref: reference/mpi4py MPI BXOR mpi4py-mpi-bxor549744
Ref: 644549744
Ref: reference/mpi4py MPI BXOR mpi4py MPI BXOR549793
Ref: 1e7549793
Node: mpi4py MPI MAXLOC549986
Ref: reference/mpi4py MPI MAXLOC doc550103
Ref: 645550103
Ref: reference/mpi4py MPI MAXLOC mpi4py-mpi-maxloc550103
Ref: 646550103
Ref: reference/mpi4py MPI MAXLOC mpi4py MPI MAXLOC550156
Ref: 1e8550156
Node: mpi4py MPI MINLOC550355
Ref: reference/mpi4py MPI MINLOC doc550475
Ref: 647550475
Ref: reference/mpi4py MPI MINLOC mpi4py-mpi-minloc550475
Ref: 648550475
Ref: reference/mpi4py MPI MINLOC mpi4py MPI MINLOC550528
Ref: 1e9550528
Node: mpi4py MPI REPLACE550727
Ref: reference/mpi4py MPI REPLACE doc550846
Ref: 649550846
Ref: reference/mpi4py MPI REPLACE mpi4py-mpi-replace550846
Ref: 64a550846
Ref: reference/mpi4py MPI REPLACE mpi4py MPI REPLACE550901
Ref: 1ea550901
Node: mpi4py MPI NO_OP551103
Ref: reference/mpi4py MPI NO_OP doc551226
Ref: 64b551226
Ref: reference/mpi4py MPI NO_OP mpi4py-mpi-no-op551226
Ref: 64c551226
Ref: reference/mpi4py MPI NO_OP mpi4py MPI NO_OP551277
Ref: 1eb551277
Node: mpi4py MPI GROUP_NULL551473
Ref: reference/mpi4py MPI GROUP_NULL doc551600
Ref: 64d551600
Ref: reference/mpi4py MPI GROUP_NULL mpi4py-mpi-group-null551600
Ref: 64e551600
Ref: reference/mpi4py MPI GROUP_NULL mpi4py MPI GROUP_NULL551661
Ref: 1ec551661
Node: mpi4py MPI GROUP_EMPTY551765
Ref: reference/mpi4py MPI GROUP_EMPTY doc551896
Ref: 64f551896
Ref: reference/mpi4py MPI GROUP_EMPTY mpi4py-mpi-group-empty551896
Ref: 650551896
Ref: reference/mpi4py MPI GROUP_EMPTY mpi4py MPI GROUP_EMPTY551959
Ref: 1ed551959
Node: mpi4py MPI INFO_NULL552066
Ref: reference/mpi4py MPI INFO_NULL doc552195
Ref: 651552195
Ref: reference/mpi4py MPI INFO_NULL mpi4py-mpi-info-null552195
Ref: 652552195
Ref: reference/mpi4py MPI INFO_NULL mpi4py MPI INFO_NULL552254
Ref: 1ee552254
Node: mpi4py MPI INFO_ENV552353
Ref: reference/mpi4py MPI INFO_ENV doc552486
Ref: 653552486
Ref: reference/mpi4py MPI INFO_ENV mpi4py-mpi-info-env552486
Ref: 654552486
Ref: reference/mpi4py MPI INFO_ENV mpi4py MPI INFO_ENV552543
Ref: 1ef552543
Node: mpi4py MPI ERRHANDLER_NULL552639
Ref: reference/mpi4py MPI ERRHANDLER_NULL doc552776
Ref: 655552776
Ref: reference/mpi4py MPI ERRHANDLER_NULL mpi4py-mpi-errhandler-null552776
Ref: 656552776
Ref: reference/mpi4py MPI ERRHANDLER_NULL mpi4py MPI ERRHANDLER_NULL552847
Ref: 1f0552847
Node: mpi4py MPI ERRORS_RETURN552986
Ref: reference/mpi4py MPI ERRORS_RETURN doc553131
Ref: 657553131
Ref: reference/mpi4py MPI ERRORS_RETURN mpi4py-mpi-errors-return553131
Ref: 658553131
Ref: reference/mpi4py MPI ERRORS_RETURN mpi4py MPI ERRORS_RETURN553198
Ref: 95553198
Node: mpi4py MPI ERRORS_ARE_FATAL553331
Ref: reference/mpi4py MPI ERRORS_ARE_FATAL doc553470
Ref: 659553470
Ref: reference/mpi4py MPI ERRORS_ARE_FATAL mpi4py-mpi-errors-are-fatal553470
Ref: 65a553470
Ref: reference/mpi4py MPI ERRORS_ARE_FATAL mpi4py MPI ERRORS_ARE_FATAL553543
Ref: 96553543
Node: mpi4py MPI COMM_NULL553685
Ref: reference/mpi4py MPI COMM_NULL doc553820
Ref: 65b553820
Ref: reference/mpi4py MPI COMM_NULL mpi4py-mpi-comm-null553820
Ref: 65c553820
Ref: reference/mpi4py MPI COMM_NULL mpi4py MPI COMM_NULL553879
Ref: 1f1553879
Node: mpi4py MPI COMM_SELF553978
Ref: reference/mpi4py MPI COMM_SELF doc554107
Ref: 65d554107
Ref: reference/mpi4py MPI COMM_SELF mpi4py-mpi-comm-self554107
Ref: 65e554107
Ref: reference/mpi4py MPI COMM_SELF mpi4py MPI COMM_SELF554166
Ref: 1f554166
Node: mpi4py MPI COMM_WORLD554275
Ref: reference/mpi4py MPI COMM_WORLD doc554403
Ref: 65f554403
Ref: reference/mpi4py MPI COMM_WORLD mpi4py-mpi-comm-world554403
Ref: 660554403
Ref: reference/mpi4py MPI COMM_WORLD mpi4py MPI COMM_WORLD554464
Ref: 20554464
Node: mpi4py MPI WIN_NULL554576
Ref: reference/mpi4py MPI WIN_NULL doc554704
Ref: 661554704
Ref: reference/mpi4py MPI WIN_NULL mpi4py-mpi-win-null554704
Ref: 662554704
Ref: reference/mpi4py MPI WIN_NULL mpi4py MPI WIN_NULL554761
Ref: 1f2554761
Node: mpi4py MPI FILE_NULL554855
Ref: reference/mpi4py MPI FILE_NULL doc554979
Ref: 663554979
Ref: reference/mpi4py MPI FILE_NULL mpi4py-mpi-file-null554979
Ref: 664554979
Ref: reference/mpi4py MPI FILE_NULL mpi4py MPI FILE_NULL555038
Ref: 1f3555038
Node: mpi4py MPI pickle555137
Ref: reference/mpi4py MPI pickle doc555233
Ref: 665555233
Ref: reference/mpi4py MPI pickle mpi4py-mpi-pickle555233
Ref: 666555233
Ref: reference/mpi4py MPI pickle mpi4py MPI pickle555286
Ref: a3555286
Node: Citation555410
Ref: citing doc555497
Ref: 667555497
Ref: citing citation555497
Ref: 668555497
Node: Installation556536
Ref: install doc556622
Ref: 669556622
Ref: install installation556622
Ref: 66a556622
Node: Requirements556728
Ref: install requirements556807
Ref: 66b556807
Node: Using pip557695
Ref: install using-pip557798
Ref: 66e557798
Node: Using distutils558848
Ref: install using-distutils558946
Ref: 66f558946
Ref: install cmdoption-mpicc559694
Ref: 670559694
Ref: install cmdoption-mpi559817
Ref: 671559817
Ref: install cmdoption-configure559940
Ref: 672559940
Node: Testing562187
Ref: install testing562267
Ref: 673562267
Ref: Testing-Footnote-1563324
Ref: Testing-Footnote-2563361
Node: Appendix563394
Ref: appendix doc563491
Ref: 674563491
Ref: appendix appendix563491
Ref: 675563491
Ref: appendix py-test563491
Ref: 676563491
Node: MPI-enabled Python interpreter563591
Ref: appendix mpi-enabled-python-interpreter563700
Ref: 677563700
Ref: appendix python-mpi563700
Ref: 66d563700
Node: Building MPI from sources565984
Ref: appendix building-mpi566093
Ref: 66c566093
Ref: appendix building-mpi-from-sources566093
Ref: 678566093
Node: Python Module Index567980
Node: Index568512

End Tag Table


Local Variables:
coding: utf-8
End:
