DASH  0.3.0
dash::PatternConcept< NumDimensions, Arrangement, IndexType > Class Template Reference

Defines how a list of global indices is mapped to single units within a Team. More...

#include <Pattern.h>

Classes

struct  local_coords_type
 
struct  local_index_type
 

Public Types

typedef IndexType index_type
 
typedef SizeType size_type
 
typedef ViewSpecType viewspec_type
 

Public Member Functions

 PatternConcept (self_t &other)
 Copy constructor using non-const lvalue reference parameter. More...
 
bool operator== (const self_t &other) const
 Equality comparison operator. More...
 
bool operator!= (const self_t &other) const
 Inquality comparison operator. More...
 
PatternConceptoperator= (const PatternConcept &other)
 Assignment operator. More...
 
index_type lbegin () const
 Resolves the global index of the first local element in the pattern. More...
 
index_type lend () const
 Resolves the global index past the last local element in the pattern. More...
 
team_unit_t unit_at (const std::array< index_type, NumDimensions > &coords, const ViewSpec_t &viewspec) const
 unit_at More...
 
team_unit_t unit_at (const std::array< index_type, NumDimensions > &coords) const
 Convert given coordinate in pattern to its assigned unit id. More...
 
team_unit_t unit_at (index_type global_pos, const ViewSpec_t &viewspec) const
 Convert given global linear index to its assigned unit id. More...
 
team_unit_t unit_at (index_type global_pos) const
 Convert given global linear index to its assigned unit id. More...
 
index_type extent (dim_t dim) const
 extent More...
 
index_type local_extent (dim_t dim) const
 The actual number of elements in this pattern that are local to the calling unit in the given dimension. More...
 
std::array< size_type, NumDimensions > local_extents () const
 The actual number of elements in this pattern that are local to the active unit, by dimension. More...
 
std::array< size_type, NumDimensions > local_extents (team_unit_t unit) const
 The actual number of elements in this pattern that are local to the given unit, by dimension. More...
 
index_type local_at (const std::array< index_type, NumDimensions > &local_coords, const ViewSpec_t &viewspec) const
 local More...
 
index_type local_at (const std::array< index_type, NumDimensions > &local_coords) const
 Convert given local coordinates to linear local offset (index). More...
 
local_coords_t local (const std::array< index_type, NumDimensions > &global_coords) const
 Converts global coordinates to their associated unit and its respective local coordinates. More...
 
local_index_t local (index_type g_index) const
 Converts global index to its associated unit and respective local index. More...
 
std::array< index_type, NumDimensions > local_coords (const std::array< index_type, NumDimensions > &global_coords) const
 Converts global coordinates to their associated unit's respective local coordinates. More...
 
local_index_t local_index (const std::array< index_type, NumDimensions > &global_coords) const
 Resolves the unit and the local index from global coordinates. More...
 
std::array< index_type, NumDimensions > global (team_unit_t unit, const std::array< index_type, NumDimensions > &local_coords) const
 global More...
 
std::array< index_type, NumDimensions > global (const std::array< index_type, NumDimensions > &local_coords) const
 Converts local coordinates of active unit to global coordinates. More...
 
index_type global (index_type local_index) const
 Resolve an element's linear global index from the calling unit's local index of that element. More...
 
index_type global_index (team_unit_t unit, const std::array< index_type, NumDimensions > &local_coords) const
 Resolve an element's linear global index from a given unit's local coordinates of that element. More...
 
index_type global_at (const std::array< index_type, NumDimensions > &view_coords, const ViewSpec_t &viewspec) const
 Global coordinates and viewspec to global position in the pattern's iteration order. More...
 
index_type global_at (const std::array< index_type, NumDimensions > &global_coords) const
 Global coordinates to global position in the pattern's iteration order. More...
 
index_type at (const std::array< index_type, NumDimensions > &global_coords) const
 at More...
 
index_type at (const std::array< index_type, NumDimensions > &global_coords, const ViewSpec_t &viewspec) const
 Global coordinates and viewspec to local index. More...
 
template<typename ... Values>
index_type at (index_type value, Values ... values) const
 Global coordinates to local index. More...
 
bool is_local (index_type index, team_unit_t unit) const
 is_local More...
 
bool is_local (index_type index) const
 Whether the given global index is local to the unit that created this pattern instance. More...
 
const BlockSpec_t & blockspec () const
 block More...
 
index_type block_at (const std::array< index_type, NumDimensions > &g_coords) const
 Index of block at given global coordinates. More...
 
ViewSpec_t block (index_type global_block_index) const
 View spec (offset and extents) of block at global linear block index in cartesian element space. More...
 
ViewSpec_t local_block (index_type local_block_index) const
 View spec (offset and extents) of block at local linear block index in global cartesian element space. More...
 
