|
Uni20
Asynchronous tensor and runtime library.
|
Provider-ready BLAS matrix operands and transform helpers. More...
#include <uni20/backend/backend.hpp>#include <uni20/common/trace.hpp>#include <uni20/core/scalar_concepts.hpp>#include <utility>Go to the source code of this file.
Classes | |
| struct | uni20::linalg::blas::BlasReadableMatrix< Scalar, Handle > |
| Readable matrix shape plus transform as seen by a BLAS provider. More... | |
| struct | uni20::linalg::blas::BlasWritableMatrix< Scalar, Handle > |
| Writable matrix shape as seen by a BLAS/LAPACK provider. More... | |
Namespaces | |
| namespace | uni20 |
| namespace | uni20::linalg |
| namespace | uni20::linalg::blas |
Enumerations | |
| enum class | uni20::linalg::blas::MatrixTransform : unsigned { uni20::linalg::blas::normal = 0U , uni20::linalg::blas::transpose = 1U , uni20::linalg::blas::conjugate = 2U , uni20::linalg::blas::conjugate_transpose = 3U } |
| Logical matrix transform independent of a provider-specific opcode, although it happens to coincide with the OpenBLAS cblas ordering. More... | |
Functions | |
| template<uni20::BlasScalar Scalar> | |
| constexpr char | uni20::linalg::blas::blas_trans_char (MatrixTransform transform) |
| Lower a transform to the BLAS transpose character spelling used by selected providers. | |
| template<uni20::BlasScalar Scalar> | |
| constexpr bool | uni20::linalg::blas::blas_trans_char_is_supported (MatrixTransform transform) |
| Return whether the current baseline provider path accepts a transform directly. | |
| template<uni20::BlasScalar Scalar> | |
| constexpr MatrixTransform | uni20::linalg::blas::canonical_transform_for_scalar (MatrixTransform transform) |
| Collapse conjugation-only distinctions for real scalar types. | |
| constexpr MatrixTransform | uni20::linalg::blas::compose (MatrixTransform outer, MatrixTransform inner) |
Compose two matrix transforms as outer(inner(A)). | |
| constexpr bool | uni20::linalg::blas::conjugates_values (MatrixTransform transform) |
| Return whether a matrix transform applies element-wise conjugation. | |
| constexpr bool | uni20::linalg::blas::swaps_axes (MatrixTransform transform) |
| Return whether a matrix transform swaps the logical axes. | |
| constexpr blas_int | uni20::linalg::blas::transformed_cols (blas_int rows, blas_int cols, MatrixTransform transform) |
Columns produced by applying transform to an untransformed matrix. | |
| constexpr blas_int | uni20::linalg::blas::transformed_rows (blas_int rows, blas_int cols, MatrixTransform transform) |
Rows produced by applying transform to an untransformed matrix. | |
| constexpr MatrixTransform | uni20::linalg::blas::transpose_result_transform (MatrixTransform transform) |
| Transform induced on each GEMM operand by transposing the result. | |
Provider-ready BLAS matrix operands and transform helpers.