grid interface available when on gpu More...
grid interface available when on gpu
| n_buf | number of template buffers |
| n_buf | number of template buffers |
Definition at line 121 of file map_vector_cuda_ker.cuh.
Public Types | |
| typedef vector_gpu_ker< T, layout_base > | self_type |
| typedef apply_transform< layout_base, T >::type | T_ |
| typedef int | yes_i_am_vector |
| it define that it is a vector | |
| typedef layout_base< T_ >::type | layout_type |
| Type of the encapsulation memory parameter. | |
| typedef grid_base< 1, T_, CudaMemory, typenamelayout_base< T_ >::type >::container | container |
| Object container for T, it is the return type of get_o it return a object type trough. | |
| typedef T_ | value_type |
| Type of the value the vector is storing. | |
| typedef int | yes_has_check_device_pointer |
| Indicate this structure has a function to check the device pointer. | |
Public Member Functions | |
| __device__ __host__ bool | check_bound (size_t v1) const |
| Check that the key is inside the grid. | |
| __device__ __host__ unsigned int | size () const |
| Return the size of the vector. | |
| __host__ __device__ size_t | size_local () const |
| __device__ __host__ unsigned int | capacity () const |
| return the maximum capacity of the vector before reallocation | |
| template<unsigned int p> | |
| __device__ __host__ auto | get (unsigned int id) const -> decltype(base.template get< p >(grid_key_dx< 1 >(0))) |
| Get an element of the vector. | |
| template<unsigned int p> | |
| __device__ __host__ auto | getProp (unsigned int id) const -> decltype(base.template get< p >(grid_key_dx< 1 >(0))) |
| Get an element of the vector. | |
| template<unsigned int p, typename key_type > | |
| __device__ __host__ auto | getProp (key_type id) const -> decltype(base.template get< p >(grid_key_dx< 1 >(0))) |
| Get an element of the vector. | |
| __device__ __host__ auto | get (unsigned int id) -> decltype(base.get_o(grid_key_dx< 1 >(id))) |
| Get an element of the vector. | |
| __device__ __host__ auto | get (unsigned int id) const -> const decltype(base.get_o(grid_key_dx< 1 >(id))) |
| Get an element of the vector. | |
| __device__ __host__ auto | get_o (unsigned int id) const -> decltype(base.get_o(grid_key_dx< 1 >(id))) |
| Get an element of the vector. | |
| __device__ __host__ auto | get_o (unsigned int id) -> decltype(base.get_o(grid_key_dx< 1 >(id))) |
| Get an element of the vector. | |
| auto | last () const -> decltype(base.get_o(grid_key_dx< 1 >(0))) |
| Get the last element of the vector. | |
| template<unsigned int p> | |
| __device__ __host__ auto | get (unsigned int id) -> decltype(base.template get< p >(grid_key_dx< 1 >(0))) |
| Get an element of the vector. | |
| auto | last () -> decltype(base.get_o(grid_key_dx< 1 >(0))) |
| Get the last element of the vector. | |
| vector_gpu_ker (int v_size, const grid_gpu_ker< 1, T_, layout_base, grid_sm< 1, void > > &cpy) | |
| vector_gpu_ker (const vector_gpu_ker_ref< T, layout_base > &vref) | |
| void | constructor_impl (int v_size, const grid_gpu_ker< 1, T_, layout_base, grid_sm< 1, void > > &cpy) |
| implementation of the constructor | |
| void | constructor_impl (int v_size, const grid_gpu_ker_ref< 1, T_, layout_base, grid_sm< 1, void > > &cpy) |
| implementation of the constructor | |
| __device__ void | set (int id, const container &obj) |
| Set the object id to obj. | |
| template<unsigned int p> | |
| __device__ __host__ void * | getPointer () |
| Get the pointer for the property p. | |
| template<unsigned int p> | |
| __device__ __host__ const void * | getPointer () const |
| Get the pointer for the property p. | |
| template<typename encap_S , unsigned int ... args> | |
| void | set_o (unsigned int i, const encap_S &obj) |
| It set an element of the vector from a object that is a subset of the vector properties. | |
| __device__ void | set (unsigned int id, const vector_gpu_ker< T_, layout_base > &v, unsigned int src) |
| Set the element of the vector v from another element of another vector. | |
| template<unsigned int ... prp> | |
| __device__ void | set (unsigned int id, const vector_gpu_ker< T_, layout_base > &v, unsigned int src) |
| Set the element of the vector v from another element of another vector. | |
| __host__ ite_gpu< 1 > | getGPUIterator (size_t n_thr=default_kernel_wg_threads_) const |
| Get an iterator for the GPU. | |
| ite_gpu< 1 > | getDomainIteratorGPU (size_t n_thr=default_kernel_wg_threads_) const |
| Get a domain iterator for the GPU. | |
| void | init () const |
| __host__ __device__ auto | value (unsigned int p) -> decltype(base.template get< 0 >(grid_key_dx< 1 >(0))) |
| ite_gpu< 1 > | getGPUIteratorTo (size_t stop, size_t n_thr=default_kernel_wg_threads_) const |
| Get an iterator for the GPU. | |
| __host__ vector_gpu_ker< T, layout_base > & | operator= (const vector_gpu_ker< T, layout_base > &v) |
| operator= this operator absorb the pointers, consider that this object wrap device pointers | |
| __device__ __host__ vector_gpu_ker< T, layout_base > & | getVector () |
| __device__ __host__ const vector_gpu_ker< T, layout_base > & | getVector () const |
| __device__ grid_gpu_ker< 1, T_, layout_base, grid_sm< 1, void > > & | getBase () |
| Return the base. | |
| void * | internal_get_size_pointer () |
| void | print_size () |
Data Fields | |
| unsigned int | v_size |
| grid_gpu_ker< 1, T_, layout_base, grid_sm< 1, void > > | base |
| 1-D static grid | |
| typedef grid_base<1,T_,CudaMemory,typenamelayout_base<T_>::type>::container openfpm::vector_gpu_ker< T, layout_base >::container |
Object container for T, it is the return type of get_o it return a object type trough.
Definition at line 157 of file map_vector_cuda_ker.cuh.
| typedef layout_base<T_>::type openfpm::vector_gpu_ker< T, layout_base >::layout_type |
Type of the encapsulation memory parameter.
Definition at line 153 of file map_vector_cuda_ker.cuh.
| typedef vector_gpu_ker<T,layout_base> openfpm::vector_gpu_ker< T, layout_base >::self_type |
Definition at line 123 of file map_vector_cuda_ker.cuh.
| typedef apply_transform<layout_base,T>::type openfpm::vector_gpu_ker< T, layout_base >::T_ |
Definition at line 125 of file map_vector_cuda_ker.cuh.
| typedef T_ openfpm::vector_gpu_ker< T, layout_base >::value_type |
Type of the value the vector is storing.
Definition at line 160 of file map_vector_cuda_ker.cuh.
| typedef int openfpm::vector_gpu_ker< T, layout_base >::yes_has_check_device_pointer |
Indicate this structure has a function to check the device pointer.
Definition at line 163 of file map_vector_cuda_ker.cuh.
| typedef int openfpm::vector_gpu_ker< T, layout_base >::yes_i_am_vector |
it define that it is a vector
Definition at line 150 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 382 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 386 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 390 of file map_vector_cuda_ker.cuh.
|
inline |
return the maximum capacity of the vector before reallocation
Definition at line 186 of file map_vector_cuda_ker.cuh.
|
inline |
Check that the key is inside the grid.
| key |
Definition at line 142 of file map_vector_cuda_ker.cuh.
|
inline |
implementation of the constructor
| v_size | number of elements |
Definition at line 400 of file map_vector_cuda_ker.cuh.
|
inline |
implementation of the constructor
| v_size | number of elements |
Definition at line 411 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
Get an element of the vector
| id | Element to get |
Definition at line 254 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
Get an element of the vector
| p | Property to get |
| id | Element to get |
Definition at line 358 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
Get an element of the vector
| id | Element to get |
Definition at line 275 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
Get an element of the vector
| p | Property to get |
| id | Element to get |
Definition at line 202 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
exactly as get, exist to keep the compatibility with grid
| id | Element to get |
Definition at line 323 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
exactly as get, exist to keep the compatibility with grid
| id | Element to get |
Definition at line 299 of file map_vector_cuda_ker.cuh.
|
inline |
|
inline |
Get a domain iterator for the GPU.
Definition at line 532 of file map_vector_cuda_ker.cuh.
|
inline |
Get an iterator for the GPU.
Definition at line 521 of file map_vector_cuda_ker.cuh.
|
inline |
Get an iterator for the GPU.
Definition at line 548 of file map_vector_cuda_ker.cuh.
|
inline |
Get the pointer for the property p.
| property | p |
copy the element
Definition at line 439 of file map_vector_cuda_ker.cuh.
|
inline |
Get the pointer for the property p.
| property | p |
copy the element
Definition at line 450 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
Get an element of the vector
| p | Property to get |
| id | Element to get |
Definition at line 240 of file map_vector_cuda_ker.cuh.
|
inline |
Get an element of the vector.
Get an element of the vector
| p | Property to get |
| id | Element to get |
Definition at line 223 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 570 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 575 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 538 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 590 of file map_vector_cuda_ker.cuh.
|
inline |
Get the last element of the vector.
Definition at line 375 of file map_vector_cuda_ker.cuh.
|
inline |
Get the last element of the vector.
Definition at line 340 of file map_vector_cuda_ker.cuh.
|
inline |
operator= this operator absorb the pointers, consider that this object wrap device pointers
| object | to copy |
Definition at line 562 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 592 of file map_vector_cuda_ker.cuh.
|
inline |
Set the object id to obj.
| id | element |
| obj | object (encapsulated) |
copy the element
Definition at line 423 of file map_vector_cuda_ker.cuh.
|
inline |
Set the element of the vector v from another element of another vector.
| id | element id |
| v | vector source |
| src | source element |
Definition at line 489 of file map_vector_cuda_ker.cuh.
|
inline |
Set the element of the vector v from another element of another vector.
| id | element id |
| v | vector source |
| src | source element |
Definition at line 507 of file map_vector_cuda_ker.cuh.
|
inline |
It set an element of the vector from a object that is a subset of the vector properties.
The number of properties in the source vector must be smaller than the destination all the properties of S must be mapped so if S has 3 properties 3 numbers for args are required
| encap_S | object that encapsulate the object |
| args | ids of the properties to map the object to |
| i | element to set |
| obj | object that encapsulate the object |
| v | source vector |
Definition at line 471 of file map_vector_cuda_ker.cuh.
|
inline |
Return the size of the vector.
Definition at line 170 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 175 of file map_vector_cuda_ker.cuh.
|
inline |
Definition at line 540 of file map_vector_cuda_ker.cuh.
|
mutable |
1-D static grid
Definition at line 133 of file map_vector_cuda_ker.cuh.
| unsigned int openfpm::vector_gpu_ker< T, layout_base >::v_size |
Actual size of the vector, warning: it is not the space allocated in grid grid size increase by a fixed amount every time we need a vector bigger than the actually allocated space
Definition at line 130 of file map_vector_cuda_ker.cuh.