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
bisect_kernel_small.hpp File Reference

Determine eigenvalues for small symmetric, tridiagonal matrix. More...

Go to the source code of this file.

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.
 

Functions

template<typename NumericT >
__global__ void viennacl::linalg::cuda::bisectKernelSmall (const NumericT *g_d, const NumericT *g_s, const unsigned int n, NumericT *g_left, NumericT *g_right, unsigned int *g_left_count, unsigned int *g_right_count, const NumericT lg, const NumericT ug, const unsigned int lg_eig_count, const unsigned int ug_eig_count, NumericT epsilon)
 Bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix. More...
 

Detailed Description

Determine eigenvalues for small symmetric, tridiagonal matrix.

Utility / shared functionality for bisection kernels.

Implementation based on the sample provided with the CUDA 6.0 SDK, for which the creation of derivative works is allowed by including the following statement: "This software contains source code provided by NVIDIA Corporation."

Definition in file bisect_kernel_small.hpp.