Loading...
Searching...
No Matches
itk::OpenCLKernel Class Reference

`#include <itkOpenCLKernel.h>`

## Detailed Description

The OpenCLKernel class represents an executable entry point function in an OpenCL program.

Definition at line 135 of file itkOpenCLKernel.h.

## Public Types

using | CovariantVectorDouble1DType = CovariantVector<double, 1>
using | CovariantVectorDouble2DType = CovariantVector<double, 2>
using | CovariantVectorDouble3DType = CovariantVector<double, 3>
using | CovariantVectorDouble4DType = CovariantVector<double, 4>
using | CovariantVectorFloat1DType = CovariantVector<float, 1>
using | CovariantVectorFloat2DType = CovariantVector<float, 2>
using | CovariantVectorFloat3DType = CovariantVector<float, 3>
using | CovariantVectorFloat4DType = CovariantVector<float, 4>
using | CovariantVectorInt1DType = CovariantVector<int, 1>
using | CovariantVectorInt2DType = CovariantVector<int, 2>
using | CovariantVectorInt3DType = CovariantVector<int, 3>
using | CovariantVectorInt4DType = CovariantVector<int, 4>
using | Index1DType = Index<1>
using | Index2DType = Index<2>
using | Index3DType = Index<3>
using | Index4DType = Index<4>
using | MatrixDouble1x1Type = Matrix<double, 1, 1>
using | MatrixDouble2x2Type = Matrix<double, 2, 2>
using | MatrixDouble3x3Type = Matrix<double, 3, 3>
using | MatrixDouble4x4Type = Matrix<double, 4, 4>
using | MatrixFloat1x1Type = Matrix<float, 1, 1>
using | MatrixFloat2x2Type = Matrix<float, 2, 2>
using | MatrixFloat3x3Type = Matrix<float, 3, 3>
using | MatrixFloat4x4Type = Matrix<float, 4, 4>
using | Offset1DType = Offset<1>
using | Offset2DType = Offset<2>
using | Offset3DType = Offset<3>
using | Offset4DType = Offset<4>
using | PointDouble1DType = Point<double, 1>
using | PointDouble2DType = Point<double, 2>
using | PointDouble3DType = Point<double, 3>
using | PointDouble4DType = Point<double, 4>
using | PointFloat1DType = Point<float, 1>
using | PointFloat2DType = Point<float, 2>
using | PointFloat3DType = Point<float, 3>
using | PointFloat4DType = Point<float, 4>
using | PointInt1DType = Point<int, 1>
using | PointInt2DType = Point<int, 2>
using | PointInt3DType = Point<int, 3>
using | PointInt4DType = Point<int, 4>
using | Self = OpenCLMemoryObject
using | Size1DType = Size<1>
using | Size2DType = Size<2>
using | Size3DType = Size<3>
using | Size4DType = Size<4>
using | VectorDouble1DType = Vector<double, 1>
using | VectorDouble2DType = Vector<double, 2>
using | VectorDouble3DType = Vector<double, 3>
using | VectorDouble4DType = Vector<double, 4>
using | VectorFloat1DType = Vector<float, 1>
using | VectorFloat2DType = Vector<float, 2>
using | VectorFloat3DType = Vector<float, 3>
using | VectorFloat4DType = Vector<float, 4>
using | VectorInt1DType = Vector<int, 1>
using | VectorInt2DType = Vector<int, 2>
using | VectorInt3DType = Vector<int, 3>
using | VectorInt4DType = Vector<int, 4>

## Public Member Functions

