ITK
5.2.0
Insight Toolkit
|
#include <itkGPUKernelManager.h>
Classes | |
struct | KernelArgumentList |
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = GPUKernelManager |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
int | CreateKernel (const char *kernelName) |
cl_int | GetDeviceInfo (cl_kernel_work_group_info paramName, vcl_size_t argSize, void *argValue) |
cl_int | GetKernelWorkGroupInfo (int kernelIdx, cl_kernel_work_group_info paramName, void *value) |
virtual const char * | GetNameOfClass () const |
bool | LoadProgramFromFile (const char *filename, const char *cPreamble="") |
bool | LoadProgramFromString (const char *cSource, const char *cPreamble="") |
bool | SetKernelArg (int kernelIdx, cl_uint argIdx, vcl_size_t argSize, const void *argVal) |
bool | SetKernelArgWithChar (int kernelIdx, cl_uint argIdx, char argVal) |
bool | SetKernelArgWithDouble (int kernelIdx, cl_uint argIdx, double argVal) |
bool | SetKernelArgWithFloat (int kernelIdx, cl_uint argIdx, float argVal) |
bool | SetKernelArgWithImage (int kernelIdx, cl_uint argIdx, GPUDataManager *manager) |
bool | SetKernelArgWithInt (int kernelIdx, cl_uint argIdx, int argVal) |
bool | SetKernelArgWithLongLong (int kernelIdx, cl_uint argIdx, long long argVal) |
bool | SetKernelArgWithShort (int kernelIdx, cl_uint argIdx, short argVal) |
bool | SetKernelArgWithUChar (int kernelIdx, cl_uint argIdx, unsigned char argVal) |
bool | SetKernelArgWithUInt (int kernelIdx, cl_uint argIdx, unsigned int argVal) |
bool | SetKernelArgWithULongLong (int kernelIdx, cl_uint argIdx, unsigned long long argVal) |
bool | SetKernelArgWithUShort (int kernelIdx, cl_uint argIdx, unsigned short argVal) |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
cl_program | m_Program |
GPUContextManager * | m_Manager |
int | m_CommandQueueId |
std::vector< cl_kernel > | m_KernelContainer |
std::vector< std::vector< KernelArgumentList > > | m_KernelArgumentReady |
template<typename TGPUImageDataManager > | |
bool | SetKernelArgWithImageAndBufferedRegion (int kernelIdx, cl_uint &argIdx, TGPUImageDataManager *manager) |
bool | LaunchKernel (int kernelIdx, int dim, vcl_size_t *globalWorkSize, vcl_size_t *localWorkSize) |
bool | LaunchKernel1D (int kernelIdx, vcl_size_t globalWorkSize, vcl_size_t localWorkSize) |
bool | LaunchKernel2D (int kernelIdx, vcl_size_t globalWorkSizeX, vcl_size_t globalWorkSizeY, vcl_size_t localWorkSizeX, vcl_size_t localWorkSizeY) |
bool | LaunchKernel3D (int kernelIdx, vcl_size_t globalWorkSizeX, vcl_size_t globalWorkSizeY, vcl_size_t globalWorkSizeZ, vcl_size_t localWorkSizeX, vcl_size_t localWorkSizeY, vcl_size_t localWorkSizeZ) |
void | SetCurrentCommandQueue (int queueid) |
int | GetCurrentCommandQueueID () const |
GPUKernelManager () | |
~GPUKernelManager () override | |
bool | CheckArgumentReady (int kernelIdx) |
void | ResetArguments (int kernelIdx) |
template<typename TArg > | |
bool | SetTypedKernelArg (int kernelIdx, cl_uint argIdx, TArg argVal) |
Additional Inherited Members | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
GPU kernel manager implemented using OpenCL.
This class is responsible for managing the GPU kernel and command queue.
Definition at line 44 of file itkGPUKernelManager.h.
using itk::GPUKernelManager::ConstPointer = SmartPointer<const Self> |
Definition at line 58 of file itkGPUKernelManager.h.
Definition at line 57 of file itkGPUKernelManager.h.
Definition at line 55 of file itkGPUKernelManager.h.
Definition at line 56 of file itkGPUKernelManager.h.
|
protected |
Pass to GPU both the pixel buffer and the buffered region.
|
overrideprotected |
Pass to GPU both the pixel buffer and the buffered region.
|
protected |
Pass to GPU both the pixel buffer and the buffered region.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
int itk::GPUKernelManager::CreateKernel | ( | const char * | kernelName | ) |
int itk::GPUKernelManager::GetCurrentCommandQueueID | ( | ) | const |
Pass to GPU both the pixel buffer and the buffered region.
cl_int itk::GPUKernelManager::GetDeviceInfo | ( | cl_kernel_work_group_info | paramName, |
vcl_size_t | argSize, | ||
void * | argValue | ||
) |
cl_int itk::GPUKernelManager::GetKernelWorkGroupInfo | ( | int | kernelIdx, |
cl_kernel_work_group_info | paramName, | ||
void * | value | ||
) |
|
virtual |
Return the name of this class as a string. Used by the object factory (implemented in New()) to instantiate objects of a named type. Also used for debugging and other output information.
Reimplemented from itk::LightObject.
bool itk::GPUKernelManager::LaunchKernel | ( | int | kernelIdx, |
int | dim, | ||
vcl_size_t * | globalWorkSize, | ||
vcl_size_t * | localWorkSize | ||
) |
Pass to GPU both the pixel buffer and the buffered region.
bool itk::GPUKernelManager::LaunchKernel1D | ( | int | kernelIdx, |
vcl_size_t | globalWorkSize, | ||
vcl_size_t | localWorkSize | ||
) |
Pass to GPU both the pixel buffer and the buffered region.
bool itk::GPUKernelManager::LaunchKernel2D | ( | int | kernelIdx, |
vcl_size_t | globalWorkSizeX, | ||
vcl_size_t | globalWorkSizeY, | ||
vcl_size_t | localWorkSizeX, | ||
vcl_size_t | localWorkSizeY | ||
) |
Pass to GPU both the pixel buffer and the buffered region.
bool itk::GPUKernelManager::LaunchKernel3D | ( | int | kernelIdx, |
vcl_size_t | globalWorkSizeX, | ||
vcl_size_t | globalWorkSizeY, | ||
vcl_size_t | globalWorkSizeZ, | ||
vcl_size_t | localWorkSizeX, | ||
vcl_size_t | localWorkSizeY, | ||
vcl_size_t | localWorkSizeZ | ||
) |
Pass to GPU both the pixel buffer and the buffered region.
bool itk::GPUKernelManager::LoadProgramFromFile | ( | const char * | filename, |
const char * | cPreamble = "" |
||
) |
bool itk::GPUKernelManager::LoadProgramFromString | ( | const char * | cSource, |
const char * | cPreamble = "" |
||
) |
|
static |
|
protected |
Pass to GPU both the pixel buffer and the buffered region.
void itk::GPUKernelManager::SetCurrentCommandQueue | ( | int | queueid | ) |
Pass to GPU both the pixel buffer and the buffered region.
bool itk::GPUKernelManager::SetKernelArg | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
vcl_size_t | argSize, | ||
const void * | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithChar | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
char | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithDouble | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
double | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithFloat | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
float | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithImage | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
GPUDataManager * | manager | ||
) |
|
inline |
Pass to GPU both the pixel buffer and the buffered region.
Definition at line 120 of file itkGPUKernelManager.h.
References m_KernelArgumentReady, m_KernelContainer, and itk::OpenCLCheckError().
bool itk::GPUKernelManager::SetKernelArgWithInt | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
int | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithLongLong | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
long long | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithShort | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
short | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithUChar | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
unsigned char | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithUInt | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
unsigned int | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithULongLong | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
unsigned long long | argVal | ||
) |
bool itk::GPUKernelManager::SetKernelArgWithUShort | ( | int | kernelIdx, |
cl_uint | argIdx, | ||
unsigned short | argVal | ||
) |
|
private |
Pass to GPU both the pixel buffer and the buffered region.
|
private |
Pass to GPU both the pixel buffer and the buffered region.
Definition at line 204 of file itkGPUKernelManager.h.
|
private |
Pass to GPU both the pixel buffer and the buffered region.
Definition at line 207 of file itkGPUKernelManager.h.
Referenced by SetKernelArgWithImageAndBufferedRegion().
|
private |
Pass to GPU both the pixel buffer and the buffered region.
Definition at line 206 of file itkGPUKernelManager.h.
Referenced by SetKernelArgWithImageAndBufferedRegion().
|
private |
Pass to GPU both the pixel buffer and the buffered region.
Definition at line 203 of file itkGPUKernelManager.h.
|
private |
Pass to GPU both the pixel buffer and the buffered region.
Definition at line 201 of file itkGPUKernelManager.h.