This class abstracts the semantics of a reduce to location skeleton by exposing only the necessary information in its representation.
More...
|
struct | allgather |
| This class abstracts the semantics of an allgather skeleton by exposing only the necessary information in its representation. More...
|
|
struct | allgather< T, Span, tags::reverse_butterfly< B > > |
| This class abstracts the semantics of an allgather skeleton by exposing only the necessary information in its representation. More...
|
|
struct | allreduce |
| This class abstracts the semantics of an allreduce skeleton by exposing only the necessary information in its representation. More...
|
|
struct | allreduce< Op, Span, tags::butterfly< false > > |
| This class abstracts the semantics of a butterfly-based allreduce skeleton by exposing only the necessary information in its representation. More...
|
|
struct | allreduce< Op, Span, tags::reverse_butterfly< B > > |
| This class abstracts the semantics of a reverse-butterfly-based allreduce skeleton by exposing only the necessary information in its representation. More...
|
|
struct | alltoall< T, Span, skeletons::tags::butterfly< false > > |
| This class abstracts the semantics of an alltoall skeleton by exposing only the necessary information in its representation. More...
|
|
struct | alltoall< T, Span, tags::flat > |
| This class abstracts the semantics of a flat alltoall skeleton by exposing only the necessary information in its representation. More...
|
|
struct | alltoall< T, Span, tags::hybrid > |
| This class abstracts the semantics of a hybrid alltoall skeleton by exposing only the necessary information in its representation. More...
|
|
struct | alltoall< T, Span, tags::pairwise_exchange > |
| This class abstracts the semantics of a hybrid alltoall skeleton by exposing only the necessary information in its representation. More...
|
|
struct | alltoall_filter |
| The filtering used in hybrid, flat, and pairwise exchange alltoalls for sending only the requested part to other participants. More...
|
|
struct | alltoall_filter< T, tags::butterfly< B > > |
| A specific filtering used in recursive-doubling (butterfly) implementation of all_to_all. More...
|
|
struct | alltoall_merge |
| The workfunction used in flat and hybrid alltoall for merging the incoming messages. More...
|
|
class | alltoall_merge< T, tags::butterfly< B > > |
| Merges the results from two given inputs by putting one chunk of size butterfly_size from the first and then the same size from the second until both inputs are exhausted. More...
|
|
struct | alltoall_merge< T, tags::pairwise_exchange > |
| The workfunction used in pairwise exchange alltoall for merging the incoming messages. More...
|
|
class | alltoall_pd< T, tags::flat > |
| In a flat alltoall, parametric dependencies are defined in such a way that each node depends on every node in the producer. More...
|
|
class | alltoall_pd< T, tags::hybrid > |
| The hybrid alltoall parametric dependency is used for alltoall skeleton in the cases of having large messages. The parametric dependency in this case is defined as a hybrid of the flat and butterfly-based version of alltoall. More...
|
|
class | alltoall_pd< T, tags::pairwise_exchange > |
| In a pairwise exchange alltoall, parametric dependencies are defined in such a way that each node depends on every node in the producer. More...
|
|
struct | binary_tree< Op, Flows, Span, Tag, false > |
| This class abstracts the semantics of a non-complete binary tree by exposing only the necessary information in its representation. More...
|
|
struct | binary_tree< Op, Flows, Span, Tag, true > |
| This class abstracts the semantics of a complete binary tree by exposing only the necessary information in its representation. More...
|
|
class | binary_tree_pd |
| This binary tree parametric dependency is one of the several possible parametric dependencies that can be used in a binary tree. This parametric dependency is used with tree in order to create reduction trees. This parametric dependency can have different layouts which are determined by the given Tag . More...
|
|
class | binomial_tree_pd |
| This reduce parametric dependency is one of the several possible parametric dependencies that can be used in reduction . More...
|
|
class | bitonic_sort_pd |
| The bitonicsort parametric dependency defines the dependencies for each point in the global bitonicsort skeleton. At each local point either a minimum or a maximum will be computed depending on where this point is located in the global skeleton. This will be described in the Op. More...
|
|
struct | bitreversal |
| This class abstracts the semantics of an bitreversal skeleton by exposing only the necessary information in its representation. More...
|
|
class | bitreversal_pd |
| A bitreversal parametric dependency used in the bitreversal skeleton. More...
|
|
struct | broadcast |
| This class abstracts the semantics of a broadcast skeleton by exposing only the necessary information in its representation. More...
|
|
struct | butterfly |
| This class abstracts the semantics of a butterfly skeleton by exposing only the necessary information in its representation. More...
|
|
class | butterfly_pd |
| A butterfly parametric dependency defines the dependencies for each element in a big butterfly skeleton. Some algorithms that use butterfly_pd need to know the location of the element in the big butterfly skeleton. An example is DIT FFT algorithm that changes the computation based on the location of the parametric dependency. For the same reason is_position_aware should be specified by user in such cases. In addition, in some cases one would like to read partially from the inputs on a butterfly . That's when the the F (filter) can be used. More...
|
|
class | compose |
| Compose operator groups the given skeletons together and performs the spawning process in the order of composition (P0, P1, ... Pn). The spawning process starts from the first skeleton (P0) and continues until the last skeleton(Pn) is spawned. More...
|
|
struct | compute_return_type |
| The return type to be determined for an optimizer by passing the fine-grain type. More...
|
|
struct | default_execution_params |
| Default execution parameters. More...
|
|
struct | default_skeleton_traits |
| Default skeleton traits. More...
|
|
class | do_while |
| Do-while is a composite skeleton that repeats a skeleton for a number of iterations. This number is determined by evaluating the ContinuationP after every iteration. More...
|
|
class | do_while_pd |
| A do_while parametric dependency represents an element in the dependence graph that controls if the next iteration of a do-while loop should be spawned or not. It does that by wrapping user's ContCond by do_while_stub with and sending memento_stack to it. More...
|
|
struct | do_while_stubs |
| There are three elements pushed on the top of the memento when this method is invoked. Two of them stand for the current iteration and one is for the one that comes after this iteration. More...
|
|
class | elem |
| Every parametric dependency is wrapped by this class in order to represent an executable, expandable skeleton. This class has a generic interface for spawning parametric dependencies, and for accessing the flows connected to each node. More...
|
|
struct | exclusive_scan< Op, T, tags::blelloch > |
| Blelloch scan is an exclusive scan algorithm which is similar to the inclusive scan mentioned in Joseph Jaja's book (. More...
|
|
class | execution_params |
| Stores the execution parameters to be used for running a a skeleton in STAPL. These parameters are currently: More...
|
|
struct | expand_from_pow_two |
| This class abstracts the semantics of an expansion skeleton by exposing only the necessary information in its representation. More...
|
|
struct | expand_from_pow_two< Op, Span, pos_aware, stapl::use_default, SetResult > |
| This class abstracts the semantics of an expansion skeleton by exposing only the necessary information in its representation. More...
|
|
class | expand_from_pow_two_pd |
| This parametric dependency is used in the postprocessing phase of various algorithms that only accept power-of-two input sizes. More...
|
|
struct | fake_flow |
| A fake_flow is used for making the result_type computation possible for wrapped skeletons (wrapped_skeleton). More...
|
|
struct | fake_flow< mix_view< V, I, CID >, true > |
| A fake_flow is used for making the result_type computation possible for wrapped skeletons (wrapped_skeleton). More...
|
|
struct | fake_flow< nfast_view< V >, true > |
| A fake_flow is used for making the result_type computation possible for wrapped skeletons (wrapped_skeleton). More...
|
|
struct | fake_flow< paragraph_impl::paragraph_view< V >, true > |
| A fake_flow is used for making the result_type computation possible for wrapped_skeletons . More...
|
|
class | farm_init |
| Wraps the user provided generator for a farm and passes the farm instance upon invocation to the generator. More...
|
|
class | farm_pd |
| This parametric dependency is used in farms skeleton to generate the initial seeds of computation. More...
|
|
class | farm_stub |
| Wraps the environment used in the current spawning process and provides farm functionality to the user workfunctions. More...
|
|
struct | fft |
| This class abstracts the semantics of an FFT skeleton by exposing only the necessary information in its representation. More...
|
|
struct | fft< T, Span, tags::dif > |
| This class abstracts the semantics of a Decimation In Frequency (DIF) FFT skeleton by exposing only the necessary information in its representation. More...
|
|
struct | fft< T, Span, tags::dit > |
| This class abstracts the semantics of a Decimation In Time (DIT) FFT skeleton by exposing only the necessary information in its representation. More...
|
|
struct | fft_dif_wf |
| This workfunction is used for Decimation In Frequency FFT (DIF) computation. More...
|
|
struct | fft_dit_wf |
| This workfunction is used for Decimation In Time FFT (DIT) computation. More...
|
|
struct | gather |
| This class abstracts the semantics of a gather skeleton by exposing only the necessary information in its representation. More...
|
|
struct | hand_execute_impl |
| Execute a skeleton in place with a set of views. More...
|
|
struct | hand_execute_impl< stapl::skeletons::skeletons_impl::zip_reduce< 1, ZipOp, ReduceOp >, View > |
| Execute a zip_reduce with one view in place. More...
|
|
struct | inclusive_scan< Op, tags::binomial > |
| Binomial scan is one of the common implementations of MPI_Scan. More...
|
|
struct | inclusive_scan< Op, tags::hillis_steele > |
| Hillis Steele scan skeleton is a pointer-jumping based inclusive scan algorithm which has half the height of the scan algorithm in Joseph Jaja's book, but it performs operations and hence is not work optimal. More...
|
|
struct | inclusive_scan< Op, tags::jaja > |
| This scan skeleton is based on the algorithm given in An Introduction to Parallel Algorithms by Joseph Jaja, page 48. This algorithm's time complexity is . It consists of a reduction tree followed by a modified broadcast skeleton. This scan skeleton is an inclusive scan. More...
|
|
struct | is_tgv |
| Check if the given view is a paragraph_view. More...
|
|
struct | local_entry |
| Typed version of local_entry that holds the values that are stored in a local_env . More...
|
|
struct | local_entry_base |
| The base class for the entities stored in a local_env that can hold heterogeneous types. More...
|
|
struct | memento_element |
| a memento element is used in memento in order to reduce the compilation time by avoiding boost::bind. More...
|
|
struct | memento_element_disposer |
| Function object implementing the disposer concept defined by Boost.Intrusive. More...
|
|
struct | notify_map |
| This class abstracts the semantics of a notify_map skeleton by exposing only the necessary information in its representation. More...
|
|
class | notify_map_pd |
| A notify_map parametric dependency is similar to a map_pd , however, it waits for NotifCount notifications from the first NotifCount flows. More...
|
|
class | odd_even_merge_sort_pd |
| The oddevenmergesort parametric dependency defines the dependencies for each point in the global oddevenmergesort skeleton. At each local point either a minimum or a maximum will be computed depending on where this point is located in the global skeleton. This will be described in the Op. More...
|
|
class | paragraph_skeleton_manager |
| This is a wrapper over the core skeleton_manager that allows the creating of tasks in STAPL task graphs. More...
|
|
struct | param_deps_defaults |
| Provides the default implementation of methods required for all parametric dependencies in the framework. More...
|
|
struct | pointer_jumping |
| This class abstracts the semantics of pointer jumping skeleton by exposing only the necessary information in its representation. More...
|
|
class | pointer_jumping_pd |
| A pointer-jumping parametric dependency can be used in various skeletons. One good example is hillis_steele_scan in which scan is done in a non-work optimal but smaller tree. More...
|
|
class | pre_broadcast_pd |
| 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...
|
|
struct | reduce |
| This class abstracts the semantics of a reduce skeleton by exposing only the necessary information in its representation. More...
|
|
struct | reduce_to_pow_two |
| This class abstracts the semantics of a reduce to power-of-two skeleton by exposing only the necessary information in its representation. More...
|
|
class | reduce_to_pow_two_pd |
| This parametric dependency is used in the preprocessing phase of various algorithms that only accept power-of-two input sizes. More...
|
|
class | repeat |
| A repeat skeleton spawns a single skeleton for the number of times specified by SizeF . More...
|
|
struct | reverse_binary_tree< Op, Flows, Span, Tag, false, Filter, isPositionAware, SetResult > |
| This class abstracts the semantics of a non-complete binary tree by exposing only the necessary information in its representation. More...
|
|
struct | reverse_binary_tree< Op, Flows, Span, Tag, true, Filter, isPositionAware, SetResult > |
| This class abstracts the semantics of a reverse binary tree by exposing only the necessary information in its representation. More...
|
|
class | reverse_binary_tree_pd |
| A simple broadcast parametric dependency is usually used in combination with reverse_tree to define broadcast and defines the parametric dependency for each element in a broadcast tree. More...
|
|
struct | reverse_tree |
| This class abstracts the semantics of a reverse k-ary tree by exposing only the necessary information in its representation. More...
|
|
struct | scan< Op, tags::scan< Tag, tags::exclusive > > |
| Most of the exclusive scan skeletons cannot work directly on inputs with non-power-of-two sizes. As a result, we have to first convert the input to the closest power of two and then perform the scan operation. More...
|
|
struct | scan< Op, tags::scan< Tag, tags::inclusive > > |
| Most of the inclusive scan skeletons cannot work directly on inputs with non-power-of-two sizes. As a result, we have to first convert the input to the closest power of two and then perform the scan operation. More...
|
|
struct | scan_algorithm_tag_type |
| Determines the scan algorithm used. More...
|
|
class | scan_blelloch_broadcast_pd |
| Tis parametric dependency is used in the broadcast tree of Blelloch scan, in which each element applies the operation on inputs from the previous level of the tree and inputs from the reduction tree. Blelloch scan is an exclusive scan algorithm. More...
|
|
class | scan_broadcast_pd |
| One way to do an inclusive scan is to use the algorithm mentioned in An Introduction to Parallel Algorithms by Joseph Jaja, page 48. This parametric dependency represents the broadcast (top-down) traversal in the above mentioned algorithm. More...
|
|
class | scan_expand_from_pow_two_pd |
| An parametric dependency used in the postprocessing phase of arbitrary size scan skeletons. More...
|
|
class | scan_expand_from_pow_two_pd< Op, tags::scan< Tag, tags::exclusive > > |
| A scan expansion parametric dependency used for the postprocessing phase of exclusive scan skeletons. More...
|
|
class | scan_expand_from_pow_two_pd< Op, tags::scan< Tag, tags::inclusive > > |
| A scan expansion parametric dependency used for the postprocessing phase of inclusive scan skeletons. More...
|
|
struct | scatter |
| This class abstracts the semantics of a scatter skeleton by exposing only the necessary information in its representation. A scatter skeleton is simply a reverse binary tree with an operation which splits the input into two halves. More...
|
|
struct | serial |
| This class abstracts the semantics of an serial skeleton by exposing only the necessary information in its representation. More...
|
|
class | serial_pd |
| A serial_pd parametric dependency used in the serial skeleton. More...
|
|
class | set_result_pd |
| 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...
|
|
class | shifted_first_pd |
| This parametric dependency is used in the cases similar to the zip_pd , but whenever the reading from the first input flow is shifted by 1. More...
|
|
struct | sink_value |
| This class abstracts the semantics of a sink_value skeleton by exposing only the necessary information in its representation. More...
|
|
class | skeleton_traits< tuple< OptionalPreParams... >, OptionalParams... > |
| Skeleton traits define configurable properties of a skeleton. More...
|
|
class | spawn_visitor |
| spawn_visitor helps in spawning the elements of parametric dependencies by factoring out the task id and number of consumers of a task in this class. More...
|
|
class | stencil_2d_pd |
| In a 2D stencil, parametric dependencies are defined in such a way that each node depends on every 9 node in its surroundings including itself from the previous timestep. More...
|
|
class | tagged_skeleton |
| Tags a skeleton with a given Tag . More...
|
|
struct | tree |
| This class abstracts the semantics of a k-ary tree by exposing only the necessary information in its representation. More...
|
|
struct | zip |
| This class abstracts the semantics of a filtered zip skeleton by exposing only the necessary information in its representation. More...
|
|
class | zip_pd |
| A zip parametric dependency is usually used in zip skeleton. It sends input with the same index of each flow to the given Op . More...
|
|
struct | zip_reduce |
| This class abstracts the semantics of a zip_reduce skeleton by exposing only the necessary information in its representation. More...
|
|
This class abstracts the semantics of a reduce to location skeleton by exposing only the necessary information in its representation.
A reduce_to_locs skeleton first reduces the input and then broadcasts the result to all locations using a broadcast_to_locs
skeleton.
This abstraction not only makes the reconstruction of a reduce_to_locs skeleton easier, but also provides access to the underlying operation in the reduce skeleton. Furthermore, it reduces the symbol size for a reduce_to_locs skeleton, hence, reducing the total compilation time.
- Template Parameters
-
Op | the operation to be used while reducing the input. |
Flows | the flow to be used between the reduction and the broadcast_to_locs skeletons. |
Span | the iteration space for the elements in each level of the reduction skeleton. |
Tag | determines the type of reduction and broadcast to be used. |
SetResult | whether the skeleton should set the task results on the pg edge container or not |