ViennaCL - The Vienna Computing Library: viennacl/linalg/opencl/kernels/vector.hpp File Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Enumerations | Functions
vector.hpp File Reference

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"`

Go to the source code of this file.

## Classes
struct | viennacl::linalg::opencl::kernels::avbv_config
| Configuration struct for generating OpenCL kernels for linear combinations of vectors. More...
struct | 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...
struct | viennacl::linalg::opencl::kernels::vector_multi_inner_prod< NumericT >
| Main kernel class for generating OpenCL kernels for multiple inner products 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.

## Enumerations
enum | viennacl::linalg::opencl::kernels::avbv_scalar_type { viennacl::linalg::opencl::kernels::VIENNACL_AVBV_NONE = 0, viennacl::linalg::opencl::kernels::VIENNACL_AVBV_CPU, viennacl::linalg::opencl::kernels::VIENNACL_AVBV_GPU }
| Enumeration for the scalar type in avbv-like operations. More...

## Functions
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_avbv_impl2 (StringType &source, std::string const &, avbv_config const &cfg, bool mult_alpha, bool mult_beta)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_avbv_impl (StringType &source, std::string const &numeric_string, avbv_config const &cfg)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_avbv (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_plane_rotation (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_vector_swap (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_assign_cpu (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_inner_prod (StringType &source, std::string const &numeric_string, vcl_size_t vector_num)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_norm (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_inner_prod_sum (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_sum (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_index_norm_inf (StringType &source, std::string const &numeric_string)
template<typename StringType >
void | viennacl::linalg::opencl::kernels::generate_maxmin (StringType &source, std::string const &numeric_string, bool is_max)
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_vector_convert (StringT &source, std::string const &dest_type, std::string const &src_type)

## Detailed Description

OpenCL kernel file for vector operations.

Definition in file vector.hpp.