Bolt  1.1
C++ template library with support for OpenCL
Namespaces | Macros | Functions
transform_reduce_range.h File Reference

Takes a start index and extent as the range to iterate. More...

#include <bolt/transform_reduce.h>

Go to the source code of this file.

Namespaces

namespace  bolt
 Defining namespace for the Bolt project.
 
namespace  bolt::amp
 Namespace containing AMP related data types and functions.
 

Macros

#define VW   1
 
#define BARRIER(W)
 
#define REDUCE_STEP(_IDX, _W)
 

Functions

template<typename outputT , int Rank, typename UnaryFunction , typename BinaryFunction >
outputT bolt::amp::transform_reduce_range (concurrency::accelerator_view av, concurrency::index< Rank > origin, concurrency::extent< Rank > ext, UnaryFunction transform_op, outputT init, BinaryFunction reduce_op)
 
template<typename outputT , int Rank, typename UnaryFunction , typename BinaryFunction >
outputT bolt::amp::transform_reduce_range (concurrency::index< Rank > origin, concurrency::extent< Rank > ext, UnaryFunction transform_op, outputT init, BinaryFunction reduce_op)
 

Detailed Description

Takes a start index and extent as the range to iterate.

Macro Definition Documentation

#define REDUCE_STEP (   _IDX,
  _W 
)
Value:
if (_IDX < _W) tiled_data[_IDX] = reduce_op(tiled_data[_IDX], tiled_data[_IDX+_W]); \
BARRIER(_W)