Bolt
1.1
C++ template library with support for OpenCL
|
Fuses transform and reduce operations together. More...
#include <bolt/cl/bolt.h>
#include <bolt/cl/device_vector.h>
#include <string>
#include <iostream>
#include <bolt/cl/detail/transform_reduce.inl>
Go to the source code of this file.
Namespaces | |
namespace | bolt |
Defining namespace for the Bolt project. | |
namespace | bolt::cl |
Namespace containing OpenCL related data types and functions. | |
Functions | |
template<typename InputIterator , typename UnaryFunction , typename T , typename BinaryFunction > | |
T | bolt::cl::transform_reduce (control &ctl, InputIterator first, InputIterator last, UnaryFunction transform_op, T init, BinaryFunction reduce_op, const std::string &user_code="") |
transform_reduce fuses transform and reduce operations together, increasing performance by reducing memory passes. | |
template<typename InputIterator , typename UnaryFunction , typename T , typename BinaryFunction > | |
T | bolt::cl::transform_reduce (InputIterator first, InputIterator last, UnaryFunction transform_op, T init, BinaryFunction reduce_op, const std::string &user_code="") |
Fuses transform and reduce operations together.