STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Public Types
stapl::skeletons::skeletons_impl::broadcast< Op, Flows, Span, Tag, SetResult > Struct Template Reference

This class abstracts the semantics of a broadcast skeleton by exposing only the necessary information in its representation. More...

Public Member Functions

 broadcast (Op const &op)
 
Op get_op (void) const
 

Public Types

using skeleton_tag_type = tags::broadcast< Tag >
 
using base_type = decltype(skeletons::reverse_binary_tree< SetResult, Tag, Flows, Span >(std::declval< Op >()))
 

Detailed Description

template<typename Op, typename Flows, typename Span, typename Tag, bool SetResult>
struct stapl::skeletons::skeletons_impl::broadcast< Op, Flows, Span, Tag, SetResult >

This class abstracts the semantics of a broadcast skeleton by exposing only the necessary information in its representation.

A broadcast skeleton is simply a broadcast tree, however, since a broadcast tree can only handle an input of power-of-two sizes, this skeleton composes a broadcast tree to a an expansion skeleton.

This abstraction not only makes the reconstruction of a broadcast skeleton easier, but also provides access to the underlying operation of a broadcast skeleton. Furthermore, it reduces the symbol size for a broadcast skeleton, hence, reducing the total compilation time.

Template Parameters
Opthe operation to be used while broadcasting.
Flowsthe flow to be used for the broadcast_tree.
Spanthe iteration space for elements on each level of the broadcast tree
tagdetermines the type of the broadcast skeleton

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