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.HaloSubExtent
Indexing extent for single region of array residing on a locale. Extends
HaloSubExtent
by storing additional{peer_rank}
andinter_locale_rank
rank 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 other
extent.calc_intersection_split
(other)Returns (leftovers, intersection)
pair, whereintersection
is theIndexingExtent
object (possiblyNone
) indicating the intersection of this (self
) extent with theother
extent andleftovers
is a list ofIndexingExtent
objects indicating regions ofself
which do not intersect with theother
extent.create_struct_dtype_from_ndim
(ndim)Creates a numpy.dtype
structure for holding start and stop indices.create_struct_instance
(ndim)Creates a struct instance with numpy.dtype
self.struct_dtype_dict[ndim]
.get_struct_dtype
(ndim)get_struct_dtype_from_ndim
(ndim)globale_to_locale_extent_h
(gext)Return gext
converted 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 gslice
converted to locale slice.globale_to_locale_slice_n
(gslice)Return gslice
converted 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 lext
converted 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 lslice
converted to globale slice.locale_to_globale_slice_n
(lslice)Return lslice
converted 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 a
at indexindex
.to_slice
()Same as to_slice_n()
.to_slice_h
()Returns “ tuple
ofslice
” equivalent of this indexing extent including halo.to_slice_n
()Returns “ tuple
ofslice
” equivalent of this indexing extent without halo (“no halo”).to_tuple
()Convert this instance to a tuple
which can be passed to constructor (or used as adict
key).Attributes
HALO
HALO_STR
HI
INTER_LOCALE_RANK
INTER_LOCALE_RANK_STR
LO
PEER_RANK
PEER_RANK_STR
START
START_N
START_N_STR
START_STR
STOP
STOP_N
STOP_N_STR
STOP_STR
halo
A (len(self.start), 2)
shaped array ofint
indicating the per-axis number of outer ghost elements.inter_locale_rank
An int
indicating the rank of the process in theinter_locale_comm
responsible for exchanging data to/from this extent.ndim
Dimension of indexing. peer_rank
An int
indicating the rank of the process in thepeer_comm
communicator which corresponds to theinter_locale_rank
in theinter_locale_comm
communicator.shape
Same as shape_n
.shape_h
The shape of the tile with “halo” elements. shape_n
The shape of the tile without “halo” elements (“no halo”). size_h
Integer indicating the number of elements in this extent including halo. size_n
Integer indicating the number of elements in this extent without halo (“no halo”) start
Same as start_n
.start_h
The start index of the tile with “halo” elements. start_n
The start index of the tile without “halo” elements (“no halo”). stop
Same as stop_n
.stop_h
The stop index of the tile with “halo” elements. stop_n
The stop index of the tile without “halo” elements (“no halo”). struct_dtype_dict