Bolt
1.3
C++ template library with support for OpenCL
|
Functions | |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | bolt::cl::inclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, const std::string &user_code="") |
inclusive_scan calculates a running sum over a range of values, inclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. inclusive_scan requires associativity of the binary operation to parallelize the prefix sum. | |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | bolt::cl::inclusive_scan (InputIterator first, InputIterator last, OutputIterator result, const std::string &user_code="") |
template<typename InputIterator , typename OutputIterator , typename BinaryFunction > | |
OutputIterator | bolt::cl::inclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, BinaryFunction binary_op, const std::string &user_code="") |
inclusive_scan calculates a running sum over a range of values, inclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. inclusive_scan requires associativity of the binary operation to parallelize the prefix sum. | |
template<typename InputIterator , typename OutputIterator , typename BinaryFunction > | |
OutputIterator | bolt::cl::inclusive_scan (InputIterator first, InputIterator last, OutputIterator result, BinaryFunction binary_op, const std::string &user_code="") |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | bolt::cl::exclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, const std::string &user_code="") |
exclusive_scan calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. exclusive_scan requires associativity of the binary operation to parallelize it. | |
template<typename InputIterator , typename OutputIterator > | |
OutputIterator | bolt::cl::exclusive_scan (InputIterator first, InputIterator last, OutputIterator result, const std::string &user_code="") |
template<typename InputIterator , typename OutputIterator , typename T > | |
OutputIterator | bolt::cl::exclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, T init, const std::string &user_code="") |
exclusive_scan calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. exclusive_scan requires associativity of the binary operation to parallelize it. | |
template<typename InputIterator , typename OutputIterator , typename T > | |
OutputIterator | bolt::cl::exclusive_scan (InputIterator first, InputIterator last, OutputIterator result, T init, const std::string &user_code="") |
template<typename InputIterator , typename OutputIterator , typename T , typename BinaryFunction > | |
OutputIterator | bolt::cl::exclusive_scan (control &ctl, InputIterator first, InputIterator last, OutputIterator result, T init, BinaryFunction binary_op, const std::string &user_code="") |
exclusive_scan calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i is the running sum of all values less than i in the input range. exclusive_scan requires associativity of the binary operation to parallelize it. | |
template<typename InputIterator , typename OutputIterator , typename T , typename BinaryFunction > | |
OutputIterator | bolt::cl::exclusive_scan (InputIterator first, InputIterator last, OutputIterator result, T init, BinaryFunction binary_op, const std::string &user_code="") |
OutputIterator bolt::cl::exclusive_scan | ( | control & | ctl, |
InputIterator | first, | ||
InputIterator | last, | ||
OutputIterator | result, | ||
const std::string & | user_code = "" |
||
) |
exclusive_scan
calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i
is the running sum of all values less than i
in the input range. exclusive_scan requires associativity of the binary operation to parallelize it.
ctl | A Optional Bolt control object, to describe the environment under which the function runs. |
first | The first iterator in the input range to be scanned. |
last | The last iterator in the input range to be scanned. |
result | The first iterator in the output range. |
user_code | A client-specified string that is appended to the generated OpenCL kernel. |
InputIterator | An iterator signifying the range is used as input. |
OutputIterator | An iterator signifying the range is used as output. |
OutputIterator bolt::cl::exclusive_scan | ( | control & | ctl, |
InputIterator | first, | ||
InputIterator | last, | ||
OutputIterator | result, | ||
T | init, | ||
const std::string & | user_code = "" |
||
) |
exclusive_scan
calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i
is the running sum of all values less than i
in the input range. exclusive_scan requires associativity of the binary operation to parallelize it.
ctl | A Optional Bolt control object, to describe the environment under which the function runs. |
first | The first iterator in the input range to be scanned. |
last | The last iterator in the input range to be scanned. |
result | The first iterator in the output range. |
init | The value used to initialize the output scan sequence. |
user_code | A client-specified string that is appended to the generated OpenCL kernel. |
InputIterator | implements an input iterator. |
OutputIterator | implements an output iterator. |
T | is convertible to std::iterator_traits< OutputIterator >::value_type. |
OutputIterator bolt::cl::exclusive_scan | ( | control & | ctl, |
InputIterator | first, | ||
InputIterator | last, | ||
OutputIterator | result, | ||
T | init, | ||
BinaryFunction | binary_op, | ||
const std::string & | user_code = "" |
||
) |
exclusive_scan
calculates a running sum over a range of values, exclusive of the current value. The result value at iterator position i
is the running sum of all values less than i
in the input range. exclusive_scan requires associativity of the binary operation to parallelize it.
ctl | A Optional Bolt control object, to describe the environment under which the function runs. |
first | The first iterator in the input range to be scanned. |
last | The last iterator in the input range to be scanned. |
result | The first iterator in the output range. |
init | The value used to initialize the output scan sequence. |
binary_op | A functor object specifying the operation between two elements in the input range. |
user_code | A client-specified string that is appended to the generated OpenCL kernel. |
InputIterator | An iterator signifying the range is used as input. |
OutputIterator | An iterator signifying the range is used as output. |
T | is convertible to std::iterator_traits< OutputIterator >::value_type. |
BinaryFunction | implements a binary function; its result should be {{** Is ? **}}convertible to std::iterator_traits< OutputIterator >::value_type. |
OutputIterator bolt::cl::inclusive_scan | ( | control & | ctl, |
InputIterator | first, | ||
InputIterator | last, | ||
OutputIterator | result, | ||
const std::string & | user_code = "" |
||
) |
inclusive_scan
calculates a running sum over a range of values, inclusive of the current value. The result value at iterator position i
is the running sum of all values less than i
in the input range. inclusive_scan requires associativity of the binary operation to parallelize the prefix sum.
ctl | A Optional Bolt control object, to describe the environment under which the function runs. |
first | The first iterator in the input range to be scanned. |
last | The last iterator in the input range to be scanned. |
result | The first iterator in the output range. |
user_code | A client-specified string that is appended to the generated OpenCL kernel. |
InputIterator | An iterator signifying the range is used as input. |
OutputIterator | An iterator signifying the range is used as output. |
Example
OutputIterator bolt::cl::inclusive_scan | ( | control & | ctl, |
InputIterator | first, | ||
InputIterator | last, | ||
OutputIterator | result, | ||
BinaryFunction | binary_op, | ||
const std::string & | user_code = "" |
||
) |
inclusive_scan
calculates a running sum over a range of values, inclusive of the current value. The result value at iterator position i
is the running sum of all values less than i
in the input range. inclusive_scan requires associativity of the binary operation to parallelize the prefix sum.
ctl | A Optional Bolt control object, to describe the environment under which the function runs. |
first | The first iterator in the input range to be scanned. |
last | The last iterator in the input range to be scanned. |
result | The first iterator in the output range. |
binary_op | A functor object specifying the operation between two elements in the input range. |
user_code | A client-specified string that is appended to the generated OpenCL kernel. |
InputIterator | An iterator signifying the range is used as input. |
OutputIterator | An iterator signifying the range is used as output. |
Example