|
SkePU 0.7
|
| #define | UNARY_FUNC(name, type1, param1, func) |
| #define | UNARY_FUNC_CONSTANT(name, type1, param1, const1, func) |
| #define | BINARY_FUNC(name, type1, param1, param2, func) |
| #define | BINARY_FUNC_CONSTANT(name, type1, param1, param2, const1, func) |
| #define | TERNARY_FUNC(name, type1, param1, param2, param3, func) |
| #define | TERNARY_FUNC_CONSTANT(name, type1, param1, param2, param3, const1, func) |
| #define | OVERLAP_FUNC(name, type1, over, param1, func) |
| #define | OVERLAP_FUNC_STR(name, type1, over, param1, stride, func) |
| #define | ARRAY_FUNC(name, type1, param1, param2, func) |
| #define | ARRAY_FUNC_MATR(name, type1, param1, param2, func) |
| #define | ARRAY_FUNC_MATR_CONST(name, type1, param1, param2, const1, const2, func) |
| #define | GENERATE_FUNC(name, type1, index, const1, func) |
| #define | UNARY_FUNC(name, type1, param1, func) UNARY_FUNC_MF(name, type1, param1, func, func, func, func) |
| #define | UNARY_FUNC_MF(name, type1, param1, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | UNARY_FUNC_CONSTANT(name, type1, param1, const1, func) UNARY_FUNC_CONSTANT_MF(name, type1, param1, const1, func, func, func, func) |
| #define | UNARY_FUNC_CONSTANT_MF(name, type1, param1, const1, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | BINARY_FUNC(name, type1, param1, param2, func) BINARY_FUNC_MF(name, type1, param1, param2, func, func, func, func) |
| #define | BINARY_FUNC_MF(name, type1, param1, param2, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | BINARY_FUNC_CONSTANT(name, type1, param1, param2, const1, func) BINARY_FUNC_CONSTANT_MF(name, type1, param1, param2, const1, func, func, func, func) |
| #define | BINARY_FUNC_CONSTANT_MF(name, type1, param1, param2, const1, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | TERNARY_FUNC(name, type1, param1, param2, param3, func) TERNARY_FUNC_MF(name, type1, param1, param2, param3, func, func, func, func) |
| #define | TERNARY_FUNC_MF(name, type1, param1, param2, param3, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | TERNARY_FUNC_CONSTANT(name, type1, param1, param2, param3, const1, func) TERNARY_FUNC_CONSTANT_MF(name, type1, param1, param2, param3, const1, func, func, func, func) |
| #define | TERNARY_FUNC_CONSTANT_MF(name, type1, param1, param2, param3, const1, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | OVERLAP_FUNC(name, type1, over, param1, func) OVERLAP_FUNC_MF(name, type1, over, param1, func, func, func, func) |
| #define | OVERLAP_FUNC_MF(name, type1, over, param1, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | ARRAY_FUNC(name, type1, param1, param2, func) ARRAY_FUNC_MF(name, type1, param1, param2, func, func, func, func) |
| #define | ARRAY_FUNC_MF(name, type1, param1, param2, CPUfunc, OMPfunc, CUfunc, CLfunc) |
| #define | GENERATE_FUNC(name, type1, index, const1, func) GENERATE_FUNC_MF(name, type1, index, const1, func, func, func, func) |
| #define | GENERATE_FUNC_MF(name, type1, index, const1, CPUfunc, OMPfunc, CUfunc, CLfunc) |
Macros that generate user functions that can be used togeher with the Skeletons.
| #define ARRAY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| func | |||
| ) |
struct name\ {\ typedef type1 TYPE;\ skepu::FuncType funcType;\ std::string func_CL;\ std::string funcName_CL;\ std::string datatype_CL;\ name()\ {\ funcType = skepu::ARRAY;\ funcName_CL.append(#name);\ datatype_CL.append(#type1);\ func_CL.append(\ datatype_CL + " " + funcName_CL + "(__global " + datatype_CL + "* " + #param1 + "," + datatype_CL + " " + #param2 + ")\n"\ "{\n"\ " " #func "\n"\ "}\n");\ }\ type1 CPU(type1 * param1, type1 param2)\ {\ func\ }\ __device__ type1 CU(type1 * param1, type1 param2)\ {\ func\ }\ };
Macro defintion for Array user functions. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the MapArray skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. Can be accessed as an array in the body. |
| param2 | Name of parameter two. Only one element is accessible in the body. |
| func | Function body. |
| #define ARRAY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| func | |||
| ) | ARRAY_FUNC_MF(name, type1, param1, param2, func, func, func, func) |
Macro defintion for Array user functions. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the MapArray skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. Can be accessed as an array in the body. |
| param2 | Name of parameter two. Only one element is accessible in the body. |
| func | Same function body for all backends. |
| #define ARRAY_FUNC_MATR | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| func | |||
| ) |
Macro defintion for Array user functions for Matrix. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the MapArray skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. Can be accessed as an array in the body. |
| param2 | Name of parameter two. Only one element is accessible in the body. |
| func | Function body. |
| #define ARRAY_FUNC_MATR_CONST | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| const1, | |||
| const2, | |||
| func | |||
| ) |
Macro defintion for Array user functions for Matrix which also supports two constants. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the MapArray skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. Can be accessed as an array in the body. |
| param2 | Name of parameter two. Only one element is accessible in the body. |
| const1 | Name of constant one which can be used in the body. |
| const1 | Name of constant two which can be used in the body. |
| func | Function body. |
| #define ARRAY_FUNC_MF | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\
{\
skepu::FuncType funcType;\
name()\
{\
funcType = skepu::ARRAY;\
}\
type1 CPU(type1 * param1, type1 param2)\
{\
CPUfunc\
}\
type1 OMP(type1 * param1, type1 param2)\
{\
OMPfunc\
}\
__device__ type1 CU(type1 * param1, type1 param2)\
{\
CUfunc\
}\
};
Macro defintion for Array user functions. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the MapArray skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. Can be accessed as an array in the body. |
| param2 | Name of parameter two. Only one element is accessible in the body. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define BINARY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| func | |||
| ) | BINARY_FUNC_MF(name, type1, param1, param2, func, func, func, func) |
Macro defintion for Binary user functions. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map, Reduce and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| func | Same function body for all backends. |
| #define BINARY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| func | |||
| ) |
Macro defintion for Binary user functions. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map, Reduce and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| func | Function body. |
| #define BINARY_FUNC_CONSTANT | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| const1, | |||
| func | |||
| ) | BINARY_FUNC_CONSTANT_MF(name, type1, param1, param2, const1, func, func, func, func) |
Macro defintion for Binary user functions which also uses a constant. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| const1 | Name of a constant which can be used in the body. |
| func | Same function body for all backends. |
| #define BINARY_FUNC_CONSTANT | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| const1, | |||
| func | |||
| ) |
Macro defintion for Binary user functions which also uses a constant. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| const1 | Name of a constant which can be used in the body. |
| func | Function body. |
| #define BINARY_FUNC_CONSTANT_MF | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| const1, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::BINARY;\ }\ type1 const1;\ type1 getConstant() {return const1;}\ void setConstant(type1 _v) {const1 = _v;}\ type1 CPU(type1 param1, type1 param2)\ {\ CPUfunc\ }\ type1 OMP(type1 param1, type1 param2)\ {\ OMPfunc\ }\ __device__ type1 CU(type1 param1, type1 param2)\ {\ CUfunc\ }\ };
Macro defintion for Binary user functions which also uses a constant. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| const1 | Name of a constant which can be used in the body. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define BINARY_FUNC_MF | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::BINARY;\ }\ type1 dummy;\ type1 getConstant() {return dummy;}\ type1 CPU(type1 param1, type1 param2)\ {\ CPUfunc\ }\ type1 OMP(type1 param1, type1 param2)\ {\ OMPfunc\ }\ __device__ type1 CU(type1 param1, type1 param2)\ {\ CUfunc\ }\ };
Macro defintion for Binary user functions. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map, Reduce and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define GENERATE_FUNC | ( | name, | |
| type1, | |||
| index, | |||
| const1, | |||
| func | |||
| ) |
struct name\ {\ typedef type1 TYPE;\ skepu::FuncType funcType;\ std::string func_CL;\ std::string funcName_CL;\ std::string datatype_CL;\ name()\ {\ funcType = skepu::GENERATE;\ funcName_CL.append(#name);\ datatype_CL.append(#type1);\ func_CL.append(\ datatype_CL + " " + funcName_CL + "(unsigned int " + #index + ", " + datatype_CL + " " + #const1 + ")\n"\ "{\n"\ " " #func "\n"\ "}\n");\ }\ type1 const1;\ type1 getConstant() {return const1;}\ void setConstant(type1 _v) {const1 = _v;}\ type1 CPU(unsigned int index)\ {\ func\ }\ __device__ type1 CU(unsigned int index)\ {\ func\ }\ };
Macro defintion for Generate user functions. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the Generate skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| index | Name of the index variable which will hold the index of the value to be generated. |
| const1 | Name of a constant which can be used in the body. |
| func | Function body. |
| #define GENERATE_FUNC | ( | name, | |
| type1, | |||
| index, | |||
| const1, | |||
| func | |||
| ) | GENERATE_FUNC_MF(name, type1, index, const1, func, func, func, func) |
Macro defintion for Generate user functions. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the Generate skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| index | Name of the index variable which will hold the index of the value to be generated. |
| const1 | Name of a constant which can be used in the body. |
| func | Same function body for all backends. |
| #define GENERATE_FUNC_MF | ( | name, | |
| type1, | |||
| index, | |||
| const1, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::GENERATE;\ }\ type1 const1;\ type1 getConstant() {return const1;}\ void setConstant(type1 _v) {const1 = _v;}\ type1 CPU(unsigned int index)\ {\ CPUfunc\ }\ type1 OMP(unsigned int index)\ {\ OMPfunc\ }\ __device__ type1 CU(unsigned int index)\ {\ CUfunc\ }\ };
Macro defintion for Generate user functions. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used by the Generate skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| index | Name of the index variable which will hold the index of the value to be generated. |
| const1 | Name of a constant which can be used in the body. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define OVERLAP_FUNC | ( | name, | |
| type1, | |||
| over, | |||
| param1, | |||
| func | |||
| ) |
Macro defintion for Overlap user functions. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used for MapOverlap skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| over | The overlap length used by the function. |
| param1 | Name of parameter one. |
| func | Function body. |
| #define OVERLAP_FUNC | ( | name, | |
| type1, | |||
| over, | |||
| param1, | |||
| func | |||
| ) | OVERLAP_FUNC_MF(name, type1, over, param1, func, func, func, func) |
Macro defintion for Overlap user functions. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used for MapOverlap skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| over | The overlap length used by the function. |
| param1 | Name of parameter one. |
| func | Same function body for all backends. |
| #define OVERLAP_FUNC_MF | ( | name, | |
| type1, | |||
| over, | |||
| param1, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ int overlap;\ int stride;\ int getStride() {return stride;}\ void setStride(int _v) {stride = _v;}\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::OVERLAP;\ overlap = over;\ stride = 1;\ }\ type1 CPU(type1 * param1)\ {\ CPUfunc\ }\ type1 OMP(type1 * param1)\ {\ OMPfunc\ }\ __device__ type1 CU(type1 * param1)\ {\ CUfunc\ }\ };
Macro defintion for Overlap user functions. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used for MapOverlap skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| over | The overlap length used by the function. |
| param1 | Name of parameter one. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define OVERLAP_FUNC_STR | ( | name, | |
| type1, | |||
| over, | |||
| param1, | |||
| stride, | |||
| func | |||
| ) |
Macro defintion for Overlap user functions that allows option for stride access. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can only be used for MapOverlap skeleton.
| name | Function name. |
| type1 | Type of function parameters. |
| over | The overlap length used by the function. |
| param1 | Name of parameter one. |
| stride | the stride which is used to access items column-wise. |
| func | Function body. |
| #define TERNARY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| param3, | |||
| func | |||
| ) | TERNARY_FUNC_MF(name, type1, param1, param2, param3, func, func, func, func) |
Macro defintion for Trinary user functions. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| param3 | Name of parameter three. |
| func | Same function body for all backends. |
| #define TERNARY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| param3, | |||
| func | |||
| ) |
Macro defintion for Trinary user functions. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| param3 | Name of parameter three. |
| func | Function body. |
| #define TERNARY_FUNC_CONSTANT | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| param3, | |||
| const1, | |||
| func | |||
| ) |
Macro defintion for Trinary user functions which also uses a constant. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| param3 | Name of parameter three. |
| const1 | Name of a constant which can be used in the body. |
| func | Function body. |
| #define TERNARY_FUNC_CONSTANT | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| param3, | |||
| const1, | |||
| func | |||
| ) | TERNARY_FUNC_CONSTANT_MF(name, type1, param1, param2, param3, const1, func, func, func, func) |
Macro defintion for Trinary user functions which also uses a constant. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| param3 | Name of parameter three. |
| const1 | Name of a constant which can be used in the body. |
| func | Same function body for all backends. |
| #define TERNARY_FUNC_CONSTANT_MF | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| param3, | |||
| const1, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::TERNARY;\ }\ type1 const1;\ type1 getConstant() {return const1;}\ void setConstant(type1 _v) {const1 = _v;}\ type1 CPU(type1 param1, type1 param2, type1 param3)\ {\ CPUfunc\ }\ type1 OMP(type1 param1, type1 param2, type1 param3)\ {\ OMPfunc\ }\ __device__ type1 CU(type1 param1, type1 param2, type1 param3)\ {\ CUfunc\ }\ };
Macro defintion for Trinary user functions which also uses a constant. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| param3 | Name of parameter three. |
| const1 | Name of a constant which can be used in the body. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define TERNARY_FUNC_MF | ( | name, | |
| type1, | |||
| param1, | |||
| param2, | |||
| param3, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::TERNARY;\ }\ type1 dummy;\ type1 getConstant() {return dummy;}\ type1 CPU(type1 param1, type1 param2, type1 param3)\ {\ CPUfunc\ }\ type1 OMP(type1 param1, type1 param2, type1 param3)\ {\ OMPfunc\ }\ __device__ type1 CU(type1 param1, type1 param2, type1 param3)\ {\ CUfunc\ }\ };
Macro defintion for Trinary user functions. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| param2 | Name of parameter two. |
| param3 | Name of parameter three. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define UNARY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| func | |||
| ) | UNARY_FUNC_MF(name, type1, param1, func, func, func, func) |
Macro defintion for Unary user functions. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| func | Same function body for all backends. |
| #define UNARY_FUNC | ( | name, | |
| type1, | |||
| param1, | |||
| func | |||
| ) |
Macro defintion for Unary user functions.Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| func | Function body. |
| #define UNARY_FUNC_CONSTANT | ( | name, | |
| type1, | |||
| param1, | |||
| const1, | |||
| func | |||
| ) | UNARY_FUNC_CONSTANT_MF(name, type1, param1, const1, func, func, func, func) |
Macro defintion for Unary user functions which also uses a constant. Includes same user-function for all back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| const1 | Name of a constant which can be used in the body. |
| func | Same function body for all backends. |
| #define UNARY_FUNC_CONSTANT | ( | name, | |
| type1, | |||
| param1, | |||
| const1, | |||
| func | |||
| ) |
Macro defintion for Unary user functions which also uses a constant. Includes an OpenCL variant (string), a CUDA variant (__device__ function) and a CPU variant also used for OpenMP. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| const1 | Name of a constant which can be used in the body. |
| func | Function body. |
| #define UNARY_FUNC_CONSTANT_MF | ( | name, | |
| type1, | |||
| param1, | |||
| const1, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::UNARY;\ }\ type1 const1;\ type1 getConstant() {return const1;}\ void setConstant(type1 _v) {const1 = _v;}\ type1 CPU(type1 param1)\ {\ CPUfunc\ }\ type1 OMP(type1 param1)\ {\ OMPfunc\ }\ __device__ type1 CU(type1 param1)\ {\ CUfunc\ }\ };
Macro defintion for Unary user functions which also uses a constant. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| const1 | Name of a constant which can be used in the body. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
| #define UNARY_FUNC_MF | ( | name, | |
| type1, | |||
| param1, | |||
| CPUfunc, | |||
| OMPfunc, | |||
| CUfunc, | |||
| CLfunc | |||
| ) |
struct name\ {\ skepu::FuncType funcType;\ name()\ {\ funcType = skepu::UNARY;\ }\ type1 dummy;\ type1 getConstant() {return dummy;}\ type1 CPU(type1 param1)\ {\ CPUfunc\ }\ type1 OMP(type1 param1)\ {\ OMPfunc\ }\ __device__ type1 CU(type1 param1)\ {\ CUfunc\ }\ };
Macro defintion for Unary user functions. Includes different user-functions for different back-ends. The defintion expands as a Struct which can be used when creating new skeletons. Can be used by the Map and MapReduce skeletons.
| name | Function name. |
| type1 | Type of function parameters. |
| param1 | Name of parameter one. |
| CPUfunc | Function body for CPU backend. |
| OMPFunc | Function body for OpenMP backend. |
| CUFunc | Function body for CUDA backend. |
| CLFunc | Function body for OpenCL backend. |
1.7.4