Clover Git
OpenCL 1.1 software implementation
|
Device-specific kernel data. More...
#include <deviceinterface.h>
Public Member Functions | |
DeviceKernel () | |
virtual | ~DeviceKernel () |
virtual size_t | workGroupSize () const =0 |
Maximum work-group size of a kernel. | |
virtual cl_ulong | localMemSize () const =0 |
Local memory used by the kernel. | |
virtual cl_ulong | privateMemSize () const =0 |
Private memory used by the kernel. | |
virtual size_t | preferredWorkGroupSizeMultiple () const =0 |
Preferred work-group size multiple. | |
virtual size_t | guessWorkGroupSize (cl_uint num_dims, cl_uint dim, size_t global_work_size) const =0 |
Optimal work-group size. |
Device-specific kernel data.
Definition at line 274 of file deviceinterface.h.
Coal::DeviceKernel::DeviceKernel | ( | ) | [inline] |
Definition at line 277 of file deviceinterface.h.
virtual Coal::DeviceKernel::~DeviceKernel | ( | ) | [inline, virtual] |
Definition at line 278 of file deviceinterface.h.
virtual size_t Coal::DeviceKernel::guessWorkGroupSize | ( | cl_uint | num_dims, |
cl_uint | dim, | ||
size_t | global_work_size | ||
) | const [pure virtual] |
Optimal work-group size.
This function allows a device to calculate the optimal work-group size for this kernel, using it's memory usage, SIMD dimension, etc.
Coal::CPUDevice
tries to split the kernel into a number of work-groups the closest possible to the number of CPU cores.
num_dims | Number of working dimensions |
dim | Dimension for which the multiple is being calculated |
global_work_size | Total number of work-items to split into work-groups |
dim
dimension. Implemented in Coal::CPUKernel.
Referenced by Coal::KernelEvent::KernelEvent().
virtual cl_ulong Coal::DeviceKernel::localMemSize | ( | ) | const [pure virtual] |
Local memory used by the kernel.
Implemented in Coal::CPUKernel.
Referenced by Coal::Kernel::workGroupInfo().
virtual size_t Coal::DeviceKernel::preferredWorkGroupSizeMultiple | ( | ) | const [pure virtual] |
Preferred work-group size multiple.
Implemented in Coal::CPUKernel.
Referenced by Coal::Kernel::workGroupInfo().
virtual cl_ulong Coal::DeviceKernel::privateMemSize | ( | ) | const [pure virtual] |
Private memory used by the kernel.
Implemented in Coal::CPUKernel.
Referenced by Coal::Kernel::workGroupInfo().
virtual size_t Coal::DeviceKernel::workGroupSize | ( | ) | const [pure virtual] |
Maximum work-group size of a kernel.
Implemented in Coal::CPUKernel.
Referenced by Coal::Kernel::workGroupInfo().