26#ifndef REDUCTION_H_INCLUDED
27#define REDUCTION_H_INCLUDED
69 const std::string input_name,
70 const std::string output_name,
71 const std::string operation,
72 const std::string null_val,
93 unsigned int nSteps() {
return _global_work_sizes.size(); }
100 cl_event
_execute(
const std::vector<cl_event> events);
127 const std::string flags(
const size_t local_size);
130 std::string _input_name;
132 std::string _output_name;
134 std::string _operation;
136 std::string _null_val;
147 std::vector<cl_kernel> _kernels;
150 std::vector<size_t> _global_work_sizes;
152 std::vector<size_t> _local_work_sizes;
154 std::vector<size_t> _number_groups;
156 std::vector<size_t> _n;
159 std::vector<cl_mem> _mems;
The calculation main entry point. (See Aqua::CalcServer::CalcServer for details)
Reductions, like scans, prefix sums, maximum or minimum, etc...
Definition: Reduction.h:43
unsigned int nSteps()
Number of steps needed.
Definition: Reduction.h:93
~Reduction()
Destructor.
Definition: Reduction.cpp:58
void setup()
Initialize the tool.
Definition: Reduction.cpp:75
cl_event _execute(const std::vector< cl_event > events)
Definition: Reduction.cpp:93
OpenCL kernel kernel based tool. (see Aqua::CalcServer::Kernel for details)
Main AQUAgpusph namespace.
Definition: ArgumentsManager.cpp:45