#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 | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = OpenCLKernelManager |
using | Superclass = LightObject |
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) |
ITK_DISALLOW_COPY_AND_MOVE (OpenCLKernelManager) | |
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 Attributes | |
OpenCLContext * | m_Context {} |
std::vector< std::vector< KernelArgumentList > > | m_KernelArgumentReady {} |
std::vector< OpenCLKernel > | m_Kernels {} |
using itk::OpenCLKernelManager::ConstPointer = SmartPointer<const Self> |
Definition at line 76 of file itkOpenCLKernelManager.h.
using itk::OpenCLKernelManager::Pointer = SmartPointer<Self> |
Definition at line 75 of file itkOpenCLKernelManager.h.
Standard class typedefs.
Definition at line 73 of file itkOpenCLKernelManager.h.
using itk::OpenCLKernelManager::Superclass = LightObject |
Definition at line 74 of file itkOpenCLKernelManager.h.
|
protected |
|
overrideprotected |
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 86 of file itkOpenCLKernelManager.h.
OpenCLKernel & itk::OpenCLKernelManager::GetKernel | ( | const std::vcl_size_t | kernelId | ) |
Returns the .
itk::OpenCLKernelManager::ITK_DISALLOW_COPY_AND_MOVE | ( | OpenCLKernelManager | ) |
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.
|
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 164 of file itkOpenCLKernelManager.h.
|
private |
Definition at line 173 of file itkOpenCLKernelManager.h.
|
private |
Definition at line 172 of file itkOpenCLKernelManager.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |