Spans define the dimensions of the parametric dependencies in an elementary skeleton based on the given input sizes.
More...
|
class | stapl::skeletons::spans::balanced< 1 > |
| A balanced span which is used the most across the skeletons library. It assigns a balanced spawn load to each location. The load on each location is roughly . More...
|
|
struct | stapl::skeletons::spans::binomial_tree< OnSpan, Phase > |
| A span for binomial trees which is used in algorithms such as binomial tree scan. More...
|
|
struct | stapl::skeletons::spans::binomial_tree< OnSpan, tags::up_phase > |
| The up-phase span for the up-phase of a binomial tree. More...
|
|
struct | stapl::skeletons::spans::binomial_tree< OnSpan, tags::down_phase > |
| The down-phase span for the down-phase of a binomial tree. More...
|
|
class | stapl::skeletons::spans::blocked< i > |
| A blocked span which is used the most across the skeletons library. It assigns a blocked spawn load to each location. The load on each location is roughly . More...
|
|
class | stapl::skeletons::spans::nest_blocked< dims, nested_dims, Op, level > |
| A span which is used for skeletons with nested execution. More...
|
|
class | stapl::skeletons::spans::nest_blocked< dims, 1, Op, level > |
| Specialization for 1D. More...
|
|
class | stapl::skeletons::spans::only_once |
| A span that will just have one element on the location it was created on. More...
|
|
struct | stapl::skeletons::spans::nearest_pow_two< OnSpan > |
| In some skeletons the number of elements to be spawned is less than the elements in the input size. One good example is in the reduction skeleton where the size of the leaves of the tree is less than or equal to the number of elements in the input. More...
|
|
class | stapl::skeletons::spans::only_nearest_pow_two |
| Spans only the nearest power two element to the domain size. It's only use currently is the pre_broadcast skeleton. More...
|
|
class | stapl::skeletons::spans::per_location |
| A balanced span (. More...
|
|
struct | stapl::skeletons::spans::reduce_to_pow_two< OnSpan > |
| In some skeletons it is required to spawn as many elements as the closest smaller power of two. This span defines that behavior. More...
|
|
struct | stapl::skeletons::spans::tree< OnSpan, tags::left_skewed > |
| This is a span for a left-skewed binary tree that looks like the following: More...
|
|
struct | stapl::skeletons::spans::tree< OnSpan, tags::right_aligned > |
| A span for right-aligned binary tree that looks like the following: More...
|
|
struct | stapl::skeletons::spans::tree< OnSpan, tags::left_aligned > |
| A span for a left-aligned reverse binary tree that looks like the following: More...
|
|
struct | stapl::skeletons::spans::reverse_tree< OnSpan, tags::left_skewed > |
| A span for a left-skewed reverse binary tree that looks like the following: More...
|
|
struct | stapl::skeletons::spans::reverse_tree< OnSpan, tags::right_aligned > |
| A span for a right-aligned reverse binary tree that looks like the following: More...
|
|
struct | stapl::skeletons::spans::reverse_tree< OnSpan, tags::left_aligned > |
| A span for a left-aligned reverse binary tree that look like the following: More...
|
|
Spans define the dimensions of the parametric dependencies in an elementary skeleton based on the given input sizes.
template<int level, typename Op , typename View , typename LevelDims >
void stapl::skeletons::spans::compute_total_dimension |
( |
View const & |
view, |
|
|
LevelDims & |
level_dims |
|
) |
| |
It goes through to the nested views and calculates the flattened equivalent of nested dimensions. For example, for a 2*2 view that each of its elements is 3*3 view the total dimension would be 6*6 and level dims would a vector of tuples([(2,2) , (3,3)]). This information is needed for mappers and currently suffices just for fine grain executions.
- Parameters
-
view | the input view |
level_dims | the variable that is used for storing the dimension of each nested variable |