OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
grid_gpu_ker_ref< dim, T, layout_base, linearizer > Class Template Reference

Detailed Description

template<unsigned int dim, typename T, template< typename > class layout_base, typename linearizer>
class grid_gpu_ker_ref< dim, T, layout_base, linearizer >

Definition at line 493 of file map_grid_cuda_ker.cuh.

Public Types

typedef int yes_i_am_grid
 it define that it is a grid
 
typedef T value_type
 Type of the value the vector is storing.
 

Public Member Functions

__device__ __host__ grid_gpu_ker_ref (grid_gpu_ker< dim, T, layout_base, linearizer > &ggk)
 
__device__ __host__ const grid_sm< dim, void > & getGrid () const
 
__device__ __host__ size_t size () const
 
template<unsigned int p, typename ids_type >
__device__ __host__ auto get (const grid_key_dx< dim, ids_type > &v1) -> decltype(ggk.template get< p >(v1))
 
template<unsigned int p, typename ids_type >
__device__ __host__ auto get (const grid_key_dx< dim, ids_type > &v1) const -> decltype(ggk.template get< p >(v1))
 
template<unsigned int p>
__device__ __host__ auto get (const size_t lin_id) -> decltype(ggk.template get< p >(lin_id))
 
template<unsigned int p>
__device__ __host__ auto get (size_t lin_id) const -> decltype(ggk.template get< p >(lin_id))
 
template<typename Tk >
__device__ auto get_o (const grid_key_dx< dim, Tk > &v1) -> decltype(ggk.get_o(v1))
 
template<typename Tk >
__device__ auto get_o (const grid_key_dx< dim, Tk > &v1) const -> decltype(ggk.get_o(v1))
 
__device__ void set (const grid_key_dx< dim > &key1, const grid_gpu_ker< dim, T_, layout_base, linearizer > &g, const grid_key_dx< dim > &key2)
 
template<unsigned int ... prp>
__device__ void set (const grid_key_dx< dim > &key1, const grid_gpu_ker< dim, T_, layout_base, linearizer > &g, const grid_key_dx< dim > &key2)
 
template<typename Memory >
__device__ void set (grid_key_dx< dim > key1, const encapc< 1, T, Memory > &obj)
 
template<unsigned int p>
__device__ __host__ void * getPointer ()
 
template<unsigned int p>
__device__ __host__ const void * getPointer () const
 
grid_gpu_ker< dim, T, layout_base, linearizer > & operator= (const grid_gpu_ker< dim, T, layout_base, linearizer > &g)
 
struct ite_gpu< dim > getGPUIterator (grid_key_dx< dim > &key1, grid_key_dx< dim > &key2, size_t n_thr=default_kernel_wg_threads_) const
 
__device__ __host__ layout & get_data_ ()
 
__device__ __host__ const layout & get_data_ () const
 
const grid_gpu_ker_reftoKernel () const
 

Static Public Attributes

static constexpr unsigned int dims = dim
 expose the dimansionality as a static const
 

Private Types

typedef apply_transform< layout_base, T >::type T_
 
typedef layout_base< T_ >::type layout
 

Private Attributes

grid_gpu_ker< dim, T, layout_base, linearizer > & ggk
 

Friends

class grid_gpu_ker< dim, T, layout_base, linearizer >
 

Member Typedef Documentation

◆ layout

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
typedef layout_base<T_>::type grid_gpu_ker_ref< dim, T, layout_base, linearizer >::layout
private

Definition at line 499 of file map_grid_cuda_ker.cuh.

◆ T_

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
typedef apply_transform<layout_base,T>::type grid_gpu_ker_ref< dim, T, layout_base, linearizer >::T_
private

Definition at line 497 of file map_grid_cuda_ker.cuh.

◆ value_type

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
typedef T grid_gpu_ker_ref< dim, T, layout_base, linearizer >::value_type

Type of the value the vector is storing.

Definition at line 507 of file map_grid_cuda_ker.cuh.

◆ yes_i_am_grid

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
typedef int grid_gpu_ker_ref< dim, T, layout_base, linearizer >::yes_i_am_grid

it define that it is a grid

Definition at line 504 of file map_grid_cuda_ker.cuh.

Constructor & Destructor Documentation

