mpi_array.globale.RmaRedistributeUpdater

class mpi_array.globale.RmaRedistributeUpdater(dst, src, casting='same_kind')[source]

Bases: mpi_array.update.UpdatesForRedistribute

Helper class for redistributing array to new distribution. Calculates sequence of mpi_array.distribution.ExtentUpdate objects which are used to copy elements from remote src locales to local dst locales.

Methods

__init__(dst, src[, casting])
barrier() MPI barrier.
calc_can_use_existing_src_peer_comm() Returns True if self._src.locale_comms.peer_comm can be used to redistribute to the distribution of the self._dst array.
calc_intersection_split(dst_extent, src_extent) Calculates intersection between dst_extent and {src_extent}.
check_updates() Runs consistency checks on the calculated updates, assumes that the dst_distrib and src_distrib distributed as a partitioning (no locale extent overlaps except for halo).
create_pair_extent_update(dst_extent, ...) Factory method which creates sequence of of mpi_array.distribution.MpiPairExtentUpdate objects.
do_locale_cpy2_update() Performs direct copy updates.
do_locale_rma_update() Performs RMA to get elements from remote locales to update the locale extent array.
do_locale_update()
do_update()
get_cpy2_src_extents(dst_inter_locale_rank)
initialise()
initialise_cpy2_updates()
initialise_rget_updates()
initialise_updates()
wait_all(req_list)