ViennaCL - The Vienna Computing Library  1.5.1
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. More...
 
void arg (unsigned int pos, cl_uchar val)
 Sets a char argument at the provided position. More...
 
void arg (unsigned int pos, cl_short val)
 Sets a argument of type short at the provided position. More...
 
void arg (unsigned int pos, cl_ushort val)
 Sets a argument of type unsigned short at the provided position. More...
 
void arg (unsigned int pos, cl_uint val)
 Sets an unsigned integer argument at the provided position. More...
 
void arg (unsigned int pos, packed_cl_uint val)
 Sets four packed unsigned integers as argument at the provided position. More...
 
void arg (unsigned int pos, float val)
 Sets a single precision floating point argument at the provided position. More...
 
void arg (unsigned int pos, double val)
 Sets a double precision floating point argument at the provided position. More...
 
void arg (unsigned int pos, cl_int val)
 Sets an int argument at the provided position. More...
 
void arg (unsigned int pos, cl_ulong val)
 Sets an unsigned long argument at the provided position. More...
 
void arg (unsigned int pos, cl_long val)
 Sets an unsigned long argument at the provided position. More...
 
template<class VCL_TYPE >
void arg (unsigned int pos, VCL_TYPE const &val)
 Sets an OpenCL memory object at the provided position. More...
 
template<class CL_TYPE >
void arg (unsigned int pos, viennacl::ocl::handle< CL_TYPE > const &h)
 Sets an OpenCL object at the provided position. More...
 
void arg (unsigned int pos, const local_mem &mem)
 Sets an OpenCL local memory object at the provided position. More...
 
template<typename T0 >
kerneloperator() (T0 const &t0)
 Convenience function for setting one kernel parameter. More...
 
template<typename T0 , typename T1 >
kerneloperator() (T0 const &t0, T1 const &t1)
 Convenience function for setting two kernel parameters. More...
 
template<typename T0 , typename T1 , typename T2 >
kerneloperator() (T0 const &t0, T1 const &t1, T2 const &t2)
 Convenience function for setting three kernel parameters. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
size_type local_work_size (int index=0) const
 Returns the local work size at the respective dimension. More...
 
size_type global_work_size (int index=0) const
 Returns the global work size at the respective dimension. More...
 
void local_work_size (int index, size_type s)
 Sets the local work size at the respective dimension. More...
 
void global_work_size (int index, size_type s)
 Sets the global work size at the respective dimension. More...
 
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. More...
 
template<cl_kernel_info param>
detail::return_type< cl_kernel,
param >::Result 
info (viennacl::ocl::kernel &k)
 Queries information about a kernel. More...
 
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. More...
 

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: