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
vector.hpp File Reference

OpenCL kernel file for vector operations. More...

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.