Go to the documentation of this file.
35 #ifndef __itkOpenCLKernelManager_h
36 #define __itkOpenCLKernelManager_h
38 #include <itkLightObject.h>
39 #include <itkObjectFactory.h>
107 const std::string & prefixSourceCode = std::string(),
108 const std::string & postfixSourceCode = std::string(),
109 const std::string & extraBuildOptions = std::string() );
112 const std::string & prefixSourceCode = std::string(),
113 const std::string & postfixSourceCode = std::string(),
114 const std::string & extraBuildOptions = std::string() );
129 const cl_uint argId,
const std::size_t argSize,
const void * argVal );
132 const std::size_t argSize,
const void * argVal );
bool SetKernelArgForAllKernels(const cl_uint argId, const std::vcl_size_t argSize, const void *argVal)
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)
void SetLocalWorkSizeForAllKernels(const OpenCLSize &size)
The OpenCLProgram class represents an OpenCL program object.
OpenCLProgram BuildProgramFromSourceFile(const std::string &fileName, const std::string &prefixSourceCode=std::string(), const std::string &postfixSourceCode=std::string(), const std::string &extraBuildOptions=std::string())
OpenCLEvent LaunchKernel(const std::vcl_size_t kernelId, const OpenCLEventList &event_list)
OpenCLKernelManager(const Self &)
void operator=(const Self &)
bool SetKernelArg(const std::vcl_size_t kernelId, const cl_uint argId, const std::vcl_size_t argSize, const void *argVal)
OpenCLEvent LaunchKernel(const std::vcl_size_t kernelId)
void SetGlobalWorkSizeForAllKernels(const OpenCLSize &size)
OpenCLProgram BuildProgramFromSourceCode(const std::string &sourceCode, const std::string &prefixSourceCode=std::string(), const std::string &postfixSourceCode=std::string(), const std::string &extraBuildOptions=std::string())
OpenCLEvent class represents an OpenCL event object.
The OpenCLKernel class represents an executable entry point function in an OpenCL program.
OpenCLEventList class represents a list of OpenCLEvent objects.
OpenCLContext * m_Context
bool SetKernelArgWithImage(const std::vcl_size_t kernelId, cl_uint argId, const GPUDataManager::Pointer manager)
void ResetArguments(const std::vcl_size_t kernelIdx)
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)
The OpenCLSize class defines the size of an item of work for an OpenCL kernel.
std::vcl_size_t CreateKernel(const OpenCLProgram &program, const std::string &name)
SmartPointer< const Self > ConstPointer
bool CheckArgumentReady(const std::vcl_size_t kernelId)
OpenCLContext * GetContext() const
The OpenCLContext class represents an OpenCL context.
virtual ~OpenCLKernelManager()
void SetGlobalWorkOffsetForAllKernels(const OpenCLSize &offset)
std::vector< std::vector< KernelArgumentList > > m_KernelArgumentReady
OpenCLKernel & GetKernel(const std::vcl_size_t kernelId)
OpenCL kernel manager implemented using OpenCL.
std::vector< OpenCLKernel > m_Kernels
SmartPointer< Self > Pointer
GPUDataManager::Pointer m_GPUDataManager
Generated on OURCE_DATE_EPOCH for elastix by 1.8.18 |
|