class
SushiBLAS::Level1
Records the Level 1 BLAS routines.
- Declared in
include/SushiBLAS/engine/blas/level1.hpp
See also
include/SushiBLAS/engine/blas/README.md
Public member functions
TaskHandle axpy(double alpha, const Tensor &x, Tensor &y)Computes y = alpha * x + y.
Parameters
alphaTaken as double and narrowed to the element type at the kernel boundary.
See also
include/SushiBLAS/engine/blas/README.md
TaskHandle dot(const Tensor &x, const Tensor &y, Tensor &result)Computes the unconjugated dot product x^T * y into result.
Parameters
resultScalar output tensor.
TaskHandle scal(double alpha, Tensor &x)Scales every element of x by alpha.
Parameters
alphaTaken as double and narrowed at the kernel boundary; see axpy.
TaskHandle copy(const Tensor &x, Tensor &y)Copies every element of x into y.
TaskHandle swap(Tensor &x, Tensor &y)Exchanges the elements of x and y.
TaskHandle nrm2(const Tensor &x, Tensor &result)Computes the Euclidean norm sqrt(sum(|x_i|^2)) into result.
Parameters
resultScalar output tensor.
See also
include/SushiBLAS/engine/blas/README.md
TaskHandle asum(const Tensor &x, Tensor &result)Computes sum(|Re(x_i)| + |Im(x_i)|) into result.
Parameters
resultScalar output tensor.
TaskHandle iamax(const Tensor &x, Tensor &result)Finds the smallest index i at which |Re(x_i)| + |Im(x_i)| is largest.
See also
include/SushiBLAS/engine/blas/README.md
TaskHandle rot(Tensor &x, Tensor &y, double c, double s)Applies the plane rotation x_i = c * x_i + s * y_i, y_i = -s * x_i + c * y_i.
Parameters
cTaken as double, like s, and narrowed at the kernel boundary; see axpy.
Protected member functions
explicit Level1(TaskRecorder &recorder) noexceptBinds the level to the recorder its routines record through.
Level1(const Level1 &)=defaultLevel1 & operator=(const Level1 &)=deleteLevel1(Level1 &&)=defaultLevel1 & operator=(Level1 &&)=delete~Level1()=default
