DASH  0.3.0

Concept for a distributed n-dimensional matrix. More...

Collaboration diagram for Matrix Concept:

Classes

class  dash::MatrixRefView< T, NumDimensions, PatternT, LocalMemT >
 Stores information needed by subscripting and subdim selection. More...
 
class  dash::Matrix< ElementT, NumDimensions, IndexT, PatternT, LocalMemSpaceT >
 Forward-declaration. More...
 

Detailed Description

Concept for a distributed n-dimensional matrix.

Extends concepts Container Concept and Array Concept.

See also
Container Concept
Array Concept
Multidimensional View Concept
Description

The Matrix concept extends the n-dimensional Array by operations that are prevalent in linear algebra, such as projection to lower dimensions (e.g. rows and columns) or slices.

Types

As defined in Container Concept.

Type name Description
value_type Type of the container elements.
difference_type Integer type denoting a distance in cartesian index space.
index_type Integer type denoting an offset/coordinate in cartesian index space.
size_type Integer type denoting an extent in cartesian index space.
iterator Iterator on container elements in global index space.
const_iterator Iterator on const container elements in global index space.
reverse_iterator Reverse iterator on container elements in global index space.
const_reverse_iterator Reverse iterator on const container elements in global index space.
reference Reference on container elements in global index space.
const_reference Reference on const container elements in global index space.
local_pointer Native pointer on local container elements.
const_local_pointer Native pointer on const local container elements.
view_type View specifier on container elements, model of Multidimensional View Concept.
local_type Reference to local element range, allows range-based iteration.
pattern_type Concrete model of the Pattern concept that specifies the container's data distribution and cartesian access pattern.
Methods
Return Type Method Parameters Description
view_type<d> block index_type bi Matrix proxy object representing a view specifier on the matrix block at canonical block index bi.
view_type<d> block index_type[d] bp Matrix proxy object representing a view specifier on the matrix block at block coordinate bc.

As defined in Container Concept :

Return Type Method Parameters Description
local_type local   Container proxy object representing a view specifier on the container's local elements.
pattern_type pattern   Object implementing the Pattern concept specifying the container's data distribution and iteration pattern.
iterator begin   Iterator referencing the first container element.
iterator end   Iterator referencing the element past the last container element.
Element * lbegin   Native pointer referencing the first local container element, same as local().begin().
Element * lend   Native pointer referencing the element past the last local container element, same as local().end().
size_type size   Number of elements in the container.
size_type local_size   Number of local elements in the container, same as local().size().
bool is_local index_type gi Whether the element at the given linear offset in global index space gi is local.
bool allocate size_type n, DistributionSpec<DD> ds, Team t Allocation of n container elements distributed in Team t as specified by distribution spec ds
void deallocate   Deallocation of the container and its elements.