OpenCLSize | GetBestLocalWorkSizeImage (const std::vcl_size_t dimension) const
OpenCLSize | GetBestLocalWorkSizeImage1D () const
OpenCLSize | GetBestLocalWorkSizeImage2D () const
OpenCLSize | GetBestLocalWorkSizeImage3D () const
OpenCLSize | GetCompileWorkGroupSize () const
OpenCLSize | GetCompileWorkGroupSize (const OpenCLDevice &device) const
OpenCLContext * | GetContext () const
bool | GetDoubleAsFloatEnabled ()
OpenCLSize | GetGlobalWorkOffset () const
OpenCLSize | GetGlobalWorkSize () const
cl_kernel | GetKernelId () const
OpenCLSize | GetLocalWorkSize () const
std::string | GetName () const
std::vcl_size_t | GetNumberOfArguments () const
vcl_size_t | GetPreferredWorkSizeMultiple () const
OpenCLProgram | GetProgram () const
bool | IsNull () const
OpenCLEvent | LaunchKernel ()
OpenCLEvent | LaunchKernel (const OpenCLEventList &event_list)
OpenCLEvent | LaunchKernel (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 OpenCLSize &global_work_size, const OpenCLSize &local_work_size=OpenCLSize::null, const OpenCLSize &global_work_offset=OpenCLSize::null)
bool | LaunchTask (const OpenCLEventList &event_list)
OpenCLEvent | LaunchTaskAsync (const OpenCLEventList &event_list)
| OpenCLKernel ()
| OpenCLKernel (const OpenCLKernel &other)
| OpenCLKernel (OpenCLContext *context, const cl_kernel id)
cl_char16 cl_short16 cl_int16 cl_long16 | OpenCLKernelSetArgsMacroH (cl_float, cl_float2, cl_float4, cl_float8, cl_float16) OpenCLKernelSetArgsMacroH(cl_double
| OpenCLKernelSetArgsMacroH (cl_uchar, cl_uchar2, cl_uchar4, cl_uchar8, cl_uchar16) OpenCLKernelSetArgsMacroH(cl_char
cl_char16 cl_short16 | OpenCLKernelSetArgsMacroH (cl_uint, cl_uint2, cl_uint4, cl_uint8, cl_uint16) OpenCLKernelSetArgsMacroH(cl_int
cl_char16 cl_short16 cl_int16 | OpenCLKernelSetArgsMacroH (cl_ulong, cl_ulong2, cl_ulong4, cl_ulong8, cl_ulong16) OpenCLKernelSetArgsMacroH(cl_long
cl_char16 | OpenCLKernelSetArgsMacroH (cl_ushort, cl_ushort2, cl_ushort4, cl_ushort8, cl_ushort16) OpenCLKernelSetArgsMacroH(cl_short
OpenCLEvent | operator() ()
template<typename T1>
OpenCLEvent | operator() (const T1 &arg1)
template<typename T1, typename T2>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2)
template<typename T1, typename T2, typename T3>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3)
template<typename T1, typename T2, typename T3, typename T4>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4)
template<typename T1, typename T2, typename T3, typename T4, typename T5>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5)
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5, const T6 &arg6)
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5, const T6 &arg6, const T7 &arg7)
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5, const T6 &arg6, const T7 &arg7, const T8 &arg8)
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5, const T6 &arg6, const T7 &arg7, const T8 &arg8, const T9 &arg9)
template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
OpenCLEvent | operator() (const T1 &arg1, const T2 &arg2, const T3 &arg3, const T4 &arg4, const T5 &arg5, const T6 &arg6, const T7 &arg7, const T8 &arg8, const T9 &arg9, const T10 &arg10)
OpenCLKernel & | operator= (const OpenCLKernel &other)
cl_int | SetArg (const cl_uint index, const CovariantVectorDouble1DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorDouble2DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorDouble3DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorDouble4DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorFloat1DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorFloat2DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorFloat3DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorFloat4DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorInt1DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorInt2DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorInt3DType &value)
cl_int | SetArg (const cl_uint index, const CovariantVectorInt4DType &value)
cl_int | SetArg (const cl_uint index, const Index1DType &value)
cl_int | SetArg (const cl_uint index, const Index2DType &value)
cl_int | SetArg (const cl_uint index, const Index3DType &value)
cl_int | SetArg (const cl_uint index, const Index4DType &value)
cl_int | SetArg (const cl_uint index, const MatrixDouble1x1Type &value)
cl_int | SetArg (const cl_uint index, const MatrixDouble2x2Type &value)
cl_int | SetArg (const cl_uint index, const MatrixDouble3x3Type &value)
cl_int | SetArg (const cl_uint index, const MatrixDouble4x4Type &value)
cl_int | SetArg (const cl_uint index, const MatrixFloat1x1Type &value)
cl_int | SetArg (const cl_uint index, const MatrixFloat2x2Type &value)
cl_int | SetArg (const cl_uint index, const MatrixFloat3x3Type &value)
cl_int | SetArg (const cl_uint index, const MatrixFloat4x4Type &value)
cl_int | SetArg (const cl_uint index, const Offset1DType &value)
cl_int | SetArg (const cl_uint index, const Offset2DType &value)
cl_int | SetArg (const cl_uint index, const Offset3DType &value)
cl_int | SetArg (const cl_uint index, const Offset4DType &value)
cl_int | SetArg (const cl_uint index, const OpenCLMemoryObject &value)
cl_int | SetArg (const cl_uint index, const OpenCLSampler &value)
cl_int | SetArg (const cl_uint index, const OpenCLVectorBase &value)
cl_int | SetArg (const cl_uint index, const PointDouble1DType &value)
cl_int | SetArg (const cl_uint index, const PointDouble2DType &value)
cl_int | SetArg (const cl_uint index, const PointDouble3DType &value)
cl_int | SetArg (const cl_uint index, const PointDouble4DType &value)
cl_int | SetArg (const cl_uint index, const PointFloat1DType &value)
cl_int | SetArg (const cl_uint index, const PointFloat2DType &value)
cl_int | SetArg (const cl_uint index, const PointFloat3DType &value)
cl_int | SetArg (const cl_uint index, const PointFloat4DType &value)
cl_int | SetArg (const cl_uint index, const PointInt1DType &value)
cl_int | SetArg (const cl_uint index, const PointInt2DType &value)
cl_int | SetArg (const cl_uint index, const PointInt3DType &value)
cl_int | SetArg (const cl_uint index, const PointInt4DType &value)
cl_int | SetArg (const cl_uint index, const Size1DType &value)
cl_int | SetArg (const cl_uint index, const Size2DType &value)
cl_int | SetArg (const cl_uint index, const Size3DType &value)
cl_int | SetArg (const cl_uint index, const Size4DType &value)
cl_int | SetArg (const cl_uint index, const VectorDouble1DType &value)
cl_int | SetArg (const cl_uint index, const VectorDouble2DType &value)
cl_int | SetArg (const cl_uint index, const VectorDouble3DType &value)
cl_int | SetArg (const cl_uint index, const VectorDouble4DType &value)
cl_int | SetArg (const cl_uint index, const VectorFloat1DType &value)
cl_int | SetArg (const cl_uint index, const VectorFloat2DType &value)
cl_int | SetArg (const cl_uint index, const VectorFloat3DType &value)
cl_int | SetArg (const cl_uint index, const VectorFloat4DType &value)
cl_int | SetArg (const cl_uint index, const VectorInt1DType &value)
cl_int | SetArg (const cl_uint index, const VectorInt2DType &value)
cl_int | SetArg (const cl_uint index, const VectorInt3DType &value)
cl_int | SetArg (const cl_uint index, const VectorInt4DType &value)
cl_char16 cl_short16 cl_int16 cl_long16 cl_double16 cl_int | SetArg (const cl_uint index, const void *data, const vcl_size_t size)
void | SetDoubleAsFloat (const bool value)
void | SetDoubleAsFloatDisable ()
void | SetDoubleAsFloatEnable ()
void | SetGlobalWorkOffset (const OpenCLSize &offset)
void | SetGlobalWorkSize (const OpenCLSize &size)
void | SetLocalWorkSize (const OpenCLSize &size)
void | SetRoundedGlobalWorkSize (const OpenCLSize &size)
| ~OpenCLKernel ()

