STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Static Public Member Functions | Public Types
stapl::skeletons::skeletons_impl::hand_execute_impl< stapl::skeletons::skeletons_impl::zip_reduce< 1, ZipOp, ReduceOp >, View > Struct Template Reference

Execute a zip_reduce with one view in place. More...

Static Public Member Functions

template<typename Skeleton , typename V >
static result_type execute (Skeleton &&skel, V &&view)
 

Public Types

using result_type = decltype(std::declval< ReduceOp >()(std::declval< zip_value_type >(), std::declval< zip_value_type >()))
 

Detailed Description

template<typename ZipOp, typename ReduceOp, typename View>
struct stapl::skeletons::skeletons_impl::hand_execute_impl< stapl::skeletons::skeletons_impl::zip_reduce< 1, ZipOp, ReduceOp >, View >

Execute a zip_reduce with one view in place.

This implementation requires that identity_value is defined for the reduction operator. This is for two reasons: 1. This method is SPMD and thus there needs to be a way to incorporate an empty location's result without affecting the globally reduced value. 2. It is not clear how to have a preamble that only applies the zip operator to the first element, and then skips the first element for the main loop, since there are nested loops.

Template Parameters
ZipOpThe zip operator of the skeleton
ReduceOpThe reduction operator of the skeleton
ViewThe single view to use as the source of data

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