Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkOpenCLKernelManager.h>
OpenCL kernel manager implemented using OpenCL.
This class is responsible for managing the GPU kernel and command queue.
Definition at line 67 of file itkOpenCLKernelManager.h.
Data Structures | |
struct | KernelArgumentList |
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef OpenCLKernelManager | Self |
typedef LightObject | Superclass |
Public Member Functions | |
OpenCLProgram | BuildProgramFromSourceCode (const std::string &sourceCode, const std::string &prefixSourceCode=std::string(), const std::string &postfixSourceCode=std::string(), const std::string &extraBuildOptions=std::string()) |
OpenCLProgram | BuildProgramFromSourceFile (const std::string &fileName, const std::string &prefixSourceCode=std::string(), const std::string &postfixSourceCode=std::string(), const std::string &extraBuildOptions=std::string()) |
std::vcl_size_t | CreateKernel (const OpenCLProgram &program, const std::string &name) |
virtual const char * | GetClassName () const |
OpenCLContext * | GetContext () const |
OpenCLKernel & | GetKernel (const std::vcl_size_t kernelId) |
OpenCLEvent | LaunchKernel (const std::vcl_size_t kernelId) |
OpenCLEvent | LaunchKernel (const std::vcl_size_t kernelId, const OpenCLEventList &event_list) |
OpenCLEvent | LaunchKernel (const std::vcl_size_t kernelId, const OpenCLEventList &event_list, const OpenCLSize &global_work_size, const OpenCLSize &local_work_size=OpenCLSize::null, const OpenCLSize &global_work_offset=OpenCLSize::null) |
OpenCLEvent | LaunchKernel (const std::vcl_size_t kernelId, const OpenCLSize &global_work_size, const OpenCLSize &local_work_size=OpenCLSize::null, const OpenCLSize &global_work_offset=OpenCLSize::null) |
void | SetGlobalWorkOffsetForAllKernels (const OpenCLSize &offset) |
void | SetGlobalWorkSizeForAllKernels (const OpenCLSize &size) |
bool | SetKernelArg (const std::vcl_size_t kernelId, const cl_uint argId, const std::vcl_size_t argSize, const void *argVal) |
bool | SetKernelArgForAllKernels (const cl_uint argId, const std::vcl_size_t argSize, const void *argVal) |
bool | SetKernelArgWithImage (const std::vcl_size_t kernelId, cl_uint argId, const GPUDataManager::Pointer manager) |
void | SetLocalWorkSizeForAllKernels (const OpenCLSize &size) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
bool | CheckArgumentReady (const std::vcl_size_t kernelId) |
OpenCLKernelManager () | |
void | ResetArguments (const std::vcl_size_t kernelIdx) |
~OpenCLKernelManager () override | |
Private Member Functions | |
OpenCLKernelManager (const Self &) | |
void | operator= (const Self &) |
Private Attributes | |
OpenCLContext * | m_Context |
std::vector< std::vector< KernelArgumentList > > | m_KernelArgumentReady |
std::vector< OpenCLKernel > | m_Kernels |
typedef SmartPointer< const Self > itk::OpenCLKernelManager::ConstPointer |
Definition at line 75 of file itkOpenCLKernelManager.h.
typedef SmartPointer< Self > itk::OpenCLKernelManager::Pointer |
Definition at line 74 of file itkOpenCLKernelManager.h.
Standard class typedefs.
Definition at line 72 of file itkOpenCLKernelManager.h.
typedef LightObject itk::OpenCLKernelManager::Superclass |
Definition at line 73 of file itkOpenCLKernelManager.h.
|
protected |
|
overrideprotected |
|
private |
OpenCLProgram itk::OpenCLKernelManager::BuildProgramFromSourceCode | ( | const std::string & | sourceCode, |
const std::string & | prefixSourceCode = std::string() , |
||
const std::string & | postfixSourceCode = std::string() , |
||
const std::string & | extraBuildOptions = std::string() |
||
) |
OpenCLProgram itk::OpenCLKernelManager::BuildProgramFromSourceFile | ( | const std::string & | fileName, |
const std::string & | prefixSourceCode = std::string() , |
||
const std::string & | postfixSourceCode = std::string() , |
||
const std::string & | extraBuildOptions = std::string() |
||
) |
|
protected |
std::vcl_size_t itk::OpenCLKernelManager::CreateKernel | ( | const OpenCLProgram & | program, |
const std::string & | name | ||
) |
|
virtual |
Run-time type information (and related methods).
|
inline |
Returns the OpenCL context that this kernel manager was created within.
Definition at line 84 of file itkOpenCLKernelManager.h.
OpenCLKernel & itk::OpenCLKernelManager::GetKernel | ( | const std::vcl_size_t | kernelId | ) |
Returns the .
OpenCLEvent itk::OpenCLKernelManager::LaunchKernel | ( | const std::vcl_size_t | kernelId | ) |
OpenCLEvent itk::OpenCLKernelManager::LaunchKernel | ( | const std::vcl_size_t | kernelId, |
const OpenCLEventList & | event_list | ||
) |
OpenCLEvent itk::OpenCLKernelManager::LaunchKernel | ( | const std::vcl_size_t | kernelId, |
const OpenCLEventList & | event_list, | ||
const OpenCLSize & | global_work_size, | ||
const OpenCLSize & | local_work_size = OpenCLSize::null , |
||
const OpenCLSize & | global_work_offset = OpenCLSize::null |
||
) |
OpenCLEvent itk::OpenCLKernelManager::LaunchKernel | ( | const std::vcl_size_t | kernelId, |
const OpenCLSize & | global_work_size, | ||
const OpenCLSize & | local_work_size = OpenCLSize::null , |
||
const OpenCLSize & | global_work_offset = OpenCLSize::null |
||
) |
|
static |
Method for creation through the object factory.
|
private |
|
protected |
void itk::OpenCLKernelManager::SetGlobalWorkOffsetForAllKernels | ( | const OpenCLSize & | offset | ) |
Sets the offset for all instances of the kernels to offset.
void itk::OpenCLKernelManager::SetGlobalWorkSizeForAllKernels | ( | const OpenCLSize & | size | ) |
Sets the global work size for all instances of the kernels to size.
bool itk::OpenCLKernelManager::SetKernelArg | ( | const std::vcl_size_t | kernelId, |
const cl_uint | argId, | ||
const std::vcl_size_t | argSize, | ||
const void * | argVal | ||
) |
bool itk::OpenCLKernelManager::SetKernelArgForAllKernels | ( | const cl_uint | argId, |
const std::vcl_size_t | argSize, | ||
const void * | argVal | ||
) |
bool itk::OpenCLKernelManager::SetKernelArgWithImage | ( | const std::vcl_size_t | kernelId, |
cl_uint | argId, | ||
const GPUDataManager::Pointer | manager | ||
) |
void itk::OpenCLKernelManager::SetLocalWorkSizeForAllKernels | ( | const OpenCLSize & | size | ) |
Sets the local work size for all instances of the kernels to size.
|
private |
Definition at line 150 of file itkOpenCLKernelManager.h.
|
private |
Definition at line 159 of file itkOpenCLKernelManager.h.
|
private |
Definition at line 158 of file itkOpenCLKernelManager.h.
Generated on 1667476801 for elastix by 1.9.4 |