| 
 | 
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.
 Inheritance diagram for itk::OpenCLKernelManager: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 1739326392 for elastix by   1.9.8  |