mpi_array.distribution.LocaleExtent¶
-
class
mpi_array.distribution.LocaleExtent(peer_rank=None, inter_locale_rank=None, globale_extent=None, slice=None, halo=0, start=None, stop=None, struct=None)[source]¶ Bases:
mpi_array.distribution.HaloSubExtentIndexing extent for single region of array residing on a locale. Extends
HaloSubExtentby storing additional{peer_rank}andinter_locale_rankrank integers indicating the process responsible for exchanging the data to/from this extent.Methods
__init__([peer_rank, inter_locale_rank, ...])Construct. calc_intersection(other)Returns the indexing extent which is the intersection of this extent with the otherextent.calc_intersection_split(other)Returns (leftovers, intersection)pair, whereintersectionis theIndexingExtentobject (possiblyNone) indicating the intersection of this (self) extent with theotherextent andleftoversis a list ofIndexingExtentobjects indicating regions ofselfwhich do not intersect with theotherextent.create_struct_dtype_from_ndim(ndim)Creates a numpy.dtypestructure for holding start and stop indices.create_struct_instance(ndim)Creates a struct instance with numpy.dtypeself.struct_dtype_dict[ndim].get_struct_dtype(ndim)get_struct_dtype_from_ndim(ndim)globale_to_locale_extent_h(gext)Return gextconverted to locale index.globale_to_locale_h(gidx)Convert globale array index to locale array index. globale_to_locale_n(gidx)Convert globale array index to locale array index. globale_to_locale_slice_h(gslice)Return gsliceconverted to locale slice.globale_to_locale_slice_n(gslice)Return gsliceconverted to locale slice.halo_slab_extent(axis, dir)Returns indexing extent of the halo slab for specified axis. locale_to_globale_extent_h(lext)Return lextconverted to globale index.locale_to_globale_h(lidx)Convert locale array index to globale array index. locale_to_globale_n(lidx)Convert locale array index to globale array index. locale_to_globale_slice_h(lslice)Return lsliceconverted to globale slice.locale_to_globale_slice_n(lslice)Return lsliceconverted to globale slice.no_halo_extent(axis)Returns the indexing extent identical to this extent, except has the halo trimmed from the axis specified by axis.split(a, index)Split this extent into two extents by cutting along axis aat indexindex.to_slice()Same as to_slice_n().to_slice_h()Returns “ tupleofslice” equivalent of this indexing extent including halo.to_slice_n()Returns “ tupleofslice” equivalent of this indexing extent without halo (“no halo”).to_tuple()Convert this instance to a tuplewhich can be passed to constructor (or used as adictkey).Attributes
HALOHALO_STRHIINTER_LOCALE_RANKINTER_LOCALE_RANK_STRLOPEER_RANKPEER_RANK_STRSTARTSTART_NSTART_N_STRSTART_STRSTOPSTOP_NSTOP_N_STRSTOP_STRhaloA (len(self.start), 2)shaped array ofintindicating the per-axis number of outer ghost elements.inter_locale_rankAn intindicating the rank of the process in theinter_locale_commresponsible for exchanging data to/from this extent.ndimDimension of indexing. peer_rankAn intindicating the rank of the process in thepeer_commcommunicator which corresponds to theinter_locale_rankin theinter_locale_commcommunicator.shapeSame as shape_n.shape_hThe shape of the tile with “halo” elements. shape_nThe shape of the tile without “halo” elements (“no halo”). size_hInteger indicating the number of elements in this extent including halo. size_nInteger indicating the number of elements in this extent without halo (“no halo”) startSame as start_n.start_hThe start index of the tile with “halo” elements. start_nThe start index of the tile without “halo” elements (“no halo”). stopSame as stop_n.stop_hThe stop index of the tile with “halo” elements. stop_nThe stop index of the tile without “halo” elements (“no halo”). struct_dtype_dict