## Data Fields

| cl_char2
| cl_char4
| cl_char8
cl_char16 cl_short16 cl_int16 cl_long16 | cl_double2
cl_char16 cl_short16 cl_int16 cl_long16 | cl_double4
cl_char16 cl_short16 cl_int16 cl_long16 | cl_double8
cl_char16 cl_short16 | cl_int2
cl_char16 cl_short16 | cl_int4
cl_char16 cl_short16 | cl_int8
cl_char16 cl_short16 cl_int16 | cl_long2
cl_char16 cl_short16 cl_int16 | cl_long4
cl_char16 cl_short16 cl_int16 | cl_long8
cl_char16 | cl_short2
cl_char16 | cl_short4
cl_char16 | cl_short8

## Private Attributes

std::unique_ptr< OpenCLKernelPimpl > | d_ptr
bool | m_DoubleAsFloat
cl_kernel | m_KernelId

## Member Typedef Documentation

## CovariantVectorDouble1DType

using itk::OpenCLKernel::CovariantVectorDouble1DType = CovariantVector<double, 1>

Definition at line 497 of file itkOpenCLKernel.h.

## CovariantVectorDouble2DType

using itk::OpenCLKernel::CovariantVectorDouble2DType = CovariantVector<double, 2>

Definition at line 509 of file itkOpenCLKernel.h.

## CovariantVectorDouble3DType

using itk::OpenCLKernel::CovariantVectorDouble3DType = CovariantVector<double, 3>

Definition at line 521 of file itkOpenCLKernel.h.

## CovariantVectorDouble4DType

using itk::OpenCLKernel::CovariantVectorDouble4DType = CovariantVector<double, 4>

Definition at line 533 of file itkOpenCLKernel.h.

## CovariantVectorFloat1DType

using itk::OpenCLKernel::CovariantVectorFloat1DType = CovariantVector<float, 1>

Definition at line 493 of file itkOpenCLKernel.h.

## CovariantVectorFloat2DType

using itk::OpenCLKernel::CovariantVectorFloat2DType = CovariantVector<float, 2>

Definition at line 505 of file itkOpenCLKernel.h.

## CovariantVectorFloat3DType

using itk::OpenCLKernel::CovariantVectorFloat3DType = CovariantVector<float, 3>

Definition at line 517 of file itkOpenCLKernel.h.

## CovariantVectorFloat4DType

using itk::OpenCLKernel::CovariantVectorFloat4DType = CovariantVector<float, 4>

Definition at line 529 of file itkOpenCLKernel.h.

## CovariantVectorInt1DType

using itk::OpenCLKernel::CovariantVectorInt1DType = CovariantVector<int, 1>

Sets argument index for this kernel to covariant vector value.

Definition at line 489 of file itkOpenCLKernel.h.

## CovariantVectorInt2DType

using itk::OpenCLKernel::CovariantVectorInt2DType = CovariantVector<int, 2>

Definition at line 501 of file itkOpenCLKernel.h.

## CovariantVectorInt3DType

using itk::OpenCLKernel::CovariantVectorInt3DType = CovariantVector<int, 3>

Definition at line 513 of file itkOpenCLKernel.h.

## CovariantVectorInt4DType

using itk::OpenCLKernel::CovariantVectorInt4DType = CovariantVector<int, 4>

Definition at line 525 of file itkOpenCLKernel.h.

## Index1DType

using itk::OpenCLKernel::Index1DType = Index<1>

Sets argument index for this kernel to index value.

Definition at line 356 of file itkOpenCLKernel.h.

## Index2DType

using itk::OpenCLKernel::Index2DType = Index<2>

Definition at line 360 of file itkOpenCLKernel.h.

## Index3DType

using itk::OpenCLKernel::Index3DType = Index<3>

Definition at line 364 of file itkOpenCLKernel.h.

## Index4DType

using itk::OpenCLKernel::Index4DType = Index<4>

Definition at line 368 of file itkOpenCLKernel.h.

## MatrixDouble1x1Type

using itk::OpenCLKernel::MatrixDouble1x1Type = Matrix<double, 1, 1>

Definition at line 542 of file itkOpenCLKernel.h.

## MatrixDouble2x2Type

using itk::OpenCLKernel::MatrixDouble2x2Type = Matrix<double, 2, 2>

Definition at line 550 of file itkOpenCLKernel.h.

## MatrixDouble3x3Type

using itk::OpenCLKernel::MatrixDouble3x3Type = Matrix<double, 3, 3>

Definition at line 558 of file itkOpenCLKernel.h.

## MatrixDouble4x4Type

using itk::OpenCLKernel::MatrixDouble4x4Type = Matrix<double, 4, 4>

Definition at line 566 of file itkOpenCLKernel.h.

## MatrixFloat1x1Type

using itk::OpenCLKernel::MatrixFloat1x1Type = Matrix<float, 1, 1>

Sets argument index for this kernel to matrix value.

Definition at line 538 of file itkOpenCLKernel.h.

## MatrixFloat2x2Type

using itk::OpenCLKernel::MatrixFloat2x2Type = Matrix<float, 2, 2>

Definition at line 546 of file itkOpenCLKernel.h.

## MatrixFloat3x3Type

