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

Common routines for CUDA execution. More...

`#include <sstream>`
`#include <cuda_runtime.h>`
`#include "viennacl/backend/cuda.hpp"`
`#include "viennacl/traits/handle.hpp"`

Go to the source code of this file.

## Classes

struct | viennacl::linalg::cuda::detail::type_to_type2< NumericT >
struct | viennacl::linalg::cuda::detail::type_to_type2< float >
struct | viennacl::linalg::cuda::detail::type_to_type2< double >

## 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::cuda
| Holds all CUDA compute kernels used by ViennaCL.
| viennacl::linalg::cuda::detail
| Helper functions for the CUDA linear algebra backend.

## Macros

#define | VIENNACL_CUDA_LAST_ERROR_CHECK(message) detail::cuda_last_error_check (message, __FILE__, __LINE__)

## Functions

template<typename NumericT >
NumericT * | viennacl::cuda_arg (scalar< NumericT > &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL scalar. Non-const version. More...
template<typename NumericT >
const NumericT * | viennacl::cuda_arg (scalar< NumericT > const &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL scalar. Const version. More...
template<typename NumericT >
NumericT * | viennacl::cuda_arg (vector_base< NumericT > &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL vector (through the base class vector_base) with implicit return type deduction. Non-const version. More...
template<typename NumericT >
const NumericT * | viennacl::cuda_arg (vector_base< NumericT > const &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL vector (through the base class vector_base) with implicit return type deduction. Const version. More...
template<typename ReturnT , typename NumericT >
ReturnT * | viennacl::cuda_arg (vector_base< NumericT > &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL vector (through the base class vector_base). Return type needs to be explicitly provided as first template argument. Non-const version. More...
template<typename ReturnT , typename NumericT >
const ReturnT * | viennacl::cuda_arg (vector_base< NumericT > const &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL vector (through the base class vector_base). Return type needs to be explicitly provided as first template argument. Const version. More...
template<typename NumericT >
NumericT * | viennacl::cuda_arg (matrix_base< NumericT > &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL matrix (through the base class matrix_base). Non-const version. More...
template<typename NumericT >
const NumericT * | viennacl::cuda_arg (matrix_base< NumericT > const &obj)
| Convenience helper function for extracting the CUDA handle from a ViennaCL matrix (through the base class matrix_base). Const version. More...
template<typename ReturnT >
ReturnT * | viennacl::cuda_arg (viennacl::backend::mem_handle &h)
| Convenience helper function for extracting the CUDA handle from a generic memory handle. Non-const version. More...
template<typename ReturnT >
ReturnT const * | viennacl::cuda_arg (viennacl::backend::mem_handle const &h)
| Convenience helper function for extracting the CUDA handle from a generic memory handle. Const-version. More...
unsigned int | viennacl::linalg::cuda::detail::make_options (vcl_size_t length, bool reciprocal, bool flip_sign)
void | viennacl::linalg::cuda::detail::cuda_last_error_check (const char *message, const char *file, const int line)
template<typename NumericT , typename OtherT >
viennacl::backend::mem_handle::cuda_handle_type & | viennacl::linalg::cuda::detail::arg_reference (viennacl::scalar< NumericT > &s, OtherT)
template<typename NumericT , typename OtherT >
viennacl::backend::mem_handle::cuda_handle_type const & | viennacl::linalg::cuda::detail::arg_reference (viennacl::scalar< NumericT > const &s, OtherT)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, char const & > ::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, char const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, unsigned char const & >::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, unsigned char const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, short const & > ::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, short const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, unsigned short const & >::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, unsigned short const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, int const & > ::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, int const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, unsigned int const & >::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, unsigned int const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, long const & > ::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, long const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, unsigned long const & >::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, unsigned long const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, float const & > ::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, float const &val)
template<typename ArgT >
viennacl::enable_if < viennacl::is_cpu_scalar < ArgT >::value, double const & > ::type | viennacl::linalg::cuda::detail::arg_reference (ArgT, double const &val)

## Detailed Description

Common routines for CUDA execution.

Definition in file common.hpp.

## Macro Definition Documentation

#define VIENNACL_CUDA_LAST_ERROR_CHECK | ( |  | message | ) | detail::cuda_last_error_check (message, __FILE__, __LINE__)

Definition at line 30 of file common.hpp.