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

Functions

template<typename scalar_t >
void slate::tile::gemm (scalar_t alpha, Tile< scalar_t > const &A, Tile< scalar_t > const &B, scalar_t beta, Tile< scalar_t > &C)
 General matrix multiply: \(op(C) = \alpha op(A) op(B) + \beta C\).
 
template<typename scalar_t >
void slate::tile::gemm (scalar_t alpha, Tile< scalar_t > const &&A, Tile< scalar_t > const &&B, scalar_t beta, Tile< scalar_t > &&C)
 Converts rvalue refs to lvalue refs.
 

Detailed Description

Function Documentation

◆ gemm()

template<typename scalar_t >
void slate::tile::gemm ( scalar_t  alpha,
Tile< scalar_t > const &  A,
Tile< scalar_t > const &  B,
scalar_t  beta,
Tile< scalar_t > &  C 
)

General matrix multiply: \(op(C) = \alpha op(A) op(B) + \beta C\).

Use transpose() or conj_transpose() to set \(op(A)\), \(op(B)\), and \(op(C)\). In the complex case, if \(op(C)\) is transpose, then \(op(A)\) and \(op(B)\) cannot be conj_transpose; if \(op(C)\) is conj_transpose, then \(op(A)\) and \(op(B)\) cannot be transpose.