![]() |
batmat
0.0.15
Batched linear algebra routines
|
#include <batmat/linalg/structure.hpp>#include <batmat/linalg/uview.hpp>#include <batmat/lut.hpp>#include <batmat/platform/platform.hpp>#include <optional>Go to the source code of this file.
Classes | |
| struct | batmat::linalg::micro_kernels::gemm::KernelConfig |
Namespaces | |
| namespace | batmat |
| namespace | batmat::linalg |
| namespace | batmat::linalg::micro_kernels |
| namespace | batmat::linalg::micro_kernels::gemm |
Functions | |
| template<class T, class Abi, KernelConfig Conf, index_t RowsReg, index_t ColsReg, StorageOrder OA, StorageOrder OB, StorageOrder OC, StorageOrder OD> | |
| void | batmat::linalg::micro_kernels::gemm::gemm_copy_microkernel (const uview< const T, Abi, OA > A, const uview< const T, Abi, OB > B, const std::optional< uview< const T, Abi, OC > > C, const uview< T, Abi, OD > D, const index_t k) noexcept |
| Generalized matrix multiplication D = C ± A⁽ᵀ⁾ B⁽ᵀ⁾. Single register block. | |
| template<class T, class Abi, KernelConfig Conf, StorageOrder OA, StorageOrder OB, StorageOrder OC, StorageOrder OD> | |
| void | batmat::linalg::micro_kernels::gemm::gemm_copy_register (const view< const T, Abi, OA > A, const view< const T, Abi, OB > B, const std::optional< view< const T, Abi, OC > > C, const view< T, Abi, OD > D) noexcept |
| Generalized matrix multiplication D = C ± A⁽ᵀ⁾ B⁽ᵀ⁾. Using register blocking. | |
Variables | |
| template<class T, class Abi> | |
| constexpr index_t | batmat::linalg::micro_kernels::gemm::ColsReg = RowsReg<T, Abi> |
| template<class T, class Abi, KernelConfig Conf, StorageOrder OA, StorageOrder OB, StorageOrder OC, StorageOrder OD> | |
| const constinit auto | batmat::linalg::micro_kernels::gemm::gemm_copy_lut |
| struct batmat::linalg::micro_kernels::gemm::KernelConfig |
| Class Members | ||
|---|---|---|
| bool | negate = false | |
| int | shift_A = 0 | |
| int | rotate_B = 0 | |
| int | rotate_C = 0 | |
| int | rotate_D = rotate_C | |
| int | mask_D = rotate_D | |
| MatrixStructure | struc_A = MatrixStructure::General | |
| MatrixStructure | struc_B = MatrixStructure::General | |
| MatrixStructure | struc_C = MatrixStructure::General | |