DASH
0.3.0
|
Takes the local part of the NArray and builds halo and boundary regions. More...
#include <Halo.h>
Public Types | |
using | Element_t = ElementT |
using | Pattern_t = PatternT |
using | GlobMem_t = GlobMemT |
using | GlobBoundSpec_t = GlobalBoundarySpec< NumDimensions > |
using | pattern_size_t = typename PatternT::size_type |
using | ViewSpec_t = typename PatternT::viewspec_type |
using | BoundaryViews_t = std::vector< ViewSpec_t > |
using | HaloSpec_t = HaloSpec< NumDimensions > |
using | RegionVector_t = std::vector< Region_t > |
using | ElementCoords_t = std::array< pattern_index_t, NumDimensions > |
using | HaloExtsMax_t = typename HaloSpec_t::HaloExtsMax_t |
using | RegIndDepVec_t = typename RegionCoords_t::RegIndDepVec_t |
using | BlockEnv_t = BlockEnvironment< Pattern_t > |
Public Member Functions | |
HaloBlock (GlobMem_t &globmem, const PatternT &pattern, const ViewSpec_t &view, const HaloSpec_t &halo_reg_spec, const GlobBoundSpec_t &bound_spec) | |
Constructor. More... | |
HaloBlock (const Self_t &other)=default | |
Copy constructor. More... | |
Self_t & | operator= (const Self_t &other)=default |
Assignment operator. More... | |
const Pattern_t & | pattern () const |
The pattern instance that created the encapsulated block. More... | |
const GlobMem_t & | globmem () const |
The global memory instance that created the encapsulated block. More... | |
const GlobBoundSpec_t & | global_boundary_spec () const |
Returns the GlobalBoundarySpec used by the HaloBlock instance. More... | |
const HaloSpec_t & | halo_spec () const |
Returns used HaloSpec. More... | |
BlockEnv_t | block_env () |
Returns the environment information object BlockEnvironment. More... | |
const BlockEnv_t & | block_env () const |
Returns the environment information object BlockEnvironment. More... | |
const Region_t * | halo_region (const region_index_t index) const |
Returns a specific halo region and nullptr if no region exists. More... | |
const RegionVector_t & | halo_regions () const |
Returns all halo regions. More... | |
const Region_t * | boundary_region (const region_index_t index) const |
Returns a specific region and nullptr if no region exists. More... | |
const RegionVector_t & | boundary_regions () const |
Returns all boundary regions. More... | |
RegIndDepVec_t | boundary_dependencies (region_index_t index) const |
const ViewSpec_t & | view () const |
Returns the initial global ViewSpec. More... | |
const ViewSpec_t & | view_local () const |
Returns the initial local ViewSpec. More... | |
const ViewSpec_t & | view_inner_with_boundaries () const |
Returns a local ViewSpec that combines the boundary and inner view. More... | |
const ViewSpec_t & | view_inner () const |
Returns the inner ViewSpec with local offsets depending on the used HaloSpec. More... | |
const BoundaryViews_t & | boundary_views () const |
Returns a set of local views that contains all boundary elements. More... | |
pattern_size_t | halo_size () const |
Number of halo elements. More... | |
pattern_size_t | boundary_size () const |
Number of boundary elements (no duplicates) More... | |
region_index_t | index_at (const ViewSpec_t &view, const ElementCoords_t &coords) const |
Returns the region index belonging to the given coordinates and ViewSpec. More... | |
Static Public Member Functions | |
static constexpr dim_t | ndim () |
Takes the local part of the NArray and builds halo and boundary regions.
|
inline |
Constructor.
Definition at line 859 of file Halo.h.
References dash::ndim().
|
default |
Copy constructor.
|
inline |
Returns the environment information object BlockEnvironment.
|
inline |
Returns the environment information object BlockEnvironment.
|
inline |
Returns a specific region and nullptr if no region exists.
Definition at line 974 of file Halo.h.
References dash::index().
|
inline |
Returns all boundary regions.
Between regions element reoccurences are possible.
Definition at line 982 of file Halo.h.
References dash::index().
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at(), and dash::halo::HaloMatrixWrapper< MatrixT, SigReady >::set_custom_halos().
|
inline |
Number of boundary elements (no duplicates)
Definition at line 1033 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Returns a set of local views that contains all boundary elements.
No duplicated elements included.
Definition at line 1023 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Returns the GlobalBoundarySpec used by the HaloBlock instance.
|
inline |
|
inline |
Returns a specific halo region and nullptr if no region exists.
Definition at line 962 of file Halo.h.
References dash::index().
|
inline |
Returns all halo regions.
Definition at line 969 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Number of halo elements.
Definition at line 1028 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Returns used HaloSpec.
Definition at line 946 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Returns the region index belonging to the given coordinates and ViewSpec.
Definition at line 1038 of file Halo.h.
References dash::begin(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::boundary_regions(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::boundary_size(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::boundary_views(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::halo_regions(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::halo_size(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::halo_spec(), dash::index(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::view(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::view_inner(), dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::view_inner_with_boundaries(), and dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::view_local().
Referenced by dash::halo::HaloMatrixWrapper< MatrixT, SigReady >::stencil_operator().
|
default |
Assignment operator.
|
inline |
|
inline |
Returns the initial global ViewSpec.
Definition at line 999 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Returns the inner ViewSpec with local offsets depending on the used HaloSpec.
Definition at line 1017 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Returns a local ViewSpec that combines the boundary and inner view.
Definition at line 1009 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().
|
inline |
Returns the initial local ViewSpec.
Definition at line 1004 of file Halo.h.
Referenced by dash::halo::HaloBlock< ElementT, PatternT, GlobMemT >::index_at().