6#include <batmat/micro-kernels/sytrd/export.h>
14template <
class T,
class Abi>
17template <
class T,
class Abi, KernelConfig Conf, index_t R, StorageOrder OD>
23template <
class T,
class Abi, StorageOrder OD>
27 return {W_t::num_elem_per_layer(), (std::max<index_t>(D.cols(), 1) - 1 + R - 1) / R};
31template <
class T,
class Abi, StorageOrder OD>
38template <
class T,
class Abi, KernelConfig Conf = {},
StorageOrder OD = StorageOrder::ColMajor>
constexpr index_t RowsReg
Register block size of the matrix-matrix multiplication micro-kernels.
void sytrd_diag_microkernel(index_t k, triangular_accessor< T, Abi, SizeR< T, Abi > > W, uview< T, Abi, OD > D, uview< T, Abi, StorageOrder::ColMajor > Y) noexcept
constexpr std::pair< index_t, index_t > sytrd_W_size(view< T, Abi, OD > D)
void sytrd_register(view< T, Abi, OD > D, view< T, Abi > W, view< T, Abi > Y) noexcept
Symmetric block tridiagonalization.
constexpr std::pair< index_t, index_t > sytrd_Y_size(view< T, Abi, OD > D)
simd_view_types< std::remove_const_t< T >, Abi >::template view< T, Order > view
std::integral_constant< index_t, I > index_constant