using itk::OpenCLKernel::MatrixFloat3x3Type = Matrix<float, 3, 3>

Definition at line 554 of file itkOpenCLKernel.h.

## MatrixFloat4x4Type

using itk::OpenCLKernel::MatrixFloat4x4Type = Matrix<float, 4, 4>

Definition at line 562 of file itkOpenCLKernel.h.

## Offset1DType

using itk::OpenCLKernel::Offset1DType = Offset<1>

Sets argument index for this kernel to offset value.

Definition at line 373 of file itkOpenCLKernel.h.

## Offset2DType

using itk::OpenCLKernel::Offset2DType = Offset<2>

Definition at line 377 of file itkOpenCLKernel.h.

## Offset3DType

using itk::OpenCLKernel::Offset3DType = Offset<3>

Definition at line 381 of file itkOpenCLKernel.h.

## Offset4DType

using itk::OpenCLKernel::Offset4DType = Offset<4>

Definition at line 385 of file itkOpenCLKernel.h.

## PointDouble1DType

using itk::OpenCLKernel::PointDouble1DType = Point<double, 1>

Definition at line 398 of file itkOpenCLKernel.h.

## PointDouble2DType

using itk::OpenCLKernel::PointDouble2DType = Point<double, 2>

Definition at line 410 of file itkOpenCLKernel.h.

## PointDouble3DType

using itk::OpenCLKernel::PointDouble3DType = Point<double, 3>

Definition at line 422 of file itkOpenCLKernel.h.

## PointDouble4DType

using itk::OpenCLKernel::PointDouble4DType = Point<double, 4>

Definition at line 434 of file itkOpenCLKernel.h.

## PointFloat1DType

using itk::OpenCLKernel::PointFloat1DType = Point<float, 1>

Definition at line 394 of file itkOpenCLKernel.h.

## PointFloat2DType

using itk::OpenCLKernel::PointFloat2DType = Point<float, 2>

Definition at line 406 of file itkOpenCLKernel.h.

## PointFloat3DType

using itk::OpenCLKernel::PointFloat3DType = Point<float, 3>

Definition at line 418 of file itkOpenCLKernel.h.

## PointFloat4DType

using itk::OpenCLKernel::PointFloat4DType = Point<float, 4>

Definition at line 430 of file itkOpenCLKernel.h.

## PointInt1DType

using itk::OpenCLKernel::PointInt1DType = Point<int, 1>

Sets argument index for this kernel to point value.

Definition at line 390 of file itkOpenCLKernel.h.

## PointInt2DType

using itk::OpenCLKernel::PointInt2DType = Point<int, 2>

Definition at line 402 of file itkOpenCLKernel.h.

## PointInt3DType

using itk::OpenCLKernel::PointInt3DType = Point<int, 3>

Definition at line 414 of file itkOpenCLKernel.h.

## PointInt4DType

using itk::OpenCLKernel::PointInt4DType = Point<int, 4>

Definition at line 426 of file itkOpenCLKernel.h.

## Self

using itk::OpenCLKernel::Self = OpenCLMemoryObject

Standard class typedefs.

Definition at line 139 of file itkOpenCLKernel.h.

## Size1DType

using itk::OpenCLKernel::Size1DType = Size<1>

Sets argument index for this kernel to size value.

Definition at line 339 of file itkOpenCLKernel.h.

## Size2DType

using itk::OpenCLKernel::Size2DType = Size<2>

Definition at line 343 of file itkOpenCLKernel.h.

## Size3DType

using itk::OpenCLKernel::Size3DType = Size<3>

Definition at line 347 of file itkOpenCLKernel.h.

## Size4DType

using itk::OpenCLKernel::Size4DType = Size<4>

Definition at line 351 of file itkOpenCLKernel.h.

## VectorDouble1DType

using itk::OpenCLKernel::VectorDouble1DType = Vector<double, 1>

Definition at line 448 of file itkOpenCLKernel.h.

## VectorDouble2DType

using itk::OpenCLKernel::VectorDouble2DType = Vector<double, 2>

Definition at line 460 of file itkOpenCLKernel.h.

## VectorDouble3DType

using itk::OpenCLKernel::VectorDouble3DType = Vector<double, 3>

Definition at line 472 of file itkOpenCLKernel.h.

## VectorDouble4DType

using itk::OpenCLKernel::VectorDouble4DType = Vector<double, 4>

Definition at line 484 of file itkOpenCLKernel.h.

## VectorFloat1DType

using itk::OpenCLKernel::VectorFloat1DType = Vector<float, 1>

Definition at line 444 of file itkOpenCLKernel.h.

## VectorFloat2DType

using itk::OpenCLKernel::VectorFloat2DType = Vector<float, 2>

Definition at line 456 of file itkOpenCLKernel.h.

## VectorFloat3DType

using itk::OpenCLKernel::VectorFloat3DType = Vector<float, 3>

Definition at line 468 of file itkOpenCLKernel.h.

## VectorFloat4DType

using itk::OpenCLKernel::VectorFloat4DType = Vector<float, 4>

Definition at line 480 of file itkOpenCLKernel.h.

## VectorInt1DType

using itk::OpenCLKernel::VectorInt1DType = Vector<int, 1>

Sets argument index for this kernel to vector value. ITK Vector typedefs.

Definition at line 440 of file itkOpenCLKernel.h.

## VectorInt2DType

using itk::OpenCLKernel::VectorInt2DType = Vector<int, 2>

Definition at line 452 of file itkOpenCLKernel.h.

## VectorInt3DType

using itk::OpenCLKernel::VectorInt3DType = Vector<int, 3>

Definition at line 464 of file itkOpenCLKernel.h.

## VectorInt4DType

using itk::OpenCLKernel::VectorInt4DType = Vector<int, 4>

