mpi_array.distribution.CartLocaleExtent¶
-
class
mpi_array.distribution.CartLocaleExtent(peer_rank=None, inter_locale_rank=None, cart_coord=None, cart_shape=None, globale_extent=None, slice=None, halo=None, start=None, stop=None, struct=None)[source]¶ Bases:
mpi_array.distribution.LocaleExtentIndexing extents for single tile of cartesian domain distribution.
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
CART_COORDCART_COORD_STRCART_SHAPECART_SHAPE_STRHALOHALO_STRHIINTER_LOCALE_RANKINTER_LOCALE_RANK_STRLOPEER_RANKPEER_RANK_STRSTARTSTART_NSTART_N_STRSTART_STRSTOPSTOP_NSTOP_N_STRSTOP_STRcart_coordA tupleofintindicating the coordinate index (mpi4py.MPI.CartComm.Get_coordinate()) of thisLocaleExtentin the cartesian domain distribution.cart_rankAn intindicating the rank of the process in thecart_commcartesian communicator which corresponds to the{peer_rank}rank in thepeer_commcommunicator.cart_shapeA tupleofintindicating the number ofLocaleExtentregions in each axis direction of the cartesian distribution.haloA (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