26#ifndef LINKLIST_H_INCLUDED
27#define LINKLIST_H_INCLUDED
73 LinkList(
const std::string tool_name,
74 const std::string input =
"r",
75 const std::string input_min =
"r_min",
76 const std::string input_max =
"r_max",
77 const std::string ihoc =
"ihoc",
78 const std::string icell =
"icell",
79 const std::string n_cells =
"n_cells",
80 const std::string permutations =
"id_unsorted",
81 const std::string inv_permutations =
"id_sorted",
82 bool recompute_grid =
true,
83 const std::string sorter =
"radix-sort",
125 cl_event
_execute(
const std::vector<cl_event> events);
128 inline uivec4 nCells32()
const {
130 for (
unsigned int i = 0; i < 4; i++)
140 std::string _input_name;
143 std::string _input_min_name;
146 std::string _input_max_name;
149 std::string _ihoc_name;
152 std::string _icell_name;
155 std::string _n_cells_name;
170 bool _recompute_minmax;
182 std::vector<void*> _ihoc_args;
191 std::vector<void*> _icell_args;
200 std::vector<void*> _ll_args;
204 cl_event _user_event;
#define uivec4
Definition LinkList.hcl.in:41
#define ulvec4
Definition LinkList.hcl.in:45
Reductions, like scans, prefix sums, maximum or minimum, etc... (See Aqua::CalcServer::Reduction for ...
LinkList(const std::string tool_name, const std::string input="r", const std::string input_min="r_min", const std::string input_max="r_max", const std::string ihoc="ihoc", const std::string icell="icell", const std::string n_cells="n_cells", const std::string permutations="id_unsorted", const std::string inv_permutations="id_sorted", bool recompute_grid=true, const std::string sorter="radix-sort", bool once=false)
Definition LinkList.cpp:47
void setup()
Definition LinkList.cpp:137
void allocate()
Allocate the "ihoc" array.
Definition LinkList.cpp:235
cl_event _execute(const std::vector< cl_event > events)
Definition LinkList.cpp:327
void setVariables()
Update the changed variables.
Definition LinkList.cpp:274
void nCells()
Compute the number of cells.
~LinkList()
Definition LinkList.cpp:108
cl_event getUserEvent() const
Get the user event generated by this tool to mark when ncells have been successfully computed and the...
Definition LinkList.hpp:99
Reductions, like scans, prefix sums, maximum or minimum, etc...
Definition Reduction.hpp:45
Calculation server name space.
Definition Assert.cpp:32
Main AQUAgpusph namespace.
Definition ArgumentsManager.cpp:50
Tdst narrow_cast(Torg v)
Cast a value, checking that it is not overflowing.
Definition AuxiliarMethods.hpp:414
Set of definitions and macros related with the implementation.