OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
openfpm::vector_gpu_ker_ref< T, layout_base > Struct Template Reference

grid interface available when on gpu More...

Detailed Description

template<typename T, template< typename > class layout_base>
struct openfpm::vector_gpu_ker_ref< T, layout_base >

grid interface available when on gpu

Template Parameters
n_bufnumber of template buffers

Definition at line 636 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
 
typedef layout_base< T_ >::type layout_type
 
typedef grid_base< 1, T_, CudaMemory, typenamelayout_base< T_ >::type >::container container
 
typedef T_ value_type
 
typedef int yes_has_check_device_pointer
 

Public Member Functions

__device__ __host__ unsigned int size () const
 
__host__ __device__ size_t size_local () const
 
__device__ __host__ unsigned int capacity () const
 
template<unsigned int p>
__device__ __host__ auto get (unsigned int id) const -> decltype(vref.template get< p >(id))
 
__device__ __host__ auto get (unsigned int id) -> decltype(vref.get(id))
 
__device__ __host__ auto get (unsigned int id) const -> decltype(vref.get(id))
 
__device__ __host__ auto get_o (unsigned int id) const -> decltype(vref.get_o(id))
 
__device__ __host__ auto get_o (unsigned int id) -> decltype(vref.get_o(id))
 
auto last () const -> decltype(vref.last())
 
template<unsigned int p>
__device__ __host__ auto get (unsigned int id) -> decltype(vref.template get< p >(id))
 
auto last () -> decltype(vref.last())
 
 vector_gpu_ker_ref (vector_gpu_ker< T, layout_base > &vref)
 
__device__ void set (int id, const container &obj)
 
template<unsigned int p>
__device__ __host__ void * getPointer ()
 
template<unsigned int p>
__device__ __host__ const void * getPointer () const
 
template<typename encap_S , unsigned int ... args>
void set_o (unsigned int i, const encap_S &obj)
 
__device__ void set (unsigned int id, const vector_gpu_ker< T_, layout_base > &v, unsigned int src)
 
template<unsigned int ... prp>
__device__ void set (unsigned int id, const vector_gpu_ker< T_, layout_base > &v, unsigned int src)
 
__host__ ite_gpu< 1 > getGPUIterator (size_t n_thr=default_kernel_wg_threads_) const
 
ite_gpu< 1 > getGPUIteratorTo (size_t stop, size_t n_thr=default_kernel_wg_threads_) const
 Get an iterator for the GPU.
 
vector_gpu_ker< T, layout_base > & getVector ()
 
const vector_gpu_ker< T, layout_base > & getVector () const
 
__host__ vector_gpu_ker_ref< T, layout_base > & operator= (const vector_gpu_ker< T, layout_base > &v)
 
__device__ grid_gpu_ker< 1, T_, layout_base, grid_sm< 1, void > > & getBase ()
 
pointer_check check_device_pointer (void *ptr)
 
void * internal_get_size_pointer ()
 
void print_size ()
 

Data Fields

vector_gpu_ker< T, layout_base > & vref
 vector reference
 

Member Typedef Documentation

◆ container

template<typename T , template< typename > class layout_base>
typedef grid_base<1,T_,CudaMemory,typenamelayout_base<T_>::type>::container openfpm::vector_gpu_ker_ref< T, layout_base >::container

Definition at line 651 of file map_vector_cuda_ker.cuh.

◆ layout_type

template<typename T , template< typename > class layout_base>
typedef layout_base<T_>::type openfpm::vector_gpu_ker_ref< T, layout_base >::layout_type

Definition at line 649 of file map_vector_cuda_ker.cuh.

◆ self_type

template<typename T , template< typename > class layout_base>
typedef vector_gpu_ker<T,layout_base> openfpm::vector_gpu_ker_ref< T, layout_base >::self_type

Definition at line 638 of file map_vector_cuda_ker.cuh.

◆ T_

template<typename T , template< typename > class layout_base>
typedef apply_transform<layout_base,T>::type openfpm::vector_gpu_ker_ref< T, layout_base >::T_

Definition at line 640 of file map_vector_cuda_ker.cuh.

◆ value_type

template<typename T , template< typename > class layout_base>
typedef T_ openfpm::vector_gpu_ker_ref< T, layout_base >::value_type

Definition at line 653 of file map_vector_cuda_ker.cuh.

◆ yes_has_check_device_pointer

template<typename T , template< typename > class layout_base>
typedef int openfpm::vector_gpu_ker_ref< T, layout_base >::yes_has_check_device_pointer

Definition at line 655 of file map_vector_cuda_ker.cuh.

◆ yes_i_am_vector

template<typename T , template< typename > class layout_base>
typedef int openfpm::vector_gpu_ker_ref< T, layout_base >::yes_i_am_vector

Definition at line 647 of file map_vector_cuda_ker.cuh.

Constructor & Destructor Documentation

◆ vector_gpu_ker_ref()

template<typename T , template< typename > class layout_base>
openfpm::vector_gpu_ker_ref< T, layout_base >::vector_gpu_ker_ref ( vector_gpu_ker< T, layout_base > &  vref)
inline

Definition at line 714 of file map_vector_cuda_ker.cuh.

Member Function Documentation

◆ capacity()

template<typename T , template< typename > class layout_base>
__device__ __host__ unsigned int openfpm::vector_gpu_ker_ref< T, layout_base >::capacity ( ) const
inline

Definition at line 667 of file map_vector_cuda_ker.cuh.

◆ check_device_pointer()

template<typename T , template< typename > class layout_base>
pointer_check openfpm::vector_gpu_ker_ref< T, layout_base >::check_device_pointer ( void *  ptr)
inline

Definition at line 784 of file map_vector_cuda_ker.cuh.

◆ get() [1/4]

template<typename T , template< typename > class layout_base>
__device__ __host__ auto openfpm::vector_gpu_ker_ref< T, layout_base >::get ( unsigned int  id) -> decltype(vref.get(id))
inline

Definition at line 678 of file map_vector_cuda_ker.cuh.

◆ get() [2/4]

template<typename T , template< typename > class layout_base>
template<unsigned int p>
__device__ __host__ auto openfpm::vector_gpu_ker_ref< T, layout_base >::get ( unsigned int  id) -> decltype(vref.template get<p>(id))
inline

Definition at line 704 of file map_vector_cuda_ker.cuh.

◆ get() [3/4]

template<typename T , template< typename > class layout_base>
__device__ __host__ auto openfpm::vector_gpu_ker_ref< T, layout_base >::get ( unsigned int  id) const -> decltype(vref.get(id))
inline

Definition at line 683 of file map_vector_cuda_ker.cuh.

◆ get() [4/4]

template<typename T , template< typename > class layout_base>
template<unsigned int p>
__device__ __host__ auto openfpm::vector_gpu_ker_ref< T, layout_base >::get ( unsigned int  id) const -> decltype(vref.template get<p>(id))
inline

Definition at line 673 of file map_vector_cuda_ker.cuh.

◆ get_o() [1/2]

template<typename T , template< typename > class layout_base>
__device__ __host__ auto openfpm::vector_gpu_ker_ref< T, layout_base >::get_o ( unsigned int  id) -> decltype(vref.get_o(id))
inline

Definition at line 693 of file map_vector_cuda_ker.cuh.

◆ get_o() [2/2]

template<typename T , template< typename > class layout_base>
__device__ __host__ auto openfpm::vector_gpu_ker_ref< T, layout_base >::get_o ( unsigned int  id) const -> decltype(vref.get_o(id))
inline

Definition at line 688 of file map_vector_cuda_ker.cuh.

◆ getBase()

template<typename T , template< typename > class layout_base>
__device__ grid_gpu_ker< 1, T_, layout_base, grid_sm< 1, void > > & openfpm::vector_gpu_ker_ref< T, layout_base >::getBase ( )
inline

Definition at line 779 of file map_vector_cuda_ker.cuh.

◆ getGPUIterator()

template<typename T , template< typename > class layout_base>
__host__ ite_gpu< 1 > openfpm::vector_gpu_ker_ref< T, layout_base >::getGPUIterator ( size_t  n_thr = default_kernel_wg_threads_) const
inline

Definition at line 749 of file map_vector_cuda_ker.cuh.

◆ getGPUIteratorTo()

template<typename T , template< typename > class layout_base>
ite_gpu< 1 > openfpm::vector_gpu_ker_ref< T, layout_base >::getGPUIteratorTo ( size_t  stop,
size_t  n_thr = default_kernel_wg_threads_ 
) const
inline

Get an iterator for the GPU.

Definition at line 758 of file map_vector_cuda_ker.cuh.

◆ getPointer() [1/2]

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

Definition at line 723 of file map_vector_cuda_ker.cuh.

◆ getPointer() [2/2]

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

Definition at line 728 of file map_vector_cuda_ker.cuh.

◆ getVector() [1/2]

template<typename T , template< typename > class layout_base>
vector_gpu_ker< T, layout_base > & openfpm::vector_gpu_ker_ref< T, layout_base >::getVector ( )
inline

Definition at line 763 of file map_vector_cuda_ker.cuh.

◆ getVector() [2/2]

template<typename T , template< typename > class layout_base>
const vector_gpu_ker< T, layout_base > & openfpm::vector_gpu_ker_ref< T, layout_base >::getVector ( ) const
inline

Definition at line 768 of file map_vector_cuda_ker.cuh.

◆ internal_get_size_pointer()

template<typename T , template< typename > class layout_base>
void * openfpm::vector_gpu_ker_ref< T, layout_base >::internal_get_size_pointer ( )
inline

Definition at line 789 of file map_vector_cuda_ker.cuh.

◆ last() [1/2]

template<typename T , template< typename > class layout_base>
auto openfpm::vector_gpu_ker_ref< T, layout_base >::last ( ) -> decltype(vref.last())
inline

Definition at line 709 of file map_vector_cuda_ker.cuh.

◆ last() [2/2]

template<typename T , template< typename > class layout_base>
auto openfpm::vector_gpu_ker_ref< T, layout_base >::last ( ) const -> decltype(vref.last())
inline

Definition at line 698 of file map_vector_cuda_ker.cuh.

◆ operator=()

template<typename T , template< typename > class layout_base>
__host__ vector_gpu_ker_ref< T, layout_base > & openfpm::vector_gpu_ker_ref< T, layout_base >::operator= ( const vector_gpu_ker< T, layout_base > &  v)
inline

Definition at line 773 of file map_vector_cuda_ker.cuh.

◆ print_size()

template<typename T , template< typename > class layout_base>
void openfpm::vector_gpu_ker_ref< T, layout_base >::print_size ( )
inline

Definition at line 791 of file map_vector_cuda_ker.cuh.

◆ set() [1/3]

template<typename T , template< typename > class layout_base>
__device__ void openfpm::vector_gpu_ker_ref< T, layout_base >::set ( int  id,
const container &  obj 
)
inline

Definition at line 718 of file map_vector_cuda_ker.cuh.

◆ set() [2/3]

template<typename T , template< typename > class layout_base>
__device__ void openfpm::vector_gpu_ker_ref< T, layout_base >::set ( unsigned int  id,
const vector_gpu_ker< T_, layout_base > &  v,
unsigned int  src 
)
inline

Definition at line 738 of file map_vector_cuda_ker.cuh.

◆ set() [3/3]

template<typename T , template< typename > class layout_base>
template<unsigned int ... prp>
__device__ void openfpm::vector_gpu_ker_ref< T, layout_base >::set ( unsigned int  id,
const vector_gpu_ker< T_, layout_base > &  v,
unsigned int  src 
)
inline

Definition at line 744 of file map_vector_cuda_ker.cuh.

◆ set_o()

template<typename T , template< typename > class layout_base>
template<typename encap_S , unsigned int ... args>
void openfpm::vector_gpu_ker_ref< T, layout_base >::set_o ( unsigned int  i,
const encap_S &  obj 
)
inline

Definition at line 733 of file map_vector_cuda_ker.cuh.

◆ size()

template<typename T , template< typename > class layout_base>
__device__ __host__ unsigned int openfpm::vector_gpu_ker_ref< T, layout_base >::size ( ) const
inline

Definition at line 657 of file map_vector_cuda_ker.cuh.

◆ size_local()

template<typename T , template< typename > class layout_base>
__host__ __device__ size_t openfpm::vector_gpu_ker_ref< T, layout_base >::size_local ( ) const
inline

Definition at line 662 of file map_vector_cuda_ker.cuh.

Field Documentation

◆ vref

template<typename T , template< typename > class layout_base>
vector_gpu_ker<T,layout_base>& openfpm::vector_gpu_ker_ref< T, layout_base >::vref

vector reference

Definition at line 643 of file map_vector_cuda_ker.cuh.


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