SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
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. | |
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.