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 remotesrc
locales to localdst
locales.Methods
__init__
(dst, src[, casting])barrier
()MPI barrier. calc_can_use_existing_src_peer_comm
()Returns True
ifself._src.locale_comms.peer_comm
can be used to redistribute to the distribution of theself._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
andsrc_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)