Definition at line 476 of file itkOpenCLKernel.h.

## Constructor & Destructor Documentation

## OpenCLKernel() [1/3]

itk::OpenCLKernel::OpenCLKernel | ( |  | ) |

Constructs a null OpenCL kernel object.

## OpenCLKernel() [2/3]

itk::OpenCLKernel::OpenCLKernel | ( | OpenCLContext * | context,
|  | const cl_kernel | id )

Constructs an OpenCL kernel object from the native identifier id, and associates it with GetContext. This class will take over ownership of id and release it in the destructor.

## OpenCLKernel() [3/3]

itk::OpenCLKernel::OpenCLKernel | ( | const OpenCLKernel & | other | ) |

Constructs a copy of other.

## ~OpenCLKernel()

itk::OpenCLKernel::~OpenCLKernel | ( |  | ) |

Releases this OpenCL kernel object. If this is the last reference to the kernel, it will be destroyed.

## Member Function Documentation

## GetBestLocalWorkSizeImage()

OpenCLSize itk::OpenCLKernel::GetBestLocalWorkSizeImage | ( | const std::vcl_size_t | dimension | ) | const

Returns the recommended best local work size for 1D/2D/3D image processing based on the dimension on this kernel.

## GetBestLocalWorkSizeImage1D()

OpenCLSize itk::OpenCLKernel::GetBestLocalWorkSizeImage1D | ( |  | ) | const

Returns the recommended best local work size for 1D image processing on this kernel. Default value is 8 unless the maximum work size is not large enough to accommodate 8 items.

See also
  GetBestLocalWorkSizeImage2D(), GetBestLocalWorkSizeImage3D

## GetBestLocalWorkSizeImage2D()

OpenCLSize itk::OpenCLKernel::GetBestLocalWorkSizeImage2D | ( |  | ) | const

Returns the recommended best local work size for 2D image processing on this kernel. Default value is 8x8 unless the maximum work size is not large enough to accommodate 8x8 items.

See also
  GetBestLocalWorkSizeImage1D, GetBestLocalWorkSizeImage3D()

## GetBestLocalWorkSizeImage3D()

OpenCLSize itk::OpenCLKernel::GetBestLocalWorkSizeImage3D | ( |  | ) | const

Returns the recommended best local work size for 3D image processing on this kernel. Default value is 8x8x8 unless the maximum work size is not large enough to accommodate 8x8x8 items.

See also
  GetBestLocalWorkSizeImage1D, GetBestLocalWorkSizeImage2D()

## GetCompileWorkGroupSize() [1/2]

OpenCLSize itk::OpenCLKernel::GetCompileWorkGroupSize | ( |  | ) | const

Returns the work group size that was declared in the kernel's source code using a ``{reqd_work_group_size} qualifier. Returns (0, 0, 0) if the size is not declared. The default device for GetContext() is used to retrieve the work group size.

## GetCompileWorkGroupSize() [2/2]

OpenCLSize itk::OpenCLKernel::GetCompileWorkGroupSize | ( | const OpenCLDevice & | device | ) | const

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Returns the work group size that was declared in the kernel's source code using a ``{reqd_work_group_size} qualifier. Returns (0, 0, 0) if the size is not declared. The specified device is used to retrieve the work group size.

## GetContext()

OpenCLContext * itk::OpenCLKernel::GetContext | ( |  | ) | const

Returns the OpenCL GetContext that this kernel was created within.

## GetDoubleAsFloatEnabled()

bool itk::OpenCLKernel::GetDoubleAsFloatEnabled | ( |  | ) |

inline

Definition at line 295 of file itkOpenCLKernel.h.

## GetGlobalWorkOffset()

OpenCLSize itk::OpenCLKernel::GetGlobalWorkOffset | ( |  | ) | const

Returns the global work offset size for this instance of the kernel. The default value is 0.

See also
  SetGlobalWorkOffset()

## GetGlobalWorkSize()

OpenCLSize itk::OpenCLKernel::GetGlobalWorkSize | ( |  | ) | const

Returns the global work size for this instance of the kernel. The default value is 1.

See also
  SetGlobalWorkSize(), GetLocalWorkSize()

## GetKernelId()

cl_kernel itk::OpenCLKernel::GetKernelId | ( |  | ) | const

Returns the native OpenCL identifier for this kernel.

## GetLocalWorkSize()

OpenCLSize itk::OpenCLKernel::GetLocalWorkSize | ( |  | ) | const

Returns the local work size for this instance of the kernel. The default value is 0, which indicates that the local work size is not used.

See also
  SetLocalWorkSize(), GetGlobalWorkSize()

## GetName()

std::string itk::OpenCLKernel::GetName | ( |  | ) | const

Returns the name of this OpenCL kernel's entry point function.

## GetNumberOfArguments()

std::vcl_size_t itk::OpenCLKernel::GetNumberOfArguments | ( |  | ) | const

Returns the number of arguments that are expected by this OpenCL kernel.

See also
  setArg()

## GetPreferredWorkSizeMultiple()

vcl_size_t itk::OpenCLKernel::GetPreferredWorkSizeMultiple | ( |  | ) | const

Returns the preferred work group size multiple, which is a performance hint for the local work group size on OpenCL 1.1 systems. Returns zero if the system is OpenCL 1.0, or a preferred work group size multiple is not available.

## GetProgram()

OpenCLProgram itk::OpenCLKernel::GetProgram | ( |  | ) | const

Returns the OpenCL program that this kernel is associated with.

## IsNull()

bool itk::OpenCLKernel::IsNull | ( |  | ) | const

Returns true if this OpenCL kernel object is null, false otherwise.

## LaunchKernel() [1/4]

