ViennaCL - The Vienna Computing Library  1.5.2
Public Types | Public Member Functions | Friends
kernel Class Reference

Represents an OpenCL kernel within ViennaCL. More...

#include <kernel.hpp>

Public Types

typedef vcl_size_t size_type

Public Member Functions

 kernel ()
 kernel (cl_kernel kernel_handle, viennacl::ocl::program const &kernel_program, viennacl::ocl::context const &kernel_context, std::string const &name)
 kernel (kernel const &other)
viennacl::ocl::kerneloperator= (const kernel &other)
void arg (unsigned int pos, cl_char val)
 Sets a char argument at the provided position.
void arg (unsigned int pos, cl_uchar val)
 Sets a char argument at the provided position.
void arg (unsigned int pos, cl_short val)
 Sets a argument of type short at the provided position.
void arg (unsigned int pos, cl_ushort val)
 Sets a argument of type unsigned short at the provided position.
void arg (unsigned int pos, cl_uint val)
 Sets an unsigned integer argument at the provided position.
void arg (unsigned int pos, packed_cl_uint val)
 Sets four packed unsigned integers as argument at the provided position.
void arg (unsigned int pos, float val)
 Sets a single precision floating point argument at the provided position.
void arg (unsigned int pos, double val)
 Sets a double precision floating point argument at the provided position.
void arg (unsigned int pos, cl_int val)
 Sets an int argument at the provided position.
void arg (unsigned int pos, cl_ulong val)
 Sets an unsigned long argument at the provided position.
void arg (unsigned int pos, cl_long val)
 Sets an unsigned long argument at the provided position.
template<class VCL_TYPE >
void arg (unsigned int pos, VCL_TYPE const &val)
 Sets an OpenCL memory object at the provided position.
template<class CL_TYPE >
void arg (unsigned int pos, viennacl::ocl::handle< CL_TYPE > const &h)
 Sets an OpenCL object at the provided position.
void arg (unsigned int pos, const local_mem &mem)
 Sets an OpenCL local memory object at the provided position.
template<typename T0 >
kerneloperator() (T0 const &t0)
 Convenience function for setting one kernel parameter.
template<typename T0 , typename T1 >
kerneloperator() (T0 const &t0, T1 const &t1)
 Convenience function for setting two kernel parameters.
template<typename T0 , typename T1 , typename T2 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2)
 Convenience function for setting three kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3)
 Convenience function for setting four kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4)
 Convenience function for setting five kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5)
 Convenience function for setting six kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6)
 Convenience function for setting seven kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7)
 Convenience function for setting eight kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8)
 Convenience function for setting nine kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9)
 Convenience function for setting ten kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10)
 Convenience function for setting eleven kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11)
 Convenience function for setting twelve kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12)
 Convenience function for setting thirteen kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13)
 Convenience function for setting fourteen kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14)
 Convenience function for setting fifteen kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15)
 Convenience function for setting sixteen kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16)
 Convenience function for setting seventeen kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17)
 Convenience function for setting eighteen kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18)
 Convenience function for setting nineteen kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19)
 Convenience function for setting twenty kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20)
 Convenience function for setting twentyone kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21)
 Convenience function for setting twentytwo kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22)
 Convenience function for setting 23 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23)
 Convenience function for setting 24 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24)
 Convenience function for setting 25 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24, T25 const &t25)
 Convenience function for setting 26 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24, T25 const &t25, T26 const &t26)
 Convenience function for setting 27 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24, T25 const &t25, T26 const &t26, T27 const &t27)
 Convenience function for setting 28 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24, T25 const &t25, T26 const &t26, T27 const &t27, T28 const &t28)
 Convenience function for setting 29 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24, T25 const &t25, T26 const &t26, T27 const &t27, T28 const &t28, T29 const &t29)
 Convenience function for setting 30 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24, T25 const &t25, T26 const &t26, T27 const &t27, T28 const &t28, T29 const &t29, T30 const &t30)
 Convenience function for setting 31 kernel parameters.
