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
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 >
NumericTviennacl::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 NumericTviennacl::cuda_arg (scalar< NumericT > const &obj)
 Convenience helper function for extracting the CUDA handle from a ViennaCL scalar. Const version. More...
 
template<typename NumericT >
NumericTviennacl::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 NumericTviennacl::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 >
NumericTviennacl::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 NumericTviennacl::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_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 30 of file common.hpp.