OpenCLEvent itk::OpenCLKernel::LaunchKernel | ( |  | ) |

Requests that this kernel instance be run on GetGlobalWorkSize() items, optionally subdivided into work groups of GetLocalWorkSize() items. Returns an event object that can be used to wait for the kernel to finish execution. The request is executed on the active command queue for GetContext().

See also
  operator()()

## LaunchKernel() [2/4]

OpenCLEvent itk::OpenCLKernel::LaunchKernel | ( | const OpenCLEventList & | event_list | ) |

Requests that this kernel instance be run on GetGlobalWorkSize() items, optionally subdivided into work groups of GetLocalWorkSize() items. If event_list is not an empty list, it indicates the events that must be signaled as finished before this kernel instance can begin executing. Returns an event object that can be used to wait for the kernel to finish execution. The request is executed on the active command queue for GetContext().

## LaunchKernel() [3/4]

OpenCLEvent itk::OpenCLKernel::LaunchKernel | ( | const OpenCLEventList & | event_list,
|  | const OpenCLSize & | global_work_size,
|  | const OpenCLSize & | local_work_size = OpenCLSize::null,
|  | const OpenCLSize & | global_work_offset = OpenCLSize::null )

## LaunchKernel() [4/4]

OpenCLEvent itk::OpenCLKernel::LaunchKernel | ( | const OpenCLSize & | global_work_size,
|  | const OpenCLSize & | local_work_size = OpenCLSize::null,
|  | const OpenCLSize & | global_work_offset = OpenCLSize::null )

## LaunchTask()

bool itk::OpenCLKernel::LaunchTask | ( | const OpenCLEventList & | event_list | ) |

Enqueues a command to execute a kernel on a device. The kernel is executed using a single work-item. Returns true if the task was successful, false otherwise. This function will block until the request finishes. The request is executed on the active command queue for context().

See also
  LaunchTaskAsync()

## LaunchTaskAsync()

OpenCLEvent itk::OpenCLKernel::LaunchTaskAsync | ( | const OpenCLEventList & | event_list | ) |

Asynchronous version of the LaunchTask() method. This function will queue the task event_list and return immediately. Returns an OpenCLEvent object that can be used to wait for the request to finish. The request will not start until all of the events in event_list have been signaled as completed.

See also
  LaunchTask(), OpenCLEvent::IsComplete()

## OpenCLKernelSetArgsMacroH() [1/5]

cl_char16 cl_short16 cl_int16 cl_long16 itk::OpenCLKernel::OpenCLKernelSetArgsMacroH | ( | cl_float | ,
|  | cl_float2 | ,
|  | cl_float4 | ,
|  | cl_float8 | ,
|  | cl_float16 | )

## OpenCLKernelSetArgsMacroH() [2/5]

itk::OpenCLKernel::OpenCLKernelSetArgsMacroH | ( | cl_uchar | ,
|  | cl_uchar2 | ,
|  | cl_uchar4 | ,
|  | cl_uchar8 | ,
|  | cl_uchar16 | )

Sets argument index for this kernel to value. The argument is assumed to have been declared with the types: char(n), uchar(n), short(n), ushort(n), int(n), uint(n), long(n), ulong(n), float(n), double(n). Due to number of overloads below, we have to use C++11 std::enable_if, std::is_scalar, std::is_union, which doesn't supported by all compilers. Sets argument index for this kernel to value. Macro definitions of SetArg() methods for types: char(n), uchar(n), short(n), ushort(n), int(n), uint(n), long(n), ulong(n), float(n), double(n).

Note
  Instead of using macro, we could just use templated version of the SetArg() with C++11 here (see commented code above).

## OpenCLKernelSetArgsMacroH() [3/5]

cl_char16 cl_short16 itk::OpenCLKernel::OpenCLKernelSetArgsMacroH | ( | cl_uint | ,
|  | cl_uint2 | ,
|  | cl_uint4 | ,
|  | cl_uint8 | ,
|  | cl_uint16 | )

## OpenCLKernelSetArgsMacroH() [4/5]

cl_char16 cl_short16 cl_int16 itk::OpenCLKernel::OpenCLKernelSetArgsMacroH | ( | cl_ulong | ,
|  | cl_ulong2 | ,
|  | cl_ulong4 | ,
|  | cl_ulong8 | ,
|  | cl_ulong16 | )

## OpenCLKernelSetArgsMacroH() [5/5]

cl_char16 itk::OpenCLKernel::OpenCLKernelSetArgsMacroH | ( | cl_ushort | ,
|  | cl_ushort2 | ,
|  | cl_ushort4 | ,
|  | cl_ushort8 | ,
|  | cl_ushort16 | )

## operator()() [1/11]

OpenCLEvent itk::OpenCLKernel::operator() | ( |  | ) |

inline

Runs this kernel instance with zero arguments. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 639 of file itkOpenCLKernel.h.

## operator()() [2/11]

template<typename T1>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1 | ) |

inline

Runs this kernel instance with the argument arg1. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 649 of file itkOpenCLKernel.h.

## operator()() [3/11]

template<typename T1, typename T2>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2 )

inline

Runs this kernel instance with the arguments arg1 and arg2. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 661 of file itkOpenCLKernel.h.

## operator()() [4/11]

template<typename T1, typename T2, typename T3>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3 )

inline

Runs this kernel instance with the arguments arg1, arg2, and arg3. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 674 of file itkOpenCLKernel.h.

## operator()() [5/11]

template<typename T1, typename T2, typename T3, typename T4>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3,
|  | const T4 & | arg4 )

inline

Runs this kernel instance with the arguments arg1, arg2, arg3, and arg4. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 688 of file itkOpenCLKernel.h.

