class
SushiBLAS::Level2
Records the Level 2 BLAS routines.
- Declared in
include/SushiBLAS/engine/blas/level2.hpp
See also
include/SushiBLAS/engine/blas/README.md
Public member functions
TaskHandle gemv(const Tensor &A, const Tensor &x, Tensor &y, bool transA=false, double alpha=1.0, double beta=0.0)Computes y = alpha * op(A) * x + beta * y.
Parameters
transAUses A^T as op(A) when true.
TaskHandle ger(const Tensor &x, const Tensor &y, Tensor &A, double alpha=1.0)Computes the rank-1 update A = alpha * x * y^H + A.
TaskHandle symv(const Tensor &A, const Tensor &x, Tensor &y, bool upper=false, double alpha=1.0, double beta=0.0)Computes y = alpha * A * x + beta * y for a symmetric A.
Parameters
upperReads the upper triangle of A when true, the lower when false.
TaskHandle trmv(const Tensor &A, Tensor &x, bool upper=false, bool transA=false, bool unit_diag=false)Computes x = op(A) * x for a triangular A.
Parameters
upperTreats A as upper triangular when true, lower when false.
unit_diagTreats the diagonal of A as all ones when true.
TaskHandle trsv(const Tensor &A, Tensor &b, bool upper=false, bool transA=false, bool unit_diag=false)Solves op(A) * x = b for a triangular A, overwriting b with x.
Parameters
upperTreats A as upper triangular when true, lower when false.
unit_diagTreats the diagonal of A as all ones when true.
TaskHandle syr(const Tensor &x, Tensor &A, bool upper=false, double alpha=1.0)Computes the symmetric rank-1 update A = alpha * x * x^H + A.
Parameters
upperUpdates the upper triangle when true, the lower when false.
TaskHandle syr2(const Tensor &x, const Tensor &y, Tensor &A, bool upper=false, double alpha=1.0)Computes the symmetric rank-2 update A = alpha * x * y^H + alpha * y * x^H + A.
Parameters
upperUpdates the upper triangle when true, the lower when false.
Protected member functions
explicit Level2(TaskRecorder &recorder) noexceptBinds the level to the recorder its routines record through.
Level2(const Level2 &)=defaultLevel2 & operator=(const Level2 &)=deleteLevel2(Level2 &&)=defaultLevel2 & operator=(Level2 &&)=delete~Level2()=default
