vSMC  v3.0.0
Scalable Monte Carlo
Public Member Functions | Static Public Member Functions | List of all members
vsmc::CLKernel Class Reference

OpenCL cl_kernel More...

#include <vsmc/utility/opencl.hpp>

Public Member Functions

 CLKernel (::cl_kernel ptr=nullptr)
 
 CLKernel (const CLProgram &program, const std::string &kernel_name)
 clCreateKernel More...
 
::cl_ulong get_arg_info (::cl_uint arg_indx,::cl_kernel_arg_info param_name, std::size_t param_value_size, void *param_value, std::size_t *param_value_size_ret) const
 clGetKernelArgInfo More...
 
template<typename ParamType >
::cl_int get_arg_info (::cl_uint arg_indx,::cl_kernel_arg_info param_name, ParamType &param_value) const
 
template<typename ParamType >
::cl_int get_arg_info (::cl_uint arg_indx,::cl_kernel_arg_info param_name, std::vector< ParamType > &param_value) const
 
::cl_int get_arg_info (::cl_uint arg_indx,::cl_kernel_arg_info param_name, std::string &param_value) const
 
::cl_int get_info (::cl_kernel_info param_name, std::string &param_value) const
 
::cl_int get_info (::cl_kernel_info param_name, std::size_t param_value_size, void *param_value, std::size_t *param_value_size_ret) const
 
template<typename ParamType >
::cl_int get_info (::cl_kernel_info param_name, ParamType &param_value) const
 
template<typename ParamType >
::cl_int get_info (::cl_kernel_info param_name, std::vector< ParamType > &param_value) const
 
::cl_ulong get_work_group_info (const CLDevice &device,::cl_kernel_work_group_info param_name, std::size_t param_value_size, void *param_value, std::size_t *param_value_size_ret) const
 clGetKernelWorkGroupInfo More...
 
template<typename ParamType >
::cl_int get_work_group_info (const CLDevice &device,::cl_kernel_work_group_info param_name, ParamType &param_value) const
 
template<typename ParamType >
::cl_int get_work_group_info (const CLDevice &device,::cl_kernel_work_group_info param_name, std::vector< ParamType > &param_value) const
 
::cl_int get_work_group_info (const CLDevice &device,::cl_kernel_work_group_info param_name, std::string &param_value) const
 
template<typename T >
::cl_int set_arg (::cl_uint arg_index, const T &arg) const
 clSetKernelArg More...
 
::cl_int set_arg (::cl_uint arg_index, const CLMemory &arg) const
 clSetKernelArg More...
 
- Public Member Functions inherited from vsmc::CLBase<::cl_kernel, CLKernel >
 CLBase ()
 
pointer get () const
 
 operator bool () const
 
void reset (pointer ptr)
 
void swap (CLBase< ::cl_kernel, CLKernel > &other)
 
bool unique () const
 
long use_count () const
 

Static Public Member Functions

::cl_int release (::cl_kernel ptr)
 clReleaseKernel More...
 

Additional Inherited Members

- Public Types inherited from vsmc::CLBase<::cl_kernel, CLKernel >
using element_type = typename std::remove_pointer< ::cl_kernel >::type
 
using pointer = ::cl_kernel
 
- Protected Member Functions inherited from vsmc::CLBase<::cl_kernel, CLKernel >
void reset_ptr (pointer ptr)
 

Detailed Description

OpenCL cl_kernel

Definition at line 876 of file opencl.hpp.

Constructor & Destructor Documentation

vsmc::CLKernel::CLKernel ( ::cl_kernel  ptr = nullptr)
inlineexplicit

Definition at line 879 of file opencl.hpp.

vsmc::CLKernel::CLKernel ( const CLProgram program,
const std::string &  kernel_name 
)
inline

clCreateKernel

Definition at line 882 of file opencl.hpp.

Member Function Documentation

::cl_ulong vsmc::CLKernel::get_arg_info ( ::cl_uint  arg_indx,
::cl_kernel_arg_info  param_name,
std::size_t  param_value_size,
void *  param_value,
std::size_t *  param_value_size_ret 
) const
inline

clGetKernelArgInfo

Definition at line 972 of file opencl.hpp.

template<typename ParamType >
::cl_int vsmc::CLKernel::get_arg_info ( ::cl_uint  arg_indx,
::cl_kernel_arg_info  param_name,
ParamType &  param_value 
) const
inline

Definition at line 983 of file opencl.hpp.

template<typename ParamType >
::cl_int vsmc::CLKernel::get_arg_info ( ::cl_uint  arg_indx,
::cl_kernel_arg_info  param_name,
std::vector< ParamType > &  param_value 
) const
inline

Definition at line 996 of file opencl.hpp.

::cl_int vsmc::CLKernel::get_arg_info ( ::cl_uint  arg_indx,
::cl_kernel_arg_info  param_name,
std::string &  param_value 
) const
inline

Definition at line 1016 of file opencl.hpp.

::cl_int vsmc::CLKernel::get_info ( ::cl_kernel_info  param_name,
std::size_t  param_value_size,
void *  param_value,
std::size_t *  param_value_size_ret 
) const
inline

Definition at line 911 of file opencl.hpp.

template<typename ParamType >
::cl_int vsmc::CLKernel::get_info ( ::cl_kernel_info  param_name,
ParamType &  param_value 
) const
inline

Definition at line 911 of file opencl.hpp.

template<typename ParamType >
::cl_int vsmc::CLKernel::get_info ( ::cl_kernel_info  param_name,
std::vector< ParamType > &  param_value 
) const
inline

Definition at line 911 of file opencl.hpp.

::cl_int vsmc::CLKernel::get_info ( ::cl_kernel_info  param_name,
std::string &  param_value 
) const
inline

Definition at line 911 of file opencl.hpp.

::cl_ulong vsmc::CLKernel::get_work_group_info ( const CLDevice device,
::cl_kernel_work_group_info  param_name,
std::size_t  param_value_size,
void *  param_value,
std::size_t *  param_value_size_ret 
) const
inline

clGetKernelWorkGroupInfo

Definition at line 914 of file opencl.hpp.

template<typename ParamType >
::cl_int vsmc::CLKernel::get_work_group_info ( const CLDevice device,
::cl_kernel_work_group_info  param_name,
ParamType &  param_value 
) const
inline

Definition at line 925 of file opencl.hpp.

template<typename ParamType >
::cl_int vsmc::CLKernel::get_work_group_info ( const CLDevice device,
::cl_kernel_work_group_info  param_name,
std::vector< ParamType > &  param_value 
) const
inline

Definition at line 938 of file opencl.hpp.

::cl_int vsmc::CLKernel::get_work_group_info ( const CLDevice device,
::cl_kernel_work_group_info  param_name,
std::string &  param_value 
) const
inline

Definition at line 959 of file opencl.hpp.

::cl_int vsmc::CLKernel::release ( ::cl_kernel  ptr)
inlinestatic

clReleaseKernel

Definition at line 1029 of file opencl.hpp.

template<typename T >
::cl_int vsmc::CLKernel::set_arg ( ::cl_uint  arg_index,
const T &  arg 
) const
inline

clSetKernelArg

Definition at line 895 of file opencl.hpp.

::cl_int vsmc::CLKernel::set_arg ( ::cl_uint  arg_index,
const CLMemory arg 
) const
inline

clSetKernelArg

Definition at line 903 of file opencl.hpp.