ViewSpec_t local_block_local (index_type local_block_index) const
 View spec (offset and extents) of block at local linear block index in local cartesian element space. More...
 
size_type blocksize (dim_t dimension) const
 Maximum number of elements in a single block in the given dimension. More...
 
size_type max_blocksize () const
 Maximum number of elements in a single block in all dimensions. More...
 
size_type local_capacity () const
 Maximum number of elements assigned to a single unit in total, equivalent to the local capacity of every unit in this pattern. More...
 
size_type local_size (team_unit_t unit=UNDEFINED_TEAM_UNIT_ID) const
 The actual number of elements in this pattern that are local to the calling unit in total. More...
 
index_type capacity () const
 The maximum number of elements arranged in this pattern. More...
 
index_type size () const
 The number of elements arranged in this pattern. More...
 
dash::Teamteam () const
 The Team containing the units to which this pattern's elements are mapped. More...
 
const DistributionSpec_t & distspec () const
 Distribution specification of this pattern. More...
 
SizeSpec_t sizespec () const
 Size specification of the index space mapped by this pattern. More...
 
const std::array< size_type, NumDimensions > & extents () const
 Size specification of the index space mapped by this pattern. More...
 
const TeamSpec_t & teamspec () const
 Cartesian arrangement of the Team containing the units to which this pattern's elements are mapped. More...
 
std::array< index_type, NumDimensions > coords (index_type index) const
 Convert given global linear offset (index) to global cartesian coordinates. More...
 
std::array< index_type, NumDimensions > coords (index_type index, const ViewSpec_t &viewspec) const
 Convert given global linear offset (index) to global cartesian coordinates using viewspec. More...
 