◆ grid_gpu_ker_ref() [1/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
__device__ __host__ grid_gpu_ker_ref< dim, T, layout_base, linearizer >::grid_gpu_ker_ref ( )
inline

Definition at line 512 of file map_grid_cuda_ker.cuh.

◆ grid_gpu_ker_ref() [2/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
__device__ __host__ grid_gpu_ker_ref< dim, T, layout_base, linearizer >::grid_gpu_ker_ref ( grid_gpu_ker< dim, T, layout_base, linearizer > &  ggk)
inline

Definition at line 515 of file map_grid_cuda_ker.cuh.

Member Function Documentation

◆ get() [1/4]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<unsigned int p, typename ids_type >
__device__ __host__ auto grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get ( const grid_key_dx< dim, ids_type > &  v1) -> decltype(ggk.template get<p>(v1))
inline

Definition at line 531 of file map_grid_cuda_ker.cuh.

◆ get() [2/4]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<unsigned int p, typename ids_type >
__device__ __host__ auto grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get ( const grid_key_dx< dim, ids_type > &  v1) const -> decltype(ggk.template get<p>(v1))
inline

Definition at line 537 of file map_grid_cuda_ker.cuh.

◆ get() [3/4]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<unsigned int p>
__device__ __host__ auto grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get ( const size_t  lin_id) -> decltype(ggk.template get<p>(lin_id))
inline

Definition at line 543 of file map_grid_cuda_ker.cuh.

◆ get() [4/4]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<unsigned int p>
__device__ __host__ auto grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get ( size_t  lin_id) const -> decltype(ggk.template get<p>(lin_id))
inline

Definition at line 549 of file map_grid_cuda_ker.cuh.

◆ get_data_() [1/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
__device__ __host__ layout & grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get_data_ ( )
inline

Definition at line 604 of file map_grid_cuda_ker.cuh.

◆ get_data_() [2/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
__device__ __host__ const layout & grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get_data_ ( ) const
inline

Definition at line 609 of file map_grid_cuda_ker.cuh.

◆ get_o() [1/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<typename Tk >
__device__ auto grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get_o ( const grid_key_dx< dim, Tk > &  v1) -> decltype(ggk.get_o(v1))
inline

Definition at line 555 of file map_grid_cuda_ker.cuh.

◆ get_o() [2/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<typename Tk >
__device__ auto grid_gpu_ker_ref< dim, T, layout_base, linearizer >::get_o ( const grid_key_dx< dim, Tk > &  v1) const -> decltype(ggk.get_o(v1))
inline

Definition at line 561 of file map_grid_cuda_ker.cuh.

◆ getGPUIterator()

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
struct ite_gpu< dim > grid_gpu_ker_ref< dim, T, layout_base, linearizer >::getGPUIterator ( grid_key_dx< dim > &  key1,
grid_key_dx< dim > &  key2,
size_t  n_thr = default_kernel_wg_threads_ 
) const
inline

Definition at line 599 of file map_grid_cuda_ker.cuh.

◆ getGrid()

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
__device__ __host__ const grid_sm< dim, void > & grid_gpu_ker_ref< dim, T, layout_base, linearizer >::getGrid ( ) const
inline

Definition at line 520 of file map_grid_cuda_ker.cuh.

◆ getPointer() [1/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<unsigned int p>
__device__ __host__ void * grid_gpu_ker_ref< dim, T, layout_base, linearizer >::getPointer ( )
inline

Definition at line 582 of file map_grid_cuda_ker.cuh.

◆ getPointer() [2/2]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<unsigned int p>
__device__ __host__ const void * grid_gpu_ker_ref< dim, T, layout_base, linearizer >::getPointer ( ) const
inline

Definition at line 587 of file map_grid_cuda_ker.cuh.

◆ operator=()

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
grid_gpu_ker< dim, T, layout_base, linearizer > & grid_gpu_ker_ref< dim, T, layout_base, linearizer >::operator= ( const grid_gpu_ker< dim, T, layout_base, linearizer > &  g)
inline

Definition at line 592 of file map_grid_cuda_ker.cuh.

◆ set() [1/3]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
__device__ void grid_gpu_ker_ref< dim, T, layout_base, linearizer >::set ( const grid_key_dx< dim > &  key1,
const grid_gpu_ker< dim, T_, layout_base, linearizer > &  g,
const grid_key_dx< dim > &  key2 
)
inline

Definition at line 567 of file map_grid_cuda_ker.cuh.

◆ set() [2/3]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<unsigned int ... prp>
__device__ void grid_gpu_ker_ref< dim, T, layout_base, linearizer >::set ( const grid_key_dx< dim > &  key1,
const grid_gpu_ker< dim, T_, layout_base, linearizer > &  g,
const grid_key_dx< dim > &  key2 
)
inline

Definition at line 572 of file map_grid_cuda_ker.cuh.

◆ set() [3/3]

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
template<typename Memory >
__device__ void grid_gpu_ker_ref< dim, T, layout_base, linearizer >::set ( grid_key_dx< dim >  key1,
const encapc< 1, T, Memory > &  obj 
)
inline

Definition at line 577 of file map_grid_cuda_ker.cuh.

◆ size()

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
__device__ __host__ size_t grid_gpu_ker_ref< dim, T, layout_base, linearizer >::size ( ) const
inline

Definition at line 525 of file map_grid_cuda_ker.cuh.

◆ toKernel()

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
const grid_gpu_ker_ref & grid_gpu_ker_ref< dim, T, layout_base, linearizer >::toKernel ( ) const
inline

Definition at line 614 of file map_grid_cuda_ker.cuh.

Friends And Related Symbol Documentation

◆ grid_gpu_ker< dim, T, layout_base, linearizer >

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
friend class grid_gpu_ker< dim, T, layout_base, linearizer >
friend

Definition at line 614 of file map_grid_cuda_ker.cuh.

Field Documentation

◆ dims

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
constexpr unsigned int grid_gpu_ker_ref< dim, T, layout_base, linearizer >::dims = dim
staticconstexpr

expose the dimansionality as a static const

Definition at line 510 of file map_grid_cuda_ker.cuh.

◆ ggk

template<unsigned int dim, typename T , template< typename > class layout_base, typename linearizer >
grid_gpu_ker<dim,T,layout_base,linearizer>& grid_gpu_ker_ref< dim, T, layout_base, linearizer >::ggk
private

Definition at line 495 of file map_grid_cuda_ker.cuh.


The documentation for this class was generated from the following file: