ViennaCL - The Vienna Computing Library  1.6.2
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
common.hpp File Reference

Common routines for CUDA execution. More...

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

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 ReturnT , typename NumericT >
ReturnT * viennacl::linalg::cuda::detail::cuda_arg (vector_base< NumericT > &obj)
 
template<typename ReturnT , typename NumericT >
const ReturnT * viennacl::linalg::cuda::detail::cuda_arg (vector_base< NumericT > const &obj)
 
template<typename NumericT >
NumericT * viennacl::linalg::cuda::detail::cuda_arg (matrix_base< NumericT > &obj)
 
template<typename NumericT >
const NumericT * viennacl::linalg::cuda::detail::cuda_arg (matrix_base< NumericT > const &obj)
 
template<typename ReturnT , typename ArgT >
viennacl::enable_if
< viennacl::is_scalar< ArgT >
::value, ReturnT * >::type 
viennacl::linalg::cuda::detail::cuda_arg (ArgT &obj)
 
template<typename ReturnT , typename ArgT >
viennacl::enable_if
< viennacl::is_scalar< ArgT >
::value, const ReturnT * >
::type 
viennacl::linalg::cuda::detail::cuda_arg (ArgT const &obj)
 
template<typename ReturnT >
ReturnT * viennacl::linalg::cuda::detail::cuda_arg (viennacl::backend::mem_handle::cuda_handle_type &h)
 
template<typename ReturnT >
ReturnT const * viennacl::linalg::cuda::detail::cuda_arg (viennacl::backend::mem_handle::cuda_handle_type const &h)
 
unsigned int viennacl::linalg::cuda::detail::cuda_arg (unsigned int val)
 
template<typename NumericT >
char viennacl::linalg::cuda::detail::cuda_arg (char val)
 
template<typename NumericT >
unsigned char viennacl::linalg::cuda::detail::cuda_arg (unsigned char val)
 
template<typename NumericT >
short viennacl::linalg::cuda::detail::cuda_arg (short val)
 
template<typename NumericT >
unsigned short viennacl::linalg::cuda::detail::cuda_arg (unsigned short val)
 
template<typename NumericT >
int viennacl::linalg::cuda::detail::cuda_arg (int val)
 
template<typename NumericT >
long viennacl::linalg::cuda::detail::cuda_arg (long val)
 
template<typename NumericT >
unsigned long viennacl::linalg::cuda::detail::cuda_arg (unsigned long val)
 
template<typename NumericT >
float viennacl::linalg::cuda::detail::cuda_arg (float val)
 
template<typename NumericT >
double viennacl::linalg::cuda::detail::cuda_arg (double val)
 
template<typename NumericT , typename OtherT >
viennacl::backend::mem_handle::cuda_handle_typeviennacl::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 27 of file common.hpp.