mpi_array.update.MpiPairExtentUpdateDifferentDtypes

class mpi_array.update.MpiPairExtentUpdateDifferentDtypes(dst_extent, src_extent, dst_update_extent, src_update_extent)[source]

Bases: mpi_array.update.MpiPairExtentUpdate

Over-rides MpiPairExtentUpdate.do_get() to buffer-copy and subsequent casting when source and destination arrays have different numpy.dtype.

Methods

__init__(dst_extent, src_extent, ...)
conclude()
copyto(dst_array, src_array, casting) Copies the src_update_extent region from src_array
do_get(mpi_win, target_src_rank, ...) Performs calls mpi4py.MPI.Win.Get() method of mpi_win to perform the RMA data-transfer.
do_rget(mpi_win, target_src_rank, ...)
initialise_data_types(dst_dtype, src_dtype, ...) Assigns new instances of mpi4py.MPI.Datatype for the dst_data_type and src_data_type attributes.

Attributes

casting A str indicating the casting allowed between different numpy.dtype elements.
dst_data_type A mpi4py.MPI.Datatype object created using mpi4py.MPI.Datatype.Create_subarray() which defines the sub-array of halo elements which are to receive update values.
dst_dtype A numpy.dtype object indicating the element type of the destination array.
dst_extent The locale LocaleExtent which is to receive sub-array update.
dst_update_extent The locale sub-extent (IndexingExtent) to be updated.
src_data_type A mpi4py.MPI.Datatype object created using mpi4py.MPI.Datatype.Create_subarray() which defines the sub-array of halo elements from which receive update values.
src_dtype A numpy.dtype object indicating the element type of the source array.
src_extent The locale CartLocaleExtent from which the sub-array update is read.
src_update_extent The locale sub-extent (IndexingExtent) from which the update is read.