SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Target implementations

Functions

template<Target target, typename scalar_t >
void slate::impl::hb2st (HermitianBandMatrix< scalar_t > &A, Matrix< scalar_t > &V, Options const &opts)
 
template<Target target, typename scalar_t >
void slate::impl::he2hb (HermitianMatrix< scalar_t > &A, TriangularFactors< scalar_t > &T, Options const &opts)
 Distributed parallel reduction to band for 3-stage Hermitian eigenvalue decomposition.
 

Detailed Description

Function Documentation

◆ hb2st()

template<Target target, typename scalar_t >
void slate::impl::hb2st ( HermitianBandMatrix< scalar_t > &  A,
Matrix< scalar_t > &  V,
Options const &  opts 
)

Reduces a band Hermitian matrix to a tridiagonal matrix using bulge chasing.

◆ he2hb()

template<Target target, typename scalar_t >
void slate::impl::he2hb ( HermitianMatrix< scalar_t > &  A,
TriangularFactors< scalar_t > &  T,
Options const &  opts 
)

Distributed parallel reduction to band for 3-stage Hermitian eigenvalue decomposition.

Generic implementation for any target. Panel computed on host using Host OpenMP task.

ColMajor layout is assumed