OpenCL kernels for the bisection algorithm for eigenvalues. More...
#include "viennacl/tools/tools.hpp"
#include "viennacl/ocl/kernel.hpp"
#include "viennacl/ocl/platform.hpp"
#include "viennacl/ocl/utils.hpp"
#include "viennacl/linalg/opencl/common.hpp"
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) |
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.