template<typename T0 , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 , typename T17 , typename T18 , typename T19 , typename T20 , typename T21 , typename T22 , typename T23 , typename T24 , typename T25 , typename T26 , typename T27 , typename T28 , typename T29 , typename T30 , typename T31 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2, T3 const &t3, T4 const &t4, T5 const &t5, T6 const &t6, T7 const &t7, T8 const &t8, T9 const &t9, T10 const &t10, T11 const &t11, T12 const &t12, T13 const &t13, T14 const &t14, T15 const &t15, T16 const &t16, T17 const &t17, T18 const &t18, T19 const &t19, T20 const &t20, T21 const &t21, T22 const &t22, T23 const &t23, T24 const &t24, T25 const &t25, T26 const &t26, T27 const &t27, T28 const &t28, T29 const &t29, T30 const &t30, T31 const &t31)
 Convenience function for setting 32 kernel parameters.
size_type local_work_size (int index=0) const
 Returns the local work size at the respective dimension.
size_type global_work_size (int index=0) const
 Returns the global work size at the respective dimension.
void local_work_size (int index, size_type s)
 Sets the local work size at the respective dimension.
void global_work_size (int index, size_type s)
 Sets the global work size at the respective dimension.
std::string const & name () const
viennacl::ocl::handle
< cl_kernel > const & 
handle () const
viennacl::ocl::context const & context () const

Friends

template<typename KernelType >
void enqueue (KernelType &k, viennacl::ocl::command_queue const &queue)
 Enqueues a kernel in the provided queue.
template<cl_kernel_info param>
detail::return_type< cl_kernel,
param >::Result 
info (viennacl::ocl::kernel &k)
 Queries information about a kernel.
template<cl_kernel_info param>
detail::return_type< cl_kernel,
param >::Result 
info (viennacl::ocl::kernel &k, viennacl::ocl::device const &d)
 Queries information about the execution of a kernel on a particular device.

Detailed Description

Represents an OpenCL kernel within ViennaCL.


Member Typedef Documentation


Constructor & Destructor Documentation

kernel ( ) [inline]
kernel ( cl_kernel  kernel_handle,
viennacl::ocl::program const &  kernel_program,
viennacl::ocl::context const &  kernel_context,
std::string const &  name 
) [inline]
kernel ( kernel const &  other) [inline]

Member Function Documentation

void arg ( unsigned int  pos,
cl_char  val 
) [inline]

Sets a char argument at the provided position.

void arg ( unsigned int  pos,
cl_uchar  val 
) [inline]

Sets a char argument at the provided position.

void arg ( unsigned int  pos,
cl_short  val 
) [inline]

Sets a argument of type short at the provided position.

void arg ( unsigned int  pos,
cl_ushort  val 
) [inline]

Sets a argument of type unsigned short at the provided position.

void arg ( unsigned int  pos,
cl_uint  val 
) [inline]

Sets an unsigned integer argument at the provided position.

void arg ( unsigned int  pos,
packed_cl_uint  val 
) [inline]

Sets four packed unsigned integers as argument at the provided position.

void arg ( unsigned int  pos,
float  val 
) [inline]

Sets a single precision floating point argument at the provided position.

void arg ( unsigned int  pos,
double  val 
) [inline]

Sets a double precision floating point argument at the provided position.

void arg ( unsigned int  pos,
cl_int  val 
) [inline]

Sets an int argument at the provided position.

void arg ( unsigned int  pos,
cl_ulong  val 
) [inline]

Sets an unsigned long argument at the provided position.

void arg ( unsigned int  pos,
cl_long  val 
) [inline]

Sets an unsigned long argument at the provided position.

void arg ( unsigned int  pos,
VCL_TYPE const &  val 
) [inline]

Sets an OpenCL memory object at the provided position.

void arg ( unsigned int  pos,
viennacl::ocl::handle< CL_TYPE > const &  h 
) [inline]

Sets an OpenCL object at the provided position.

void arg ( unsigned int  pos,
const local_mem mem 
) [inline]

Sets an OpenCL local memory object at the provided position.

viennacl::ocl::context const& context ( ) const [inline]
size_type global_work_size ( int  index = 0) const [inline]

Returns the global work size at the respective dimension.

Parameters:
indexDimension index (currently either 0 or 1)
void global_work_size ( int  index,
size_type  s 
) [inline]

Sets the global work size at the respective dimension.

Parameters:
indexDimension index (currently either 0 or 1)
sThe new global work size
viennacl::ocl::handle<cl_kernel> const& handle ( ) const [inline]
size_type local_work_size ( int  index = 0) const [inline]

