ViennaCL - The Vienna Computing Library  1.6.1
Free open-source GPU-accelerated linear algebra and solver library.
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.