|
unsigned int | make_options (vcl_size_t length, bool reciprocal, bool flip_sign) |
|
void | cuda_last_error_check (const char *message, const char *file, const int line) |
|
template<typename T , typename U > |
T * | cuda_arg (vector_base< U > &obj) |
|
template<typename T , typename U > |
const T * | cuda_arg (vector_base< U > const &obj) |
|
template<typename NumericT , typename F > |
NumericT * | cuda_arg (matrix_base< NumericT, F > &obj) |
|
template<typename NumericT , typename F > |
const NumericT * | cuda_arg (matrix_base< NumericT, F > const &obj) |
|
template<typename ScalarType , typename T > |
viennacl::enable_if
< viennacl::is_scalar< T >
::value, ScalarType * >::type | cuda_arg (T &obj) |
|
template<typename ScalarType , typename T > |
viennacl::enable_if
< viennacl::is_scalar< T >
::value, const ScalarType * >
::type | cuda_arg (T const &obj) |
|
template<typename ScalarType > |
ScalarType * | cuda_arg (viennacl::backend::mem_handle::cuda_handle_type &h) |
|
template<typename ScalarType > |
ScalarType const * | cuda_arg (viennacl::backend::mem_handle::cuda_handle_type const &h) |
|
unsigned int | cuda_arg (unsigned int val) |
|
template<typename T > |
char | cuda_arg (char val) |
|
template<typename T > |
unsigned char | cuda_arg (unsigned char val) |
|
template<typename T > |
short | cuda_arg (short val) |
|
template<typename T > |
unsigned short | cuda_arg (unsigned short val) |
|
template<typename T > |
int | cuda_arg (int val) |
|
template<typename T > |
long | cuda_arg (long val) |
|
template<typename T > |
unsigned long | cuda_arg (unsigned long val) |
|
template<typename T > |
float | cuda_arg (float val) |
|
template<typename T > |
double | cuda_arg (double val) |
|
template<typename T , typename U > |
viennacl::backend::mem_handle::cuda_handle_type & | arg_reference (viennacl::scalar< T > &s, U) |
|
template<typename T , typename U > |
viennacl::backend::mem_handle::cuda_handle_type
const & | arg_reference (viennacl::scalar< T > const &s, U) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, char const & >::type | arg_reference (T, char const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, unsigned char const & >
::type | arg_reference (T, unsigned char const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, short const & >::type | arg_reference (T, short const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, unsigned short const & >
::type | arg_reference (T, unsigned short const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, int const & >::type | arg_reference (T, int const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, unsigned int const & >
::type | arg_reference (T, unsigned int const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, long const & >::type | arg_reference (T, long const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, unsigned long const & >
::type | arg_reference (T, unsigned long const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, float const & >::type | arg_reference (T, float const &val) |
|
template<typename T > |
viennacl::enable_if
< viennacl::is_cpu_scalar< T >
::value, double const & >
::type | arg_reference (T, double const &val) |
|
template<typename T > |
bool | is_unit_solve (T const &tag) |
|
bool | is_unit_solve (viennacl::linalg::unit_lower_tag) |
|
bool | is_unit_solve (viennacl::linalg::unit_upper_tag) |
|
template<typename T > |
bool | is_upper_solve (T const &tag) |
|
bool | is_upper_solve (viennacl::linalg::upper_tag) |
|
bool | is_upper_solve (viennacl::linalg::unit_upper_tag) |
|
template<typename M1 , typename M2 , typename SolverTag > |
void | inplace_solve_impl (M1 const &A, bool transpose_A, M2 &B, bool transpose_B, SolverTag const &tag) |
|
unsigned int | get_option_for_solver_tag (viennacl::linalg::upper_tag) |
|
unsigned int | get_option_for_solver_tag (viennacl::linalg::unit_upper_tag) |
|
unsigned int | get_option_for_solver_tag (viennacl::linalg::lower_tag) |
|
unsigned int | get_option_for_solver_tag (viennacl::linalg::unit_lower_tag) |
|
template<typename MatrixType , typename VectorType > |
void | inplace_solve_vector_impl (MatrixType const &mat, VectorType &vec, unsigned int options) |
|
template<typename T1 , typename T2 , typename T3 , typename ScalarType > |
void | prod_slow_kernel (const T1 &A, bool transposed_A, const T2 &B, bool transposed_B, T3 &C, ScalarType alpha, ScalarType beta) |
|
template<typename T1 , typename T2 , typename T3 , typename ScalarType > |
void | prod_fast_kernel (const T1 &A, const T2 &B, T3 &C, ScalarType alpha, ScalarType beta, std::string kernel_name) |
|
template<typename T1 , typename T2 , typename T3 , typename ScalarType > |
void | prod (const T1 &A, bool transposed_A, const T2 &B, bool transposed_B, T3 &C, ScalarType alpha, ScalarType beta) |
|
template<typename T > |
__global__ void | level_scheduling_substitute_kernel (const unsigned int *row_index_array, const unsigned int *row_indices, const unsigned int *column_indices, const T *elements, T *vec, unsigned int size) |
|
template<typename ScalarType > |
void | level_scheduling_substitute (vector< ScalarType > &vec, viennacl::backend::mem_handle const &row_index_array, viennacl::backend::mem_handle const &row_buffer, viennacl::backend::mem_handle const &col_buffer, viennacl::backend::mem_handle const &element_buffer, vcl_size_t num_rows) |
|
template<typename T > |
__global__ void | csr_row_info_extractor_kernel (const unsigned int *row_indices, const unsigned int *column_indices, const T *elements, T *result, unsigned int size, unsigned int option) |
|
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | row_info (compressed_matrix< ScalarType, MAT_ALIGNMENT > const &mat, vector_base< ScalarType > &vec, viennacl::linalg::detail::row_info_types info_selector) |
|
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &L, viennacl::backend::mem_handle const &block_indices, vcl_size_t num_blocks, vector_base< ScalarType > const &, vector_base< ScalarType > &vec, viennacl::linalg::unit_lower_tag) |
|
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | block_inplace_solve (const matrix_expression< const compressed_matrix< ScalarType, MAT_ALIGNMENT >, const compressed_matrix< ScalarType, MAT_ALIGNMENT >, op_trans > &U, viennacl::backend::mem_handle const &block_indices, vcl_size_t num_blocks, vector_base< ScalarType > const &U_diagonal, vector_base< ScalarType > &vec, viennacl::linalg::upper_tag) |
|
template<typename T > |
__global__ void | coo_row_info_extractor (const unsigned int *coords, const T *elements, const unsigned int *group_boundaries, T *result, unsigned int option) |
|
template<typename ScalarType , unsigned int MAT_ALIGNMENT> |
void | row_info (coordinate_matrix< ScalarType, MAT_ALIGNMENT > const &mat, vector_base< ScalarType > &vec, viennacl::linalg::detail::row_info_types info_selector) |
|
Helper functions for the CUDA linear algebra backend.