|
Uni20
Asynchronous tensor and runtime library.
|
Fixed-output Tensor GEMM front end. More...
#include <uni20/linalg/backends/cpu/gemm.hpp>#include <uni20/linalg/dispatch.hpp>#include <uni20/linalg/operation_scalar.hpp>#include <uni20/linalg/operation_tags.hpp>#include <uni20/linalg/precision.hpp>#include <uni20/tensor/concepts.hpp>#include <uni20/tensor/output.hpp>#include <uni20/tensor/precision.hpp>#include <utility>Go to the source code of this file.
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
Functions | |
| template<class BackendSelector , uni20::MutableRankedTensorView< 2 > OutputTensor, class Alpha , class Beta , uni20::RankedTensorView< 2 > LhsTensor, uni20::RankedTensorView< 2 > RhsTensor> requires (OperationScalar<Alpha, tensor_element_t<OutputTensor>> && OperationScalar<Beta, tensor_element_t<OutputTensor>>) | |
| void | uni20::linalg::gemm (BackendSelector &&selector, OutputTensor &&output, Alpha alpha, LhsTensor const &lhs, RhsTensor const &rhs, Beta beta, std::optional< Precision > requested={}) |
Update a fixed-size matrix as output = alpha * lhs * rhs + beta * output. | |
| template<uni20::MutableRankedTensorView< 2 > OutputTensor, class Alpha , class Beta , uni20::RankedTensorView< 2 > LhsTensor, uni20::RankedTensorView< 2 > RhsTensor> requires (OperationScalar<Alpha, tensor_element_t<OutputTensor>> && OperationScalar<Beta, tensor_element_t<OutputTensor>>) | |
| void | uni20::linalg::gemm (OutputTensor &&output, Alpha alpha, LhsTensor const &lhs, RhsTensor const &rhs, Beta beta, std::optional< Precision > p={}) |
Apply the fixed-storage gemm contract using the operands' default backend selector. | |
Fixed-output Tensor GEMM front end.