class
SushiBLAS::Level3
Records the Level 3 BLAS routines.
- Declared in
include/SushiBLAS/engine/blas/level3.hpp
See also
include/SushiBLAS/engine/blas/README.md
Public member functions
TaskHandle gemm(const Tensor &A, const Tensor &B, Tensor &C, bool transA=false, bool transB=false, double alpha=1.0, double beta=0.0)Computes C = alpha * op(A) * op(B) + beta * C, batched when the operands have rank > 2.
TaskHandle trsm(const Tensor &A, Tensor &B, bool left_side=true, bool upper=false, bool transA=false, bool unit_diag=false, double alpha=1.0)Solves a triangular system with multiple right-hand sides, overwriting B with X.
Parameters
left_sideSolves op(A) * X = alpha * B when true, X * op(A) = alpha * B when false.
upperTreats A as upper triangular when true, lower when false.
TaskHandle syrk(const Tensor &A, Tensor &C, bool upper=false, bool transA=false, double alpha=1.0, double beta=0.0)Computes the symmetric rank-k update of C from A.
Parameters
upperStores the result in the upper triangle of C when true, the lower when false.
transAComputes alpha * A^T * A + beta * C when true, alpha * A * A^T + beta * C when false.
Protected member functions
explicit Level3(TaskRecorder &recorder) noexceptBinds the level to the recorder its routines record through.
Level3(const Level3 &)=defaultLevel3 & operator=(const Level3 &)=deleteLevel3(Level3 &&)=defaultLevel3 & operator=(Level3 &&)=delete~Level3()=default
