mpi_array.globale.RmaRedistributeUpdater¶
-
class
mpi_array.globale.RmaRedistributeUpdater(dst, src, casting='same_kind')[source]¶ Bases:
mpi_array.update.UpdatesForRedistributeHelper class for redistributing array to new distribution. Calculates sequence of
mpi_array.distribution.ExtentUpdateobjects which are used to copy elements from remotesrclocales to localdstlocales.Methods
__init__(dst, src[, casting])barrier()MPI barrier. calc_can_use_existing_src_peer_comm()Returns Trueifself._src.locale_comms.peer_commcan be used to redistribute to the distribution of theself._dstarray.calc_intersection_split(dst_extent, src_extent)Calculates intersection between dst_extentand {src_extent}.check_updates()Runs consistency checks on the calculated updates, assumes that the dst_distribandsrc_distribdistributed 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.MpiPairExtentUpdateobjects.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)