Complex tool to perform the link-list based on the "pos" array. This tool include the following steps:
More...
#include <CalcServer/LinkList.h>
|
static std::vector< cl_kernel > | compile (const std::string source, const std::vector< std::string > names, const std::string flags="") |
| Compile an OpenCL source code and generate the corresponding kernel.
|
|
static cl_kernel | compile_kernel (const std::string source, const std::string kernel_name, const std::string flags="") |
| Compile an OpenCL source code and generate the corresponding kernel.
|
|
Complex tool to perform the link-list based on the "pos" array. This tool include the following steps:
- Minimum and maximum positions computations
- Number of cells calculation
- "ihoc" array allocation
- "ihoc" and "icell" calculations
- Radix sort of "icell", computing permutation array "id_sorted" and "id_unsorted" as well.
- Note
- Hardcoded versions of the files CalcServer/LinkList.cl.in and CalcServer/LinkList.hcl.in are internally included as a text array.
◆ LinkList()
Aqua::CalcServer::LinkList::LinkList |
( |
const std::string |
tool_name, |
|
|
const std::string |
input = "pos" , |
|
|
bool |
once = false |
|
) |
| |
Constructor.
- Parameters
-
tool_name | Tool name. |
input | Input array to be used as the particles positions. |
once | Run this tool just once. Useful to make initializations. |
◆ ~LinkList()
Aqua::CalcServer::LinkList::~LinkList |
( |
| ) |
|
◆ _execute()
cl_event Aqua::CalcServer::LinkList::_execute |
( |
const std::vector< cl_event > |
events | ) |
|
|
protectedvirtual |
Execute the tool
- Parameters
-
events | List of events that shall be waited before safe execution |
- Returns
- OpenCL event to be waited before accesing the dependencies
Reimplemented from Aqua::CalcServer::Tool.
◆ setup()
void Aqua::CalcServer::LinkList::setup |
( |
| ) |
|
|
virtual |
The documentation for this class was generated from the following files:
- /home/pepe/SPH/Code/aquagpusph/include/CalcServer/LinkList.h
- /home/pepe/SPH/Code/aquagpusph/src/CalcServer/LinkList.cpp