ViennaCL - The Vienna Computing Library  1.6.0
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sse_kernels.hpp File Reference

optimized linear algebra operations for the CPU More...

#include <iostream>
#include <vector>
#include <algorithm>
#include "viennacl/linalg/host_based/sse_blas.hpp"

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::host_based
 Holds all compute kernels with conventional host-based execution (buffers in CPU RAM).
 
 viennacl::linalg::host_based::detail
 Helper functions for the host-based linear algebra backend.
 

Functions

template<typename ScalarType >
bool viennacl::linalg::host_based::detail::isHermitian (ScalarType **const A, vcl_size_t n)
 
template<typename ScalarType >
vcl_size_t viennacl::linalg::host_based::detail::getHermitianBandwidth (ScalarType **const A, vcl_size_t n)
 
template<typename ScalarType >
void viennacl::linalg::host_based::detail::eliminateHermitian (ScalarType **A, vcl_size_t row, vcl_size_t from, vcl_size_t to, vcl_size_t width, ScalarType *ss)
 
template<typename ScalarType >
void viennacl::linalg::host_based::detail::tridiagonalizeHermitianBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t bandwidth)
 
template<typename ScalarType >
void viennacl::linalg::host_based::detail::reduceHermitianToBandedMatrix (ScalarType **A, vcl_size_t n, vcl_size_t block_size, vcl_size_t num_threads)
 
template<typename ScalarType >
void viennacl::linalg::host_based::inplace_tred2 (ScalarType **A, vcl_size_t n, vcl_size_t block_size=1, vcl_size_t num_threads=1)
 Inplace reduction of a dense n x n row-major or column-major hermitian (or real symmetric) matrix to tridiagonal form using householder similarity transforms (preserving eigenvalues) More...
 
template<typename ScalarType >
bool viennacl::linalg::host_based::lu_factorize_row_major (ScalarType **A, vcl_size_t m, vcl_size_t n, vcl_size_t *piv=NULL, vcl_size_t block_size=8)
 Inplace lu factorization of an m x n dense row-major matrix with optional partial pivoting, returning true for an even number of pivots, false for an odd number of pivots. Factorization is successful if there are no nonzero values on the diagonal. More...
 
template<typename ScalarType >
std::vector< ScalarTypeviennacl::linalg::host_based::inplace_qr_col_major (ScalarType **A, vcl_size_t m, vcl_size_t n, vcl_size_t block_size=8)
 Inplace qr factorization of an m x n dense column-major matrix, returning the householder normalization coefficients. More...
 
template<typename ScalarType >
std::vector< ScalarTypeviennacl::linalg::host_based::inplace_qr_row_major (ScalarType **A, vcl_size_t m, vcl_size_t n, vcl_size_t block_size=8, vcl_size_t num_threads=1)
 Inplace qr factorization of an m x n dense row-major matrix, returning the householder normalization coefficients. More...
 

Detailed Description

optimized linear algebra operations for the CPU

Contributed by Alex Christensen.

Definition in file sse_kernels.hpp.