## operator()() [6/11]

template<typename T1, typename T2, typename T3, typename T4, typename T5>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3,
|  | const T4 & | arg4,
|  | const T5 & | arg5 )

inline

Runs this kernel instance with the arguments arg1, arg2, arg3, arg4, and arg5. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 703 of file itkOpenCLKernel.h.

## operator()() [7/11]

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3,
|  | const T4 & | arg4,
|  | const T5 & | arg5,
|  | const T6 & | arg6 )

inline

Runs this kernel instance with the arguments arg1, arg2, arg3, arg4, arg5, and arg6. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 719 of file itkOpenCLKernel.h.

## operator()() [8/11]

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3,
|  | const T4 & | arg4,
|  | const T5 & | arg5,
|  | const T6 & | arg6,
|  | const T7 & | arg7 )

inline

Runs this kernel instance with the arguments arg1, arg2, arg3, arg4, arg5, arg6, and arg7. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 736 of file itkOpenCLKernel.h.

## operator()() [9/11]

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3,
|  | const T4 & | arg4,
|  | const T5 & | arg5,
|  | const T6 & | arg6,
|  | const T7 & | arg7,
|  | const T8 & | arg8 )

inline

Runs this kernel instance with the arguments arg1, arg2, arg3, arg4, arg5, arg6, arg7, and arg8. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 760 of file itkOpenCLKernel.h.

## operator()() [10/11]

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3,
|  | const T4 & | arg4,
|  | const T5 & | arg5,
|  | const T6 & | arg6,
|  | const T7 & | arg7,
|  | const T8 & | arg8,
|  | const T9 & | arg9 )

inline

Runs this kernel instance with the arguments arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, and arg9. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 795 of file itkOpenCLKernel.h.

## operator()() [11/11]

template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>

OpenCLEvent itk::OpenCLKernel::operator() | ( | const T1 & | arg1,
|  | const T2 & | arg2,
|  | const T3 & | arg3,
|  | const T4 & | arg4,
|  | const T5 & | arg5,
|  | const T6 & | arg6,
|  | const T7 & | arg7,
|  | const T8 & | arg8,
|  | const T9 & | arg9,
|  | const T10 & | arg10 )

inline

Runs this kernel instance with the arguments arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, and arg10. Returns an event object that can be used to wait for the kernel to finish execution.

Definition at line 833 of file itkOpenCLKernel.h.

## operator=()

OpenCLKernel & itk::OpenCLKernel::operator= | ( | const OpenCLKernel & | other | ) |

Assigns other to this object.

## SetArg() [1/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorDouble1DType & | value )

## SetArg() [2/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorDouble2DType & | value )

## SetArg() [3/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorDouble3DType & | value )

## SetArg() [4/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorDouble4DType & | value )

## SetArg() [5/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorFloat1DType & | value )

## SetArg() [6/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorFloat2DType & | value )

## SetArg() [7/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorFloat3DType & | value )

## SetArg() [8/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorFloat4DType & | value )

## SetArg() [9/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorInt1DType & | value )

## SetArg() [10/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorInt2DType & | value )

## SetArg() [11/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorInt3DType & | value )

## SetArg() [12/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const CovariantVectorInt4DType & | value )

## SetArg() [13/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Index1DType & | value )

## SetArg() [14/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Index2DType & | value )

## SetArg() [15/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Index3DType & | value )

## SetArg() [16/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Index4DType & | value )

## SetArg() [17/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixDouble1x1Type & | value )

## SetArg() [18/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixDouble2x2Type & | value )

## SetArg() [19/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixDouble3x3Type & | value )

## SetArg() [20/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixDouble4x4Type & | value )

## SetArg() [21/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixFloat1x1Type & | value )

## SetArg() [22/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixFloat2x2Type & | value )

## SetArg() [23/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixFloat3x3Type & | value )

## SetArg() [24/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const MatrixFloat4x4Type & | value )

## SetArg() [25/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Offset1DType & | value )

## SetArg() [26/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Offset2DType & | value )

## SetArg() [27/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Offset3DType & | value )

## SetArg() [28/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Offset4DType & | value )

## SetArg() [29/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const OpenCLMemoryObject & | value )

Sets argument index for this kernel to value. The argument is assumed to have been declared with the type `image1d_t`, `image2d_t`, `image3d_t`, or be a pointer to a buffer, according to the type of memory object represented by value.

## SetArg() [30/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const OpenCLSampler & | value )

Sets argument index for this kernel to value. The argument is assumed to have been declared with the type `sampler_t`.

## SetArg() [31/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const OpenCLVectorBase & | value )

Sets argument index for this kernel to value. The argument is assumed to have been declared as a pointer to a buffer.

## SetArg() [32/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointDouble1DType & | value )

## SetArg() [33/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointDouble2DType & | value )

## SetArg() [34/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointDouble3DType & | value )

## SetArg() [35/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointDouble4DType & | value )

## SetArg() [36/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointFloat1DType & | value )

## SetArg() [37/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointFloat2DType & | value )

## SetArg() [38/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointFloat3DType & | value )

## SetArg() [39/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointFloat4DType & | value )

## SetArg() [40/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointInt1DType & | value )

## SetArg() [41/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointInt2DType & | value )

## SetArg() [42/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointInt3DType & | value )

## SetArg() [43/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const PointInt4DType & | value )

## SetArg() [44/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Size1DType & | value )

## SetArg() [45/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Size2DType & | value )

## SetArg() [46/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Size3DType & | value )

## SetArg() [47/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const Size4DType & | value )

## SetArg() [48/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorDouble1DType & | value )

## SetArg() [49/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorDouble2DType & | value )

