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

OpenCL kernel file for scalar operations. More...

`#include "viennacl/tools/tools.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::asbs_config
| Configuration struct for generating OpenCL kernels for linear combinations of viennacl::scalar<> objects. More...
struct | viennacl::linalg::opencl::kernels::scalar< NumericT >
| Main kernel class for generating OpenCL kernels for operations involving viennacl::scalar<>, but not viennacl::vector<> or viennacl::matrix<>. 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::asbs_scalar_type { viennacl::linalg::opencl::kernels::VIENNACL_ASBS_NONE = 0, viennacl::linalg::opencl::kernels::VIENNACL_ASBS_CPU, viennacl::linalg::opencl::kernels::VIENNACL_ASBS_GPU }
| Enumeration for the scalar type in avbv-like operations. More...

## Functions

template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_asbs_impl3 (StringT &source, char sign_a, char sign_b, asbs_config const &cfg, bool mult_alpha, bool mult_beta)
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_asbs_impl2 (StringT &source, char sign_a, char sign_b, asbs_config const &cfg)
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_asbs_impl (StringT &source, std::string const &numeric_string, asbs_config const &cfg)
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_asbs (StringT &source, std::string const &numeric_string)
template<typename StringT >
void | viennacl::linalg::opencl::kernels::generate_scalar_swap (StringT &source, std::string const &numeric_string)

## Detailed Description

OpenCL kernel file for scalar operations.

Definition in file scalar.hpp.