SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
Loading...
Searching...
No Matches
Target implementations

Functions

template<Target target, typename scalar_t >
int64_t slate::impl::getrf (Matrix< scalar_t > &A, Pivots &pivots, Options const &opts)
 Distributed parallel LU factorization.
 
template<Target target, typename scalar_t >
int64_t slate::impl::getrf_nopiv (Matrix< scalar_t > &A, Options const &opts)
 Distributed parallel LU factorization without pivoting.
 
template<Target target, typename scalar_t >
int64_t slate::impl::getrf_tntpiv (Matrix< scalar_t > &A, Pivots &pivots, Options const &opts)
 Distributed parallel CALU factorization.
 
template<Target target, typename scalar_t >
void slate::impl::getri (Matrix< scalar_t > &A, Pivots &pivots, Options const &opts)
 Distributed parallel inverse of a general matrix.
 

Detailed Description

Function Documentation

◆ getrf()

template<Target target, typename scalar_t >
int64_t slate::impl::getrf ( Matrix< scalar_t > &  A,
Pivots &  pivots,
Options const &  opts 
)

Distributed parallel LU factorization.

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

◆ getrf_nopiv()

template<Target target, typename scalar_t >
int64_t slate::impl::getrf_nopiv ( Matrix< scalar_t > &  A,
Options const &  opts 
)

Distributed parallel LU factorization without pivoting.

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

◆ getrf_tntpiv()

template<Target target, typename scalar_t >
int64_t slate::impl::getrf_tntpiv ( Matrix< scalar_t > &  A,
Pivots &  pivots,
Options const &  opts 
)

Distributed parallel CALU factorization.

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

◆ getri()

template<Target target, typename scalar_t >
void slate::impl::getri ( Matrix< scalar_t > &  A,
Pivots &  pivots,
Options const &  opts 
)

Distributed parallel inverse of a general matrix.

Generic implementation for any target.

todo: This routine is in-place and does not support GPUs. There is another one (out-of-place) that does. What if this one is called with Target::Devices? a) execute on CPUs, b) error out (not supported)?