DASH  0.3.0
dash::pattern_mapping_properties< Tags > Struct Template Reference

Generic type of mapping properties of a model satisfying the Pattern concept. More...

#include <PatternProperties.h>

Public Types

typedef pattern_mapping_tag::type tag_type
 

Static Public Attributes

static const bool balanced = false
 Mapping properties defaults: More...
 
static const bool unbalanced = false
 The number of blocks assigned to units may differ. More...
 
static const bool neighbor = false
 Adjacent blocks in any dimension are located at a remote unit. More...
 
static const bool shifted = false
 Units are mapped to blocks in diagonal chains in at least one hyperplane. More...
 
static const bool diagonal = false
 Units are mapped to blocks in diagonal chains in all hyperplanes. More...
 
static const bool multiple = false
 Units are mapped to more than one block. More...
 
static const bool cyclic = false
 Blocks are assigned to processes like dealt from a deck of cards in every hyperplane, starting from first unit. More...
 

Detailed Description

template<pattern_mapping_tag::type ... Tags>
struct dash::pattern_mapping_properties< Tags >

Generic type of mapping properties of a model satisfying the Pattern concept.

Example:

> my_pattern_mapping_properties;
auto pattern = dash::make_pattern<
// ...
my_pattern_mapping_properties
// ...
>(sizespec, teamspec);

Template parameter list is processed recursively by specializations of dash::pattern_mapping_properties.

{}

Definition at line 307 of file PatternProperties.h.

Member Data Documentation

◆ balanced

template<pattern_mapping_tag::type ... Tags>
const bool dash::pattern_mapping_properties< Tags >::balanced = false
static

Mapping properties defaults:

The number of assigned blocks is identical for every unit.

Definition at line 314 of file PatternProperties.h.

◆ cyclic

template<pattern_mapping_tag::type ... Tags>
const bool dash::pattern_mapping_properties< Tags >::cyclic = false
static

Blocks are assigned to processes like dealt from a deck of cards in every hyperplane, starting from first unit.

Definition at line 335 of file PatternProperties.h.

◆ diagonal

template<pattern_mapping_tag::type ... Tags>
const bool dash::pattern_mapping_properties< Tags >::diagonal = false
static

Units are mapped to blocks in diagonal chains in all hyperplanes.

Definition at line 327 of file PatternProperties.h.

◆ multiple

template<pattern_mapping_tag::type ... Tags>
const bool dash::pattern_mapping_properties< Tags >::multiple = false
static

Units are mapped to more than one block.

For minimal partitioning, every unit is mapped to two blocks.

Definition at line 331 of file PatternProperties.h.

◆ neighbor

template<pattern_mapping_tag::type ... Tags>
const bool dash::pattern_mapping_properties< Tags >::neighbor = false
static

Adjacent blocks in any dimension are located at a remote unit.

Definition at line 320 of file PatternProperties.h.

◆ shifted

template<pattern_mapping_tag::type ... Tags>
const bool dash::pattern_mapping_properties< Tags >::shifted = false
static

Units are mapped to blocks in diagonal chains in at least one hyperplane.

Definition at line 324 of file PatternProperties.h.

◆ unbalanced

template<pattern_mapping_tag::type ... Tags>
const bool dash::pattern_mapping_properties< Tags >::unbalanced = false
static

The number of blocks assigned to units may differ.

Definition at line 317 of file PatternProperties.h.


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