size_type underfilled_blocksize (dim_t dimension) const
 Number of elements missing in the overflow block of given dimension compared to the regular blocksize (. More...
 

Static Public Member Functions

static constexpr MemArrange memory_order ()
 Memory order followed by the pattern. More...
 
static constexpr dim_t ndim ()
 Number of dimensions of the cartesian space partitioned by the pattern. More...
 

Static Public Attributes

static constexpr char const * PatternName = "TheConcretePatternTypeName"
 

Detailed Description

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
class dash::PatternConcept< NumDimensions, Arrangement, IndexType >

Defines how a list of global indices is mapped to single units within a Team.

Template Parameters
NumDimensionsThe number of dimensions of the pattern
ArrangementThe memory order of the pattern (ROW_MAJOR or COL_MAJOR), defaults to ROW_MAJOR. Memory order defines how elements in the pattern will be iterated predominantly
See also
MemArrange

Definition at line 88 of file Pattern.h.

Constructor & Destructor Documentation

◆ PatternConcept()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
dash::PatternConcept< NumDimensions, Arrangement, IndexType >::PatternConcept ( self_t &  other)

Copy constructor using non-const lvalue reference parameter.

Introduced so variadic constructor is not a better match for copy-construction.

Member Function Documentation

◆ at() [1/3]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::at ( const std::array< index_type, NumDimensions > &  global_coords) const

at

Global coordinates to local index.

Convert given global coordinates in pattern to their respective linear local index.

See also
Pattern Concept

◆ at() [2/3]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::at ( const std::array< index_type, NumDimensions > &  global_coords,
const ViewSpec_t &  viewspec 
) const

Global coordinates and viewspec to local index.

Convert given global coordinate in pattern to its linear local index.

See also
Pattern Concept

◆ at() [3/3]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
template<typename ... Values>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::at ( index_type  value,
Values ...  values 
) const

Global coordinates to local index.

Convert given coordinate in pattern to its linear local index.

See also
Pattern Concept

◆ block()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
ViewSpec_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::block ( index_type  global_block_index) const

View spec (offset and extents) of block at global linear block index in cartesian element space.

◆ block_at()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::block_at ( const std::array< index_type, NumDimensions > &  g_coords) const

Index of block at given global coordinates.

See also
Pattern Concept
Parameters
g_coordsGlobal coordinates of element

◆ blocksize()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
size_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::blocksize ( dim_t  dimension) const

Maximum number of elements in a single block in the given dimension.

Returns
The blocksize in the given dimension
See also
Pattern Concept
Parameters
dimensionThe dimension in the pattern

◆ blockspec()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
const BlockSpec_t& dash::PatternConcept< NumDimensions, Arrangement, IndexType >::blockspec ( ) const

block

Cartesian arrangement of pattern blocks.

◆ capacity()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::capacity ( ) const
inline

The maximum number of elements arranged in this pattern.

See also
Pattern Concept

◆ coords() [1/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
std::array<index_type, NumDimensions> dash::PatternConcept< NumDimensions, Arrangement, IndexType >::coords ( index_type  index) const

Convert given global linear offset (index) to global cartesian coordinates.

See also
Pattern Concept

◆ coords() [2/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
std::array<index_type, NumDimensions> dash::PatternConcept< NumDimensions, Arrangement, IndexType >::coords ( index_type  index,
const ViewSpec_t &  viewspec 
) const

Convert given global linear offset (index) to global cartesian coordinates using viewspec.

See also
Pattern Concept

◆ distspec()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
const DistributionSpec_t& dash::PatternConcept< NumDimensions, Arrangement, IndexType >::distspec ( ) const

Distribution specification of this pattern.

◆ extent()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::extent ( dim_t  dim) const

extent

The number of elements in this pattern in the given dimension.

See also
blocksize()
local_size()
local_extent()
Pattern Concept

◆ extents()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
const std::array<size_type, NumDimensions>& dash::PatternConcept< NumDimensions, Arrangement, IndexType >::extents ( ) const

Size specification of the index space mapped by this pattern.

See also
Pattern Concept

◆ global() [1/3]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
std::array<index_type, NumDimensions> dash::PatternConcept< NumDimensions, Arrangement, IndexType >::global ( team_unit_t  unit,
const std::array< index_type, NumDimensions > &  local_coords 
) const

global

Converts local coordinates of a given unit to global coordinates.

See also
Pattern Concept

◆ global() [2/3]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
std::array<index_type, NumDimensions> dash::PatternConcept< NumDimensions, Arrangement, IndexType >::global ( const std::array< index_type, NumDimensions > &  local_coords) const

Converts local coordinates of active unit to global coordinates.

See also
Pattern Concept

◆ global() [3/3]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::global ( index_type  local_index) const

Resolve an element's linear global index from the calling unit's local index of that element.

See also
at Inverse of global()
Pattern Concept

◆ global_at() [1/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::global_at ( const std::array< index_type, NumDimensions > &  view_coords,
const ViewSpec_t &  viewspec 
) const

Global coordinates and viewspec to global position in the pattern's iteration order.

See also
at
local_at
Pattern Concept

◆ global_at() [2/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::global_at ( const std::array< index_type, NumDimensions > &  global_coords) const

Global coordinates to global position in the pattern's iteration order.

NOTE: Expects extent[d] to be a multiple of blocksize[d] * nunits[d] to ensure the balanced property.

See also
at
local_at
Pattern Concept

◆ global_index()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::global_index ( team_unit_t  unit,
const std::array< index_type, NumDimensions > &  local_coords 
) const

Resolve an element's linear global index from a given unit's local coordinates of that element.

See also
at
Pattern Concept

◆ is_local() [1/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
bool dash::PatternConcept< NumDimensions, Arrangement, IndexType >::is_local ( index_type  index,
team_unit_t  unit 
) const

is_local

Whether the given global index is local to the specified unit.

See also
Pattern Concept

◆ is_local() [2/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
bool dash::PatternConcept< NumDimensions, Arrangement, IndexType >::is_local ( index_type  index) const

Whether the given global index is local to the unit that created this pattern instance.

See also
Pattern Concept

◆ lbegin()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::lbegin ( ) const

Resolves the global index of the first local element in the pattern.

See also
Pattern Concept

◆ lend()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::lend ( ) const

Resolves the global index past the last local element in the pattern.

See also
Pattern Concept

◆ local() [1/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
local_coords_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local ( const std::array< index_type, NumDimensions > &  global_coords) const

Converts global coordinates to their associated unit and its respective local coordinates.

See also
Pattern Concept

◆ local() [2/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
local_index_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local ( index_type  g_index) const

Converts global index to its associated unit and respective local index.

See also
Pattern Concept

◆ local_at() [1/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_at ( const std::array< index_type, NumDimensions > &  local_coords,
const ViewSpec_t &  viewspec 
) const

local

Convert given local coordinates and viewspec to linear local offset (index).

See also
Pattern Concept
Parameters
local_coordsPoint in local memory
viewspecView specification (offsets) to apply on coords

◆ local_at() [2/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_at ( const std::array< index_type, NumDimensions > &  local_coords) const

Convert given local coordinates to linear local offset (index).

See also
Pattern Concept
Parameters
local_coordsPoint in local memory

◆ local_block()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
ViewSpec_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_block ( index_type  local_block_index) const

View spec (offset and extents) of block at local linear block index in global cartesian element space.

◆ local_block_local()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
ViewSpec_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_block_local ( index_type  local_block_index) const

View spec (offset and extents) of block at local linear block index in local cartesian element space.

◆ local_capacity()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
size_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_capacity ( ) const
inline

Maximum number of elements assigned to a single unit in total, equivalent to the local capacity of every unit in this pattern.

See also
Pattern Concept

◆ local_coords()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
std::array<index_type, NumDimensions> dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_coords ( const std::array< index_type, NumDimensions > &  global_coords) const

Converts global coordinates to their associated unit's respective local coordinates.

See also
Pattern Concept

◆ local_extent()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_extent ( dim_t  dim) const

The actual number of elements in this pattern that are local to the calling unit in the given dimension.

See also
local_extents()
blocksize()
local_size()
extent()
Pattern Concept

◆ local_extents() [1/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
std::array<size_type, NumDimensions> dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_extents ( ) const

The actual number of elements in this pattern that are local to the active unit, by dimension.

See also
local_extent()
blocksize()
local_size()
extent()
Pattern Concept

◆ local_extents() [2/2]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
std::array<size_type, NumDimensions> dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_extents ( team_unit_t  unit) const

The actual number of elements in this pattern that are local to the given unit, by dimension.

See also
local_extent()
blocksize()
local_size()
extent()
Pattern Concept

◆ local_index()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
local_index_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_index ( const std::array< index_type, NumDimensions > &  global_coords) const

Resolves the unit and the local index from global coordinates.

See also
Pattern Concept

◆ local_size()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
size_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::local_size ( team_unit_t  unit = UNDEFINED_TEAM_UNIT_ID) const
inline

The actual number of elements in this pattern that are local to the calling unit in total.

See also
blocksize()
local_extent()
local_capacity()
Pattern Concept

◆ max_blocksize()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
size_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::max_blocksize ( ) const

Maximum number of elements in a single block in all dimensions.

Returns
The maximum number of elements in a single block assigned to a unit.
See also
Pattern Concept

◆ memory_order()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
static constexpr MemArrange dash::PatternConcept< NumDimensions, Arrangement, IndexType >::memory_order ( )
static

Memory order followed by the pattern.

◆ ndim()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
static constexpr dim_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::ndim ( )
static

Number of dimensions of the cartesian space partitioned by the pattern.

◆ operator!=()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
bool dash::PatternConcept< NumDimensions, Arrangement, IndexType >::operator!= ( const self_t &  other) const

Inquality comparison operator.

Parameters
otherPattern instance to compare for inequality

◆ operator=()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
PatternConcept& dash::PatternConcept< NumDimensions, Arrangement, IndexType >::operator= ( const PatternConcept< NumDimensions, Arrangement, IndexType > &  other)

Assignment operator.

◆ operator==()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
bool dash::PatternConcept< NumDimensions, Arrangement, IndexType >::operator== ( const self_t &  other) const

Equality comparison operator.

Parameters
otherPattern instance to compare for equality

◆ size()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
index_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::size ( ) const
inline

The number of elements arranged in this pattern.

See also
Pattern Concept

◆ sizespec()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
SizeSpec_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::sizespec ( ) const

Size specification of the index space mapped by this pattern.

See also
Pattern Concept

◆ team()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
dash::Team& dash::PatternConcept< NumDimensions, Arrangement, IndexType >::team ( ) const
inline

The Team containing the units to which this pattern's elements are mapped.

◆ teamspec()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
const TeamSpec_t& dash::PatternConcept< NumDimensions, Arrangement, IndexType >::teamspec ( ) const

Cartesian arrangement of the Team containing the units to which this pattern's elements are mapped.

See also
Pattern Concept

◆ underfilled_blocksize()

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
size_type dash::PatternConcept< NumDimensions, Arrangement, IndexType >::underfilled_blocksize ( dim_t  dimension) const

Number of elements missing in the overflow block of given dimension compared to the regular blocksize (.

See also
blocksize(d)), with 0 <= underfilled_blocksize(d) < blocksize(d).

◆ unit_at() [1/4]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
team_unit_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::unit_at ( const std::array< index_type, NumDimensions > &  coords,
const ViewSpec_t &  viewspec 
) const

unit_at

Convert given point in pattern to its assigned unit id.

See also
Pattern Concept
Parameters
coordsAbsolute coordinates of the point
viewspecView specification (offsets) to apply on coords

◆ unit_at() [2/4]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
team_unit_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::unit_at ( const std::array< index_type, NumDimensions > &  coords) const

Convert given coordinate in pattern to its assigned unit id.

See also
Pattern Concept

◆ unit_at() [3/4]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
team_unit_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::unit_at ( index_type  global_pos,
const ViewSpec_t &  viewspec 
) const

Convert given global linear index to its assigned unit id.

See also
Pattern Concept
Parameters
global_posGlobal linear element offset
viewspecView to apply global position

◆ unit_at() [4/4]

template<dim_t NumDimensions, MemArrange Arrangement = ROW_MAJOR, typename IndexType = dash::default_index_t>
team_unit_t dash::PatternConcept< NumDimensions, Arrangement, IndexType >::unit_at ( index_type  global_pos) const

Convert given global linear index to its assigned unit id.

See also
blocksize()
blockspec()
blocksizespec()
Pattern Concept
Parameters
global_posGlobal linear element offset

The documentation for this class was generated from the following file: