vSMC
vSMC: Scalable Monte Carlo
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vsmc::InitializeCL< T, PlaceHolder > Class Template Reference

Sampler<T>::init_type subtype using OpenCL. More...

#include <vsmc/opencl/backend_cl.hpp>

Public Member Functions

virtual std::size_t accept_count (Particle< T > &particle, const ::cl::Buffer &accept_buffer)
 
CLConfigureconfigure ()
 
const CLConfigureconfigure () const
 
virtual void initialize_param (Particle< T > &, void *)
 
virtual void initialize_state (std::string &)
 
const ::cl::Kernel & kernel () const
 
::cl::Kernel & kernel ()
 
const std::string & kernel_name () const
 
std::size_t operator() (Particle< T > &particle, void *param)
 
virtual void post_processor (Particle< T > &)
 
virtual void pre_processor (Particle< T > &)
 
virtual void set_kernel (const Particle< T > &particle)
 
virtual void set_kernel_args (const Particle< T > &particle)
 

Static Public Member Functions

static constexpr::cl_uint kernel_args_offset ()
 The index offset of additional kernel arguments set by the user. More...
 

Protected Member Functions

 InitializeCL ()
 
 InitializeCL (const InitializeCL< T, PlaceHolder > &)=default
 
 InitializeCL (InitializeCL< T, PlaceHolder > &&)=default
 
virtual ~InitializeCL ()
 
InitializeCL< T, PlaceHolder > & operator= (const InitializeCL< T, PlaceHolder > &)=default
 
InitializeCL< T, PlaceHolder > & operator= (InitializeCL< T, PlaceHolder > &&)=default
 

Detailed Description

template<typename T, typename PlaceHolder = NullType>
class vsmc::InitializeCL< T, PlaceHolder >

Sampler<T>::init_type subtype using OpenCL.

Kernel requirement (initialize_state)

__kernel
void kern (__global state_type *state, __global ulong *accept);

Definition at line 543 of file backend_cl.hpp.

Constructor & Destructor Documentation

template<typename T, typename PlaceHolder = NullType>
vsmc::InitializeCL< T, PlaceHolder >::InitializeCL ( )
inlineprotected

Definition at line 619 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
vsmc::InitializeCL< T, PlaceHolder >::InitializeCL ( const InitializeCL< T, PlaceHolder > &  )
protecteddefault
template<typename T, typename PlaceHolder = NullType>
virtual vsmc::InitializeCL< T, PlaceHolder >::~InitializeCL ( )
inlineprotectedvirtual

Definition at line 619 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
vsmc::InitializeCL< T, PlaceHolder >::InitializeCL ( InitializeCL< T, PlaceHolder > &&  )
protecteddefault

Member Function Documentation

template<typename T, typename PlaceHolder = NullType>
virtual std::size_t vsmc::InitializeCL< T, PlaceHolder >::accept_count ( Particle< T > &  particle,
const ::cl::Buffer &  accept_buffer 
)
inlinevirtual

Definition at line 577 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
CLConfigure& vsmc::InitializeCL< T, PlaceHolder >::configure ( )
inline

Definition at line 615 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
const CLConfigure& vsmc::InitializeCL< T, PlaceHolder >::configure ( ) const
inline

Definition at line 615 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
virtual void vsmc::InitializeCL< T, PlaceHolder >::initialize_param ( Particle< T > &  ,
void *   
)
inlinevirtual
template<typename T, typename PlaceHolder = NullType>
virtual void vsmc::InitializeCL< T, PlaceHolder >::initialize_state ( std::string &  )
inlinevirtual
template<typename T, typename PlaceHolder = NullType>
::cl::Kernel& vsmc::InitializeCL< T, PlaceHolder >::kernel ( )
inline

Definition at line 615 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
const ::cl::Kernel& vsmc::InitializeCL< T, PlaceHolder >::kernel ( ) const
inline

Definition at line 615 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
static constexpr ::cl_uint vsmc::InitializeCL< T, PlaceHolder >::kernel_args_offset ( )
inlinestatic

The index offset of additional kernel arguments set by the user.

The first user supplied additional argument shall have index kernel_args_offset

Definition at line 552 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
const std::string& vsmc::InitializeCL< T, PlaceHolder >::kernel_name ( ) const
inline

Definition at line 615 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
std::size_t vsmc::InitializeCL< T, PlaceHolder >::operator() ( Particle< T > &  particle,
void *  param 
)
inline

Definition at line 554 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
InitializeCL<T, PlaceHolder>& vsmc::InitializeCL< T, PlaceHolder >::operator= ( const InitializeCL< T, PlaceHolder > &  )
protecteddefault
template<typename T, typename PlaceHolder = NullType>
InitializeCL<T, PlaceHolder>& vsmc::InitializeCL< T, PlaceHolder >::operator= ( InitializeCL< T, PlaceHolder > &&  )
protecteddefault
template<typename T, typename PlaceHolder = NullType>
virtual void vsmc::InitializeCL< T, PlaceHolder >::post_processor ( Particle< T > &  )
inlinevirtual
template<typename T, typename PlaceHolder = NullType>
virtual void vsmc::InitializeCL< T, PlaceHolder >::pre_processor ( Particle< T > &  )
inlinevirtual
template<typename T, typename PlaceHolder = NullType>
virtual void vsmc::InitializeCL< T, PlaceHolder >::set_kernel ( const Particle< T > &  particle)
inlinevirtual

Definition at line 588 of file backend_cl.hpp.

template<typename T, typename PlaceHolder = NullType>
virtual void vsmc::InitializeCL< T, PlaceHolder >::set_kernel_args ( const Particle< T > &  particle)
inlinevirtual

Definition at line 595 of file backend_cl.hpp.