SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
Loading...
Searching...
No Matches
symm: Symmetric matrix multiply

Functions

template<Target target, typename scalar_t >
void slate::impl::symm (Side side, scalar_t alpha, SymmetricMatrix< scalar_t > A, Matrix< scalar_t > B, scalar_t beta, Matrix< scalar_t > C, Options const &opts)
 

Detailed Description

Function Documentation

◆ symm()

template<Target target, typename scalar_t >
void slate::impl::symm ( Side  side,
scalar_t  alpha,
SymmetricMatrix< scalar_t >  A,
Matrix< scalar_t >  B,
scalar_t  beta,
Matrix< scalar_t >  C,
Options const &  opts 
)

Distributed parallel symmetric matrix-matrix multiplication. Generic implementation for any target. Dependencies enforce the following behavior:

  • bcast communications are serialized,
  • symm operations are serialized,
  • bcasts can get ahead of symms by the value of lookahead. Note A, B, and C are passed by value, so we can transpose if needed (for side = right) without affecting caller.

ColMajor layout is assumed