mpi_array.comms.RmaWindowBuffer

class mpi_array.comms.RmaWindowBuffer(is_shared, shape, dtype, itemsize, intra_locale_win, peer_comm=None, inter_locale_comm=None, peer_win=None, inter_locale_win=None, root_logger=None, rank_logger=None)[source]

Bases: object

Details of the buffer allocated on a locale.

Methods

__init__(is_shared, shape, dtype, itemsize, ...)
create_inter_locale_win() Creates a mpi4py.MPI.Win window (over the inter_locale_comm communicator) exposing the buffer memory.
create_peer_win() Creates a mpi4py.MPI.Win window (over the peer_win communicator) exposing the buffer memory.
free() Free MPI windows and associated buffer memory.
initialise_windows() Creates both of the peer_win and inter_locale_win mpi4py.MPI.Win objects.

Attributes

buffer A numpy.ndarray with memory allocated using one of mpi4py.MPI.Win.Allocate() or mpi4py.MPI.Win.Allocate_shared() as the buffer.
dtype A numpy.dtype indicating the data type of elements stored in the array.
inter_locale_comm The inter-locale mpi4py.MPI.Win MPI communicator.
inter_locale_win The mpi4py.MPI.Win created from the inter_locale_comm communicator which exposes buffer for inter-locale RMA access.
inter_locale_win_initialised Returns True if inter-locale RMA window (inter_locale_win) has been created.
intra_locale_win The mpi4py.MPI.Win created from the intra_locale_comm communicator which exposes buffer for intra-locale RMA access.
intra_locale_win_memory The memory allocated using one of mpi4py.MPI.Win.Allocate() or mpi4py.MPI.Win.Allocate_shared().
is_shared A bool, if True then buffer memory was allocated using mpi4py.MPI.Win.Allocate_shared(), otherwise memory was allocated using mpi4py.MPI.Win.Allocate().
itemsize An int indicating the number of bytes per array element (same as numpy.dtype.itemsize).
peer_comm The peer mpi4py.MPI.Comm MPI communicator.
peer_win The mpi4py.MPI.Win created from the peer_comm communicator which exposes buffer for inter-locale RMA access.
peer_win_initialised Returns True if peer RMA window (peer_win) has been created.
rank_logger A logging.Logger for logging messages from all rank MPI processes of peer_comm.
root_logger A logging.Logger for logging messages from the root MPI process of peer_comm.
shape A sequence of int indicating the shape of the locale array.
windows_initialised Returns True if both peer RMA window (peer_win) and inter-locale RMA window (inter_locale_win) have been created.