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::inclusive_scan< Op, tags::jaja > Struct Template Reference

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 $O(log n)$. It consists of a reduction tree followed by a modified broadcast skeleton. This scan skeleton is an inclusive scan. More...

Public Member Functions

 inclusive_scan (Op const &op)
 
Op get_op () const
 

Public Types

using skeleton_tag_type = tags::scan< tags::jaja, tags::inclusive >
 
using base_type = decltype(skeletons::compose< flows::compose_flows::input_to_all >(skeletons::binary_tree< tags::left_skewed, flows::repeat_flows::output_from_all, spans::nearest_pow_two< spans::balanced<> >, true >(std::declval< Op >()), skeletons::reverse_tree< 2, flows::repeat_flows::scan_broadcast, spans::reverse_tree< spans::nearest_pow_two< spans::balanced<> >, tags::left_skewed > >(skeletons::scan_broadcast_pd(std::declval< Op >()))))
 

Detailed Description

template<typename Op>
struct stapl::skeletons::skeletons_impl::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 $O(log n)$. It consists of a reduction tree followed by a modified broadcast skeleton. This scan skeleton is an inclusive scan.

Template Parameters
Opthe operation to be used to compute the scan results
See also
flows::compose_flows::input_to_all
flows::repeat_flows::output_from_all
flows::repeat_flows::scan_broadcast
scan_broadcast_pd

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