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

OpenCL kernels for the bisection algorithm for eigenvalues. More...

Go to the source code of this file.

Classes

struct  viennacl::linalg::opencl::kernels::bisect_kernel< NumericT >
 Main kernel class for the generation of the bisection kernels and utilities. More...
 

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::opencl
 Holds all routines providing OpenCL linear algebra operations.
 
 viennacl::linalg::opencl::kernels
 Contains the OpenCL kernel generation functions for a predefined set of functionality.
 

Functions

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_config (StringType &source)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_floorPow2 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_ceilPow2 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeMidpoint (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeInterval (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvalsLarge (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeNonEmptyIntervals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeNonEmptyIntervalsLarge (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompaction (StringType &source)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompactionShort (StringType &source)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervalsShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConverged (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConvergedShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveInterval (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveIntervalShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernel (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge_MultIntervals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge_OneIntervals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_writeToGmem (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactStreamsFinal (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanCompactBlocksStartAddress (StringType &source)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanSumBlocks (StringType &source)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanInitial (StringType &source)
 
template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge (StringType &source, std::string const &numeric_string)
 

Detailed Description

OpenCL kernels for the bisection algorithm for eigenvalues.

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.hpp.