OpenCL kernel file for vector operations. More...
#include "viennacl/tools/tools.hpp"
#include "viennacl/scheduler/forwards.h"
#include "viennacl/scheduler/io.hpp"
#include "viennacl/scheduler/preset.hpp"
#include "viennacl/ocl/kernel.hpp"
#include "viennacl/ocl/platform.hpp"
#include "viennacl/ocl/utils.hpp"
#include "viennacl/device_specific/execution_handler.hpp"
#include "viennacl/device_specific/builtin_database/vector_axpy.hpp"
#include "viennacl/device_specific/builtin_database/reduction.hpp"
Go to the source code of this file.
Classes | |
class | viennacl::linalg::opencl::kernels::vector< NumericT > |
Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More... | |
class | viennacl::linalg::opencl::kernels::vector_multi_inner_prod< NumericT > |
Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More... | |
struct | viennacl::linalg::opencl::kernels::vector_element< NumericT > |
Main kernel class for generating OpenCL kernels for elementwise operations other than addition and subtraction on/with viennacl::vector<>. More... | |
struct | viennacl::linalg::opencl::kernels::vector_convert |
Main kernel class for vector conversion routines (e.g. convert vector<int> to vector<float>). More... | |
Namespaces | |
viennacl | |
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them. | |
viennacl::linalg | |
Provides all linear algebra operations which are not covered by operator overloads. | |
viennacl::linalg::opencl | |
Holds all routines providing OpenCL linear algebra operations. | |
viennacl::linalg::opencl::kernels | |
Contains the OpenCL kernel generation functions for a predefined set of functionality. | |
Macros | |
#define | VIENNACL_ADD_UNARY(OPTYPE) handler.add(operator_string(OPTYPE), ds::vector_axpy_template(vector_axpy_params),scheduler::preset::unary_element_op(&x, &y, OPTYPE)) |
#define | VIENNACL_ADD_BINARY(OPTYPE) handler.add(operator_string(OPTYPE), ds::vector_axpy_template(vector_axpy_params),scheduler::preset::binary_element_op(&x, &y, &z, OPTYPE)) |
Functions | |
template<typename StringT > | |
void | viennacl::linalg::opencl::kernels::generate_vector_convert (StringT &source, std::string const &dest_type, std::string const &src_type) |
OpenCL kernel file for vector operations.
Definition in file vector.hpp.
#define VIENNACL_ADD_BINARY | ( | OPTYPE | ) | handler.add(operator_string(OPTYPE), ds::vector_axpy_template(vector_axpy_params),scheduler::preset::binary_element_op(&x, &y, &z, OPTYPE)) |
#define VIENNACL_ADD_UNARY | ( | OPTYPE | ) | handler.add(operator_string(OPTYPE), ds::vector_axpy_template(vector_axpy_params),scheduler::preset::unary_element_op(&x, &y, OPTYPE)) |