26#ifndef REDUCTION_H_INCLUDED
27#define REDUCTION_H_INCLUDED
72 const std::string input_name,
73 const std::string output_name,
74 const std::string operation,
75 const std::string null_val,
96 inline size_t nSteps()
const {
return _global_work_sizes.size(); }
114 cl_event
_execute(
const std::vector<cl_event> events);
141 const std::string flags(
const size_t local_size);
144 std::string _input_name;
146 std::string _output_name;
148 std::string _operation;
150 std::string _null_val;
161 std::vector<cl_kernel> _kernels;
164 std::vector<size_t> _global_work_sizes;
166 std::vector<size_t> _local_work_sizes;
168 std::vector<size_t> _number_groups;
170 std::vector<size_t> _n;
173 std::vector<cl_mem> _mems;
177 cl_event _user_event;
The calculation main entry point. (See Aqua::CalcServer::CalcServer for details)
OpenCL kernel kernel based tool. (see Aqua::CalcServer::Kernel for details)
void name(const std::string tool_name)
Definition Tool.hpp:66
Reduction(const std::string name, const std::string input_name, const std::string output_name, const std::string operation, const std::string null_val, bool once=false)
Reduction definition.
Definition Reduction.cpp:43
cl_event getUserEvent() const
Get the user event generated by this tool to mark when is finished.
Definition Reduction.hpp:107
~Reduction()
Destructor.
Definition Reduction.cpp:60
void setup()
Initialize the tool.
Definition Reduction.cpp:79
size_t nSteps() const
Number of steps needed.
Definition Reduction.hpp:96
cl_event _execute(const std::vector< cl_event > events)
Definition Reduction.cpp:143
Calculation server name space.
Definition Assert.cpp:32
Main AQUAgpusph namespace.
Definition ArgumentsManager.cpp:50