|
Uni20
Asynchronous tensor and runtime library.
|
Concepts | |
| concept | ContractionCompatible |
| Report whether resolved mdspans support reference contraction expressions. | |
| concept | GemmCompatible |
| Report whether resolved mdspans support reference CPU GEMM expressions. | |
| concept | GemvCompatible |
| Report whether resolved mdspans support reference CPU GEMV expressions. | |
Functions | |
| template<class OutputMdspan , uni20::Scalar Scalar, class LhsMdspan , class RhsMdspan , std::size_t LhsRank, std::size_t RhsRank, std::size_t ContractedRank> requires ContractionCompatible<OutputMdspan, Scalar, LhsMdspan, RhsMdspan, LhsRank, RhsRank, ContractedRank> | |
| void | contract (OutputMdspan &output, Scalar alpha, LhsMdspan &lhs, RhsMdspan &rhs, Scalar beta, ContractionAxes< LhsRank, RhsRank, ContractedRank > const &axes) |
| Execute a fixed-output pairwise contraction over resolved host mdspans. | |
| template<class OutputMdspan , uni20::Scalar Scalar, class LhsMdspan , class RhsMdspan > requires GemmCompatible<OutputMdspan, Scalar, LhsMdspan, RhsMdspan> | |
| void | gemm (OutputMdspan &&output, Scalar alpha, LhsMdspan &&lhs, RhsMdspan &&rhs, Scalar beta) |
| Execute reference CPU GEMM on resolved mdspans. | |
| template<class OutputMdspan , uni20::Scalar Scalar, class MatrixMdspan , class InputMdspan > requires GemvCompatible<OutputMdspan, Scalar, MatrixMdspan, InputMdspan> | |
| void | gemv (OutputMdspan &&output, Scalar alpha, MatrixMdspan &&matrix, InputMdspan &&input, Scalar beta) |
| Execute reference CPU GEMV on resolved mdspans. | |
| void uni20::linalg::cpu::contract | ( | OutputMdspan & | output, |
| Scalar | alpha, | ||
| LhsMdspan & | lhs, | ||
| RhsMdspan & | rhs, | ||
| Scalar | beta, | ||
| ContractionAxes< LhsRank, RhsRank, ContractedRank > const & | axes | ||
| ) |
Execute a fixed-output pairwise contraction over resolved host mdspans.
Rank-two contractions with a generalized-diagonal operand read its rank-one stored components directly. The general correctness path evaluates every operand through its accessor and supports rank-zero operands, outer products, empty contracted extents, and arbitrary mdspan mappings.
| void uni20::linalg::cpu::gemm | ( | OutputMdspan && | output, |
| Scalar | alpha, | ||
| LhsMdspan && | lhs, | ||
| RhsMdspan && | rhs, | ||
| Scalar | beta | ||
| ) |
Execute reference CPU GEMM on resolved mdspans.
| void uni20::linalg::cpu::gemv | ( | OutputMdspan && | output, |
| Scalar | alpha, | ||
| MatrixMdspan && | matrix, | ||
| InputMdspan && | input, | ||
| Scalar | beta | ||
| ) |
Execute reference CPU GEMV on resolved mdspans.