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) |
Common routines for CUDA execution.
Definition in file common.hpp.
#define VIENNACL_CUDA_LAST_ERROR_CHECK | ( | message | ) | detail::cuda_last_error_check (message, __FILE__, __LINE__) |
Definition at line 30 of file common.hpp.