23 #ifndef __itkGPUKernelManager_h
24 #define __itkGPUKernelManager_h
63 bool LoadProgramFromFile(
const char* filename,
const char* cPreamble=
"");
65 bool LoadProgramFromString(
const char* cSource,
const char* cPreamble=
"");
67 int CreateKernel(
const char* kernelName);
69 cl_int GetKernelWorkGroupInfo(
int kernelIdx,
70 cl_kernel_work_group_info paramName,
void *value);
72 bool SetKernelArg(
int kernelIdx, cl_uint argIdx,
size_t argSize,
const void* argVal);
76 bool LaunchKernel(
int kernelIdx,
int dim,
size_t *globalWorkSize,
size_t *localWorkSize);
78 bool LaunchKernel1D(
int kernelIdx,
size_t globalWorkSize,
size_t localWorkSize);
80 bool LaunchKernel2D(
int kernelIdx,
81 size_t globalWorkSizeX,
size_t globalWorkSizeY,
82 size_t localWorkSizeX,
size_t localWorkSizeY );
84 bool LaunchKernel3D(
int kernelIdx,
85 size_t globalWorkSizeX,
size_t globalWorkSizeY,
size_t globalWorkSizeZ,
86 size_t localWorkSizeX,
size_t localWorkSizeY,
size_t localWorkSizeZ );
88 void SetCurrentCommandQueue(
int queueid );
90 int GetCurrentCommandQueueID();
97 bool CheckArgumentReady(
int kernelIdx);
99 void ResetArguments(
int kernelIdx);
103 void operator=(
const Self&);