STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
Classes | Functions
+ Collaboration diagram for Explicit Factories Internal:

Classes

struct  stapl::coarse_map_reduce_wf< Map, Reduce, R >
 Work function that implements the coarsened map reduce operation and reflects the result_type defined by the fine-grain reduce operation. More...
 
struct  stapl::coarse_map_reduce_wf< Map, Reduce, false >
 Work function that implements the coarsened map reduce operation and uses the struct result to determine the result_type because the fine-grain reduce operation does not reflect a result_type. More...
 
class  stapl::coarse_map_wf< MapWF >
 Work function that wraps a fine-grain map operation in a loop in order to process coarse-grain view elements provided to PARAGRAPHs that are instances of map computations. More...
 
struct  stapl::composition::my_container< T >
 Used in conjunction with mpi_messager to implement RDMA style transmission of edge_container values. Used to back edge values of type cm_res_view. More...
 
struct  stapl::composition::delete_disposer
 Function object implementing the disposer concept defined by Boost.Intrusive. Function operator signatures restricted to. More...
 
struct  stapl::composition::holder_recycler< T >
 List of buffers previously used by instances of ref_cnt_elem_holder maintained in place of deletion to allow reuse by future ref_cnt_elem_holder objects. More...
 
struct  stapl::composition::ref_cnt_elem_holder< Container >
 Class used to manage underlying storage for views of coarse_map_reduce. More...
 
class  stapl::composition::cm_res_view< Container >
 Used as the return value for coarse_map_wf. Implements concept of Array. More...
 
struct  stapl::composition::find_result_storage< Result >
 Attempts to transparently reuse the underlying storage of a workfunction's input views (when they are not mutated). Enables a functional programming model, while avoiding the heap allocation and locality loss drawbacks often associated with this model. More...
 
struct  stapl::composition::component_holder< Cid >
 Implements required interface of the old views to provide a components class with the method get_id. More...
 
struct  stapl::composition::get_element_func< T >
 Function object which returns the application of operator[] on the input parameter, passing a data member as the index argument. More...
 
struct  stapl::composition::repeat_view< View >
 Defines a one dimensional view where every element is a light wrapper around a copy of the underlying view of type View. More...
 
struct  stapl::composition::map_subview< BaseView >
 Returned by map_view as index into a coarsened portion of return value it represents. Typically is all the elements on a given location. Used to facilitate inter-PARAGRAPH data flow. More...
 
struct  stapl::composition::map_view< T >
 A view that is the result of the functional map operation map_func. More...
 
struct  stapl::composition::simple_wf
 Workfunction that receives a view and returns it. Effectively an identify functor. More...
 
struct  stapl::composition::m_mr_transform_wf
 Workfunction that is one possible algorithmic coarsening of the nested skeleton map_func(functional::map_reduce(), ...). More...
 
struct  stapl::composition::block_matvec_wf
 A coarsened workfunction for matrix vector multiplication that operates on a block of a two dimensional matrix and the vector portion corresponding to it. More...
 
struct  stapl::composition::nest_map_mr_task_mapper
 Custom key mapper passed to the Directory when using the nest_map_mr_factory factory within a PARAGRAPH. More...
 
class  stapl::detail::counter_receive_notify_callback
 Notifier used by custom termination detection for composition::nest_map_mr_factory. More...
 
struct  stapl::detail::terminator_initializer< composition::nest_map_mr_factory >
 Partial specialization to enable custom termination detection for composition::nest_map_mr_factory. More...
 
struct  stapl::choose_wf< View, b_coarse >
 Default implementation of a functor to choose between fine-grain and coarse-grain work functions when specifying the tasks of a PARAGRAPH. More...
 
struct  stapl::choose_wf< View, true >
 Default implementation of a functor to choose between fine-grain and coarse-grain work functions when specifying the tasks of a PARAGRAPH. More...
 
struct  stapl::use_coarse
 Implements the function operator to return the coarse-grained work function that will be used in a task specified by a factory. More...
 
struct  stapl::choose_wf< partitioned_mix_view< View, Part >, false >
 Specialization for factories that receive coarsened views for which they will specify tasks. More...
 
struct  stapl::choose_wf< composition::map_view< T > >
 Specialization for factories that receive a composition::map_view for which they will specify tasks. More...
 
struct  stapl::choose_wf< detail::row_slice_view< MTLRowSlice > >
 Specialization for factories that receive a detail::row_slice_view for which they will specify tasks. More...
 
struct  stapl::paragraph_impl::tree_info
 Represents the statistics of a balanced binary tree of tasks that is part of a PARAGRAPH performing a reduction or prefix scan on a view. More...
 
struct  stapl::paragraph_impl::contains_leaf
 Work function used when traversing the set of trees to determine which tree contains the task to process the specified view element. More...
 

Functions

int stapl::paragraph_impl::compute_combine_trees (float const &n, std::vector< tree_info > &trees)
 Determines the set of balanced binary trees that are needed to represent a reduction of a specified number of view elements. More...
 

Detailed Description

Implementations

Function Documentation

◆ compute_combine_trees()

int stapl::paragraph_impl::compute_combine_trees ( float const &  n,
std::vector< tree_info > &  trees 
)

Determines the set of balanced binary trees that are needed to represent a reduction of a specified number of view elements.

Parameters
nThe number of view elements to be processed. A real number is provided to avoid casting within the function before calling std::log2.
treesEmpty vector that will be populated with the statistics of the trees to be used when generating the task graph.