## SetArg() [50/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorDouble3DType & | value )

## SetArg() [51/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorDouble4DType & | value )

## SetArg() [52/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorFloat1DType & | value )

## SetArg() [53/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorFloat2DType & | value )

## SetArg() [54/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorFloat3DType & | value )

## SetArg() [55/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorFloat4DType & | value )

## SetArg() [56/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorInt1DType & | value )

## SetArg() [57/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorInt2DType & | value )

## SetArg() [58/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorInt3DType & | value )

## SetArg() [59/60]

cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const VectorInt4DType & | value )

## SetArg() [60/60]

cl_char16 cl_short16 cl_int16 cl_long16 cl_double16 cl_int itk::OpenCLKernel::SetArg | ( | const cl_uint | index,
|  | const void * | data,
|  | const vcl_size_t | size )

Sets argument index to the size bytes at data.

## SetDoubleAsFloat()

void itk::OpenCLKernel::SetDoubleAsFloat | ( | const bool | value | ) |

inline

Sets the flag double as float to value. Default is true. By enabling this flag, setting kernel with all double values are converted to float. \not Doesn't effect SetArg(index, double(n)) method.

See also
  GetDoubleAsFloatEnabled()

Definition at line 280 of file itkOpenCLKernel.h.

## SetDoubleAsFloatDisable()

void itk::OpenCLKernel::SetDoubleAsFloatDisable | ( |  | ) |

inline

Definition at line 290 of file itkOpenCLKernel.h.

## SetDoubleAsFloatEnable()

void itk::OpenCLKernel::SetDoubleAsFloatEnable | ( |  | ) |

inline

Definition at line 285 of file itkOpenCLKernel.h.

## SetGlobalWorkOffset()

void itk::OpenCLKernel::SetGlobalWorkOffset | ( | const OpenCLSize & | offset | ) |

Sets the offset for this instance of the kernel to offset.

See also
  GetLocalWorkSize()

## SetGlobalWorkSize()

void itk::OpenCLKernel::SetGlobalWorkSize | ( | const OpenCLSize & | size | ) |

Sets the global work size for this instance of the kernel to size.

See also
  GetGlobalWorkSize(), SetLocalWorkSize(), SetRoundedGlobalWorkSize()

## SetLocalWorkSize()

void itk::OpenCLKernel::SetLocalWorkSize | ( | const OpenCLSize & | size | ) |

Sets the local work size for this instance of the kernel to size.

See also
  SetGlobalWorkSize()

## SetRoundedGlobalWorkSize()

void itk::OpenCLKernel::SetRoundedGlobalWorkSize | ( | const OpenCLSize & | size | ) |

Sets the global work size for this instance of the kernel to size, after rounding it up to the next multiple of GetLocalWorkSize().

See also
  GetGlobalWorkSize(), OpenCLSize::RoundTo()

## Field Documentation

## cl_char2

itk::OpenCLKernel::cl_char2

Definition at line 325 of file itkOpenCLKernel.h.

## cl_char4

itk::OpenCLKernel::cl_char4

Definition at line 325 of file itkOpenCLKernel.h.

## cl_char8

itk::OpenCLKernel::cl_char8

Definition at line 325 of file itkOpenCLKernel.h.

## cl_double2

cl_char16 cl_short16 cl_int16 cl_long16 itk::OpenCLKernel::cl_double2

Definition at line 333 of file itkOpenCLKernel.h.

## cl_double4

cl_char16 cl_short16 cl_int16 cl_long16 itk::OpenCLKernel::cl_double4

Definition at line 333 of file itkOpenCLKernel.h.

## cl_double8

cl_char16 cl_short16 cl_int16 cl_long16 itk::OpenCLKernel::cl_double8

Definition at line 333 of file itkOpenCLKernel.h.

## cl_int2

cl_char16 cl_short16 itk::OpenCLKernel::cl_int2

Definition at line 329 of file itkOpenCLKernel.h.

## cl_int4

cl_char16 cl_short16 itk::OpenCLKernel::cl_int4

Definition at line 329 of file itkOpenCLKernel.h.

## cl_int8

cl_char16 cl_short16 itk::OpenCLKernel::cl_int8

Definition at line 329 of file itkOpenCLKernel.h.

## cl_long2

cl_char16 cl_short16 cl_int16 itk::OpenCLKernel::cl_long2

Definition at line 331 of file itkOpenCLKernel.h.

## cl_long4

cl_char16 cl_short16 cl_int16 itk::OpenCLKernel::cl_long4

Definition at line 331 of file itkOpenCLKernel.h.

## cl_long8

cl_char16 cl_short16 cl_int16 itk::OpenCLKernel::cl_long8

Definition at line 331 of file itkOpenCLKernel.h.

## cl_short2

cl_char16 itk::OpenCLKernel::cl_short2

Definition at line 327 of file itkOpenCLKernel.h.

## cl_short4

cl_char16 itk::OpenCLKernel::cl_short4

Definition at line 327 of file itkOpenCLKernel.h.

## cl_short8

cl_char16 itk::OpenCLKernel::cl_short8

Definition at line 327 of file itkOpenCLKernel.h.

## d_ptr

std::unique_ptr<OpenCLKernelPimpl> itk::OpenCLKernel::d_ptr

private

Definition at line 859 of file itkOpenCLKernel.h.

## m_DoubleAsFloat

bool itk::OpenCLKernel::m_DoubleAsFloat

private

Definition at line 861 of file itkOpenCLKernel.h.

## m_KernelId

cl_kernel itk::OpenCLKernel::m_KernelId

private

Definition at line 860 of file itkOpenCLKernel.h.

Generated on 1768596610 for elastix by 1.15.0 |