|
| 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.
|
|
| 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> |
| constexpr auto | batmat::linalg::micro_kernels::gemm::detail::gemm_copy_lut |
| template<class T, class Abi, KernelConfig Conf, StorageOrder OA, StorageOrder OB, StorageOrder OC, StorageOrder OD> |
| const constinit decltype(detail::gemm_copy_lut< T, Abi, Conf, OA, OB, OC, OD >) | batmat::linalg::micro_kernels::gemm::gemm_copy_lut = detail::gemm_copy_lut<T, Abi, Conf, OA, OB, OC, OD> |