31 "__kernel void UnaryMapKernel_KERNELNAME(__global TYPE* input, __global TYPE* output, size_t numElements, CONST_TYPE const1)\n"
33 " int i = get_global_id(0);\n"
34 " size_t gridSize = get_local_size(0)*get_num_groups(0);\n"
35 " while(i < numElements)\n"
37 " output[i] = FUNCTIONNAME(input[i], const1);\n"
48 "__kernel void BinaryMapKernel_KERNELNAME(__global TYPE* input1, __global TYPE* input2, __global TYPE* output, size_t n, CONST_TYPE const1)\n"
50 " int i = get_global_id(0);\n"
51 " size_t gridSize = get_local_size(0)*get_num_groups(0);\n"
54 " output[i] = FUNCTIONNAME(input1[i], input2[i], const1);\n"
65 "__kernel void TrinaryMapKernel_KERNELNAME(__global TYPE* input1, __global TYPE* input2, __global TYPE* input3, __global TYPE* output, size_t n, CONST_TYPE const1)\n"
67 " int i = get_global_id(0);\n"
68 " size_t gridSize = get_local_size(0)*get_num_groups(0);\n"
71 " output[i] = FUNCTIONNAME(input1[i], input2[i], input3[i], const1);\n"
105 template <
typename T,
typename UnaryFunc>
108 size_t i = blockIdx.x * blockDim.x + threadIdx.x;
109 size_t gridSize = blockDim.x*gridDim.x;
113 output[i] = mapFunc.CU(input[i]);
122 template <
typename T,
typename BinaryFunc>
125 size_t i = blockIdx.x * blockDim.x + threadIdx.x;
126 size_t gridSize = blockDim.x*gridDim.x;
130 output[i] = mapFunc.CU(input1[i], input2[i]);
139 template <
typename T,
typename TrinaryFunc>
140 __global__
void MapKernelTrinary_CU(TrinaryFunc mapFunc, T* input1, T* input2, T* input3, T* output,
size_t n)
142 size_t i = blockIdx.x * blockDim.x + threadIdx.x;
143 size_t gridSize = blockDim.x*gridDim.x;
147 output[i] = mapFunc.CU(input1[i], input2[i], input3[i]);
static std::string TrinaryMapKernel_CL("__kernel void TrinaryMapKernel_KERNELNAME(__global TYPE* input1, __global TYPE* input2, __global TYPE* input3, __global TYPE* output, size_t n, CONST_TYPE const1)\n""{\n"" int i = get_global_id(0);\n"" size_t gridSize = get_local_size(0)*get_num_groups(0);\n"" while(i < n)\n"" {\n"" output[i] = FUNCTIONNAME(input1[i], input2[i], input3[i], const1);\n"" i += gridSize;\n"" }\n""}\n")
__global__ void MapKernelBinary_CU(BinaryFunc mapFunc, T *input1, T *input2, T *output, size_t n)
Definition: map_kernels.h:123
static std::string BinaryMapKernel_CL("__kernel void BinaryMapKernel_KERNELNAME(__global TYPE* input1, __global TYPE* input2, __global TYPE* output, size_t n, CONST_TYPE const1)\n""{\n"" int i = get_global_id(0);\n"" size_t gridSize = get_local_size(0)*get_num_groups(0);\n"" while(i < n)\n"" {\n"" output[i] = FUNCTIONNAME(input1[i], input2[i], const1);\n"" i += gridSize;\n"" }\n""}\n")
__global__ void MapKernelUnary_CU(UnaryFunc mapFunc, T *input, T *output, size_t n)
Definition: map_kernels.h:106
__global__ void MapKernelTrinary_CU(TrinaryFunc mapFunc, T *input1, T *input2, T *input3, T *output, size_t n)
Definition: map_kernels.h:140
static std::string UnaryMapKernel_CL("__kernel void UnaryMapKernel_KERNELNAME(__global TYPE* input, __global TYPE* output, size_t numElements, CONST_TYPE const1)\n""{\n"" int i = get_global_id(0);\n"" size_t gridSize = get_local_size(0)*get_num_groups(0);\n"" while(i < numElements)\n"" {\n"" output[i] = FUNCTIONNAME(input[i], const1);\n"" i += gridSize;\n"" }\n""}\n")