![]() |
Clover Git
OpenCL 1.1 software implementation
|
Device-specific kernel data. More...
#include <deviceinterface.h>
Inheritance diagram for Coal::DeviceKernel: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().
1.7.3