Creates a set_result parametric dependency given a op
. Basically this parametric dependency is only used for sinking values of skeletons which couldn't currently set their results directly without using sink_value skeleton.
More...
|
| pre_broadcast_pd (Op op) |
|
template<typename Coord , typename Visitor , typename In > |
void | case_of (Coord const &skeleton_size, Coord const &, Visitor &visitor, In &&in_flow) const |
| If coord is <idx, ...> it wraps the Op with the following inputs and sends it to the visitor along with the m_op . More...
|
|
template<typename Size , typename Coord , typename FlowIndex > |
std::size_t | consumer_count (Size const &skeleton_size, Coord const &coord, FlowIndex const &) const |
| determines how many of the instances of this parametric dependency will be consuming from a producer with a given coordinate. This is a reverse query as compared to case_of More...
|
|
template<typename Coord > |
int | get_result_id (Coord const &, Coord const &) const |
|
Op | get_op () const |
|
template<typename Coord , typename SpanType > |
void | configure (Coord &&, SpanType &&) |
|
|
static constexpr std::size_t | in_port_size = Arity |
|
static constexpr std::size_t | op_arity = Arity |
|
template<std::size_t Arity, typename Op, typename Span, bool SetResult>
class stapl::skeletons::skeletons_impl::pre_broadcast_pd< Arity, Op, Span, SetResult >
Creates a set_result parametric dependency given a op
. Basically this parametric dependency is only used for sinking values of skeletons which couldn't currently set their results directly without using sink_value skeleton.
- Template Parameters
-
Arity | the arity of set_result |
Op | the workfunction to be used in each set_result parametric dependency |
Span | the span for the previous skeleton that is passed to set result for detecting if the corresponding task is spanned or not |
SetResult | whether put the task result on the result container or not |
◆ case_of()
template<std::size_t Arity, typename Op , typename Span , bool SetResult>
template<typename Coord , typename Visitor , typename In >
If coord is <idx, ...> it wraps the Op
with the following inputs and sends it to the visitor along with the m_op
.
- in<0>[idx]
- in<1>[idx]
- ...
- Parameters
-
coord | <i, j, k, ...> where i < n, j < m, k < p |
visitor | the information about Op and input is passed so that later this information can be converted to a node in the dependence graph |
in_flow | a tuple of input flows to consume from |
◆ consumer_count()
template<std::size_t Arity, typename Op , typename Span , bool SetResult>
template<typename Size , typename Coord , typename FlowIndex >
determines how many of the instances of this parametric dependency will be consuming from a producer with a given coordinate. This is a reverse query as compared to case_of
- Parameters
-
skeleton_size | the size of skeleton dimension |
coord | the producer coordination |
- Template Parameters
-
FlowIndex | the flow index to which this request is sent |
The documentation for this class was generated from the following file: