21template <
class T,
class Abi, KernelConfig Conf>
23template <
class T,
class Abi, KernelConfig Conf>
26template <
class T,
class Abi, KernelConfig Conf, index_t RowsReg, StorageOrder O1, StorageOrder O2>
29 index_t k2, T regularization,
40template <
class T,
class Abi, KernelConfig Conf, StorageOrder OA, StorageOrder OCD>
46template <
class T,
class Abi>
49template <
class T,
class Abi, KernelConfig Conf, StorageOrder OA, StorageOrder OC>
55template <
class T,
class Abi, KernelConfig Conf, StorageOrder O1, StorageOrder O2>
consteval auto make_1d_lut(F f)
Returns an array of the form:
consteval auto make_2d_lut(F f)
Returns a 2D array of the form:
constexpr index_t RowsReg
Register block size of the matrix-matrix multiplication micro-kernels.
constexpr index_t ColsReg
constexpr index_t RowsReg
Register block size of the matrix-matrix multiplication micro-kernels.
const constinit auto potrf_copy_lut
std::conditional_t< Conf.with_diag(), uview_vec< T, Abi >, std::false_type > diag_uview_type
void trsm_copy_microkernel(uview< const T, Abi, O1 > A1, uview< const T, Abi, O1 > B1, uview< const T, Abi, O2 > A2, uview< const T, Abi, O2 > B2, uview< const T, Abi, O2 > L, const T *invL, uview< const T, Abi, O2 > C, uview< T, Abi, O2 > D, index_t k1, index_t k2, diag_uview_type< const T, Abi, Conf > diag) noexcept
void potrf_copy_register(view< const T, Abi, OA > A, view< const T, Abi, OCD > C, view< T, Abi, OCD > D, T regularization, diag_view_type< const T, Abi, Conf > diag) noexcept
const constinit auto trsm_copy_lut
std::conditional_t< Conf.with_diag(), view< T, Abi >, std::false_type > diag_view_type
void potrf_copy_microkernel(uview< const T, Abi, O1 > A1, uview< const T, Abi, O2 > A2, uview< const T, Abi, O2 > C, uview< T, Abi, O2 > D, T *invD, index_t k1, index_t k2, T regularization, diag_uview_type< const T, Abi, Conf > diag) noexcept
simd_view_types< std::remove_const_t< T >, Abi >::template view< T, Order > view
std::integral_constant< index_t, I > index_constant
enum batmat::linalg::micro_kernels::potrf::KernelConfig::@251003062227232146206006340175351212340342314017 diag_A
@ diag_sign_only
chol(C ± AΣAᵀ) with Σ diagonal and containing only ±0 (just sign bits)
@ diag
chol(C ± AΣAᵀ) with Σ diagonal
constexpr bool with_diag() const noexcept
bool negate_A
Whether to compute chol(C - AAᵀ) instead of chol(C + AAᵀ).