mpi_array.globale.PerAxisRmaHaloUpdater¶
-
class
mpi_array.globale.
PerAxisRmaHaloUpdater
(locale_extents, dtype, order, inter_locale_win, dst_buffer)[source]¶ Bases:
mpi_array.globale.CommLogger
Helper class for performing halo data transfer using RMA via MPI windows (
mpi4py.MPI.Win
objects).Methods
__init__
(locale_extents, dtype, order, ...)Initialise. calc_halo_updates
()Calculates the per-axis halo-region updates for all inter-locale ranks (of the inter_locale_comm
).do_update_halos
(halo_updates)Performs the data exchange required to update the halo (ghost) elements of the array buffer dst_buffer
.buffer
.update_halos
()Performs the data exchange required to update the halo (ghost) elements of the array buffer dst_buffer
.buffer
.Attributes
HI
Halo “high index” indices. LO
Halo “low index” indices. dst_buffer
A memoryview
which provides the buffer into which the halo data is written.dtype
The numpy.dtype
of the data to be exchanged in the halo update.halo_updates
The (rank_2_updates_dict, bool_sequence)
pair calculated bycalc_halo_updates()
.locale_extents
Sequence of mpi_array.distribution.LocaleExtent
objects which define the partitioning of the array.order
Array order str
,'C'
for C memory layout.rank_logger
root_logger