batmat
0.0.18
Batched linear algebra routines
Loading...
Searching...
No Matches
batmat::linalg::micro_kernels::gemm::detail Namespace Reference
Variables
template<class T, class Abi,
KernelConfig
Conf,
StorageOrder
OA,
StorageOrder
OB,
StorageOrder
OC,
StorageOrder
OD>
constexpr auto
gemm_copy_lut
Variable Documentation
◆
gemm_copy_lut
template<class T, class Abi,
KernelConfig
Conf,
StorageOrder
OA,
StorageOrder
OB,
StorageOrder
OC,
StorageOrder
OD>
auto batmat::linalg::micro_kernels::gemm::detail::gemm_copy_lut
constexpr
Initial value:
=
make_2d_lut<RowsReg<T, Abi>
,
ColsReg<T, Abi>
>(
[]<index_t Row, index_t Col>(
index_constant<Row>
,
index_constant<Col>
) {
return
gemm_copy_microkernel<T, Abi, Conf, Row + 1, Col + 1, OA, OB, OC, OD>
;
})
batmat::make_2d_lut
consteval auto make_2d_lut(F f)
Returns a 2D array of the form:
Definition
lut.hpp:25
batmat::linalg::micro_kernels::gemm::gemm_copy_microkernel
void gemm_copy_microkernel(uview< const T, Abi, OA > A, uview< const T, Abi, OB > B, std::optional< uview< const T, Abi, OC > > C, uview< T, Abi, OD > D, index_t k) noexcept
Generalized matrix multiplication D = C ± A⁽ᵀ⁾ B⁽ᵀ⁾. Single register block.
Definition
gemm.tpp:36
batmat::linalg::micro_kernels::gemm::ColsReg
constexpr index_t ColsReg
Definition
gemm.hpp:38
batmat::index_constant
std::integral_constant< index_t, I > index_constant
Definition
lut.hpp:10
Definition at line
47
of file
gemm.hpp
.
batmat
linalg
micro_kernels
gemm
detail
Generated on
for batmat by
1.16.1