SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
Loading...
Searching...
No Matches
herk: Hermitian rank k update

Functions

template<Target target, typename scalar_t >
void slate::impl::herk (blas::real_type< scalar_t > alpha, Matrix< scalar_t > A, blas::real_type< scalar_t > beta, HermitianMatrix< scalar_t > C, Options const &opts)
 

Detailed Description

Function Documentation

◆ herk()

template<Target target, typename scalar_t >
void slate::impl::herk ( blas::real_type< scalar_t >  alpha,
Matrix< scalar_t >  A,
blas::real_type< scalar_t >  beta,
HermitianMatrix< scalar_t >  C,
Options const &  opts 
)

Distributed parallel Hermitian rank k update. Generic implementation for any target. Dependencies enforce the following behavior:

  • bcast communications are serialized,
  • herk operations are serialized,
  • bcasts can get ahead of herks by the value of lookahead. Note A and C are passed by value, so we can transpose if needed (for uplo = Upper) without affecting caller.