Returns the local work size at the respective dimension.

Parameters:
indexDimension index (currently either 0 or 1)
void local_work_size ( int  index,
size_type  s 
) [inline]

Sets the local work size at the respective dimension.

Parameters:
indexDimension index (currently either 0 or 1)
sThe new local work size
std::string const& name ( ) const [inline]
kernel& operator() ( T0 const &  t0) [inline]

Convenience function for setting one kernel parameter.

kernel& operator() ( T0 const &  t0,
T1 const &  t1 
) [inline]

Convenience function for setting two kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2 
) [inline]

Convenience function for setting three kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3 
) [inline]

Convenience function for setting four kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4 
) [inline]

Convenience function for setting five kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5 
) [inline]

Convenience function for setting six kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6 
) [inline]

Convenience function for setting seven kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7 
) [inline]

Convenience function for setting eight kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8 
) [inline]

Convenience function for setting nine kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9 
) [inline]

Convenience function for setting ten kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10 
) [inline]

Convenience function for setting eleven kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11 
) [inline]

Convenience function for setting twelve kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12 
) [inline]

Convenience function for setting thirteen kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13 
) [inline]

Convenience function for setting fourteen kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14 
) [inline]

Convenience function for setting fifteen kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15 
) [inline]

Convenience function for setting sixteen kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16 
) [inline]

Convenience function for setting seventeen kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17 
) [inline]

Convenience function for setting eighteen kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18 
) [inline]

Convenience function for setting nineteen kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19 
) [inline]

Convenience function for setting twenty kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20 
) [inline]

Convenience function for setting twentyone kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21 
) [inline]

Convenience function for setting twentytwo kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22 
) [inline]

Convenience function for setting 23 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23 
) [inline]

Convenience function for setting 24 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24 
) [inline]

Convenience function for setting 25 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24,
T25 const &  t25 
) [inline]

Convenience function for setting 26 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24,
T25 const &  t25,
T26 const &  t26 
) [inline]

Convenience function for setting 27 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24,
T25 const &  t25,
T26 const &  t26,
T27 const &  t27 
) [inline]

Convenience function for setting 28 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24,
T25 const &  t25,
T26 const &  t26,
T27 const &  t27,
T28 const &  t28 
) [inline]

Convenience function for setting 29 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24,
T25 const &  t25,
T26 const &  t26,
T27 const &  t27,
T28 const &  t28,
T29 const &  t29 
) [inline]

Convenience function for setting 30 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24,
T25 const &  t25,
T26 const &  t26,
T27 const &  t27,
T28 const &  t28,
T29 const &  t29,
T30 const &  t30 
) [inline]

Convenience function for setting 31 kernel parameters.

kernel& operator() ( T0 const &  t0,
T1 const &  t1,
T2 const &  t2,
T3 const &  t3,
T4 const &  t4,
T5 const &  t5,
T6 const &  t6,
T7 const &  t7,
T8 const &  t8,
T9 const &  t9,
T10 const &  t10,
T11 const &  t11,
T12 const &  t12,
T13 const &  t13,
T14 const &  t14,
T15 const &  t15,
T16 const &  t16,
T17 const &  t17,
T18 const &  t18,
T19 const &  t19,
T20 const &  t20,
T21 const &  t21,
T22 const &  t22,
T23 const &  t23,
T24 const &  t24,
T25 const &  t25,
T26 const &  t26,
T27 const &  t27,
T28 const &  t28,
T29 const &  t29,
T30 const &  t30,
T31 const &  t31 
) [inline]

Convenience function for setting 32 kernel parameters.

viennacl::ocl::kernel& operator= ( const kernel other) [inline]

Friends And Related Function Documentation

void enqueue ( KernelType &  k,
viennacl::ocl::command_queue const &  queue 
) [friend]

Enqueues a kernel in the provided queue.

detail::return_type<cl_kernel, param>::Result info ( viennacl::ocl::kernel k) [friend]

Queries information about a kernel.

Parameters:
kCorresponding kernel
detail::return_type<cl_kernel, param>::Result info ( viennacl::ocl::kernel k,
viennacl::ocl::device const &  d 
) [friend]

Queries information about the execution of a kernel on a particular device.

Parameters:
kCorresponding kernel
dCorresponding device

The documentation for this class was generated from the following files: