Given the decomposition it create an iterator. More...
Given the decomposition it create an iterator.
Iterator across the local elements of the distributed grid
dec | Decomposition type |
Definition at line 60 of file grid_dist_id_iterator_gpu.cuh.
Public Member Functions | |
grid_dist_id_iterator_gpu (deviceGrids &loc_grids, Decomposition &dec, const size_t(&sz)[Decomposition::dims]) | |
Copy operator=. | |
grid_dist_id_iterator_gpu (deviceGrids &loc_grids, Decomposition &dec, const size_t(&sz)[Decomposition::dims], grid_key_dx< Decomposition::dims > start, grid_key_dx< Decomposition::dims > stop) | |
Constructor of the distributed grid iterator. | |
void | setGPUInsertBuffer (int nSlot) |
The the number of maximum inserts each GPU block can do. | |
void | setBlockThreads (size_t nthr) |
Set the number of threads for each block. | |
bool | isNextGrid () |
Return true if we point to a valid grid. | |
size_t | getGridId () |
Return the index of the grid in which we are iterating. | |
void | nextGrid () |
next grid | |
Decomposition::stype | getSpacing (size_t i) |
Get the spacing of the grid. | |
template<unsigned int impl = 0, typename func_t , typename ... argsType> | |
void | launch (func_t functor, argsType ... args) |
Launch a functor with a particular kernel. | |
grid_key_dx< Decomposition::dims > | getStart () |
Get the starting point of the sub-grid we are iterating. | |
grid_key_dx< Decomposition::dims > | getStop () |
Get the starting point of the sub-grid we are iterating. | |
Private Attributes | |
size_t | g_c |
grid list counter | |
openfpm::vector< GBoxes< Decomposition::dims > > | gdb_ext |
Extension of each grid: domain and ghost + domain. | |
grid_key_dx< Decomposition::dims > | start |
start key | |
grid_key_dx< Decomposition::dims > | stop |
stop key | |
deviceGrids & | loc_grids |
Local device grids. | |
size_t | n_thr |
number of threads to launch the kernels | |
int | nSlot = -1 |
Maximum number of insertions for each GPU block. | |
Decomposition::stype | spacing [Decomposition::dims] |
Spacing. | |
|
inline |
Copy operator=.
tmp | iterator to copy |
Copy constructor
tmp | iterator to copy |
Constructor of the distributed grid iterator
dec | Decomposition |
sz | size of the grid |
Definition at line 124 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Constructor of the distributed grid iterator.
dec | Decomposition |
sz | size of the grid |
start | point |
stop | point |
Definition at line 146 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Definition at line 156 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Return the index of the grid in which we are iterating.
Definition at line 194 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Get the spacing of the grid.
i |
Definition at line 214 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Get the starting point of the sub-grid we are iterating.
Definition at line 293 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Get the starting point of the sub-grid we are iterating.
Definition at line 303 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Return true if we point to a valid grid.
Definition at line 185 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Launch a functor with a particular kernel.
functor | function kernel |
argsType | arguments |
Definition at line 226 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
next grid
Definition at line 203 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
Set the number of threads for each block.
nthr | number of threads for each block |
Definition at line 175 of file grid_dist_id_iterator_gpu.cuh.
|
inline |
The the number of maximum inserts each GPU block can do.
nSlot | maximum number of insert |
Definition at line 165 of file grid_dist_id_iterator_gpu.cuh.
|
private |
grid list counter
Definition at line 63 of file grid_dist_id_iterator_gpu.cuh.
|
private |
Extension of each grid: domain and ghost + domain.
Definition at line 66 of file grid_dist_id_iterator_gpu.cuh.
|
private |
Local device grids.
Definition at line 75 of file grid_dist_id_iterator_gpu.cuh.
|
private |
number of threads to launch the kernels
Definition at line 78 of file grid_dist_id_iterator_gpu.cuh.
|
private |
Maximum number of insertions for each GPU block.
Definition at line 81 of file grid_dist_id_iterator_gpu.cuh.
|
private |
Spacing.
Definition at line 84 of file grid_dist_id_iterator_gpu.cuh.
|
private |
start key
Definition at line 69 of file grid_dist_id_iterator_gpu.cuh.
|
private |
stop key
Definition at line 72 of file grid_dist_id_iterator_gpu.cuh.