batmat develop
Batched linear algebra routines
Loading...
Searching...
No Matches
batmat::linalg::micro_kernels::small_potrf Namespace Reference

Typedefs

template<class T>
using scalar_view = uview<T, datapar::scalar_abi<std::remove_const_t<T>>, StorageOrder::ColMajor>

Functions

template<class T, index_t NC>
void potrf_trsm_microkernel (index_t k, scalar_view< const T > A, scalar_view< T > L) noexcept
template<class T, index_t RowsReg, index_t ColsReg>
void potrf_syrk_microkernel (index_t k, scalar_view< const T > L21, scalar_view< const T > A22, scalar_view< T > L22) noexcept
 Outer product for updating the bottom right tail during Cholesky factorization.
template<class T, index_t RowsReg = 4>
void small_potrf (view< const T, datapar::scalar_abi< T > > A, view< T, datapar::scalar_abi< T > > L, index_t n=-1) noexcept
template<class T, index_t NC, index_t NR>
void syrk_potrf_trsm_microkernel (index_t m, index_t k, scalar_view< const T > L21, scalar_view< const T > A22, scalar_view< T > L22) noexcept
 Left-looking variant of small_potrf, which updates the current block with the outer product of the previously computed part L21.
template<class T, index_t RowsReg = 4, index_t S = 8>
void small_potrf_left (view< const T, datapar::scalar_abi< T > > A, view< T, datapar::scalar_abi< T > > L) noexcept

Typedef Documentation

◆ scalar_view

template<class T>
using batmat::linalg::micro_kernels::small_potrf::scalar_view = uview<T, datapar::scalar_abi<std::remove_const_t<T>>, StorageOrder::ColMajor>

Definition at line 11 of file small-potrf.hpp.

Function Documentation

◆ potrf_trsm_microkernel()

template<class T, index_t NC>
void batmat::linalg::micro_kernels::small_potrf::potrf_trsm_microkernel ( index_t k,
scalar_view< const T > A,
scalar_view< T > L )
noexcept

Definition at line 18 of file small-potrf.tpp.

◆ potrf_syrk_microkernel()

template<class T, index_t RowsReg, index_t ColsReg>
void batmat::linalg::micro_kernels::small_potrf::potrf_syrk_microkernel ( index_t k,
scalar_view< const T > L21,
scalar_view< const T > A22,
scalar_view< T > L22 )
noexcept

Outer product for updating the bottom right tail during Cholesky factorization.

Parameters
A21rows×ColsReg
A22rows×RowsReg

Definition at line 72 of file small-potrf.tpp.

◆ small_potrf()

template<class T, index_t RowsReg = 4>
void batmat::linalg::micro_kernels::small_potrf::small_potrf ( view< const T, datapar::scalar_abi< T > > A,
view< T, datapar::scalar_abi< T > > L,
index_t n = -1 )
noexcept

Definition at line 117 of file small-potrf.tpp.

◆ syrk_potrf_trsm_microkernel()

template<class T, index_t NC, index_t NR>
void batmat::linalg::micro_kernels::small_potrf::syrk_potrf_trsm_microkernel ( index_t m,
index_t k,
scalar_view< const T > L21,
scalar_view< const T > A22,
scalar_view< T > L22 )
noexcept

Left-looking variant of small_potrf, which updates the current block with the outer product of the previously computed part L21.

Parameters
L21m×k
A22m×NC
L22m×NC

Definition at line 208 of file small-potrf.tpp.

◆ small_potrf_left()

template<class T, index_t RowsReg = 4, index_t S = 8>
void batmat::linalg::micro_kernels::small_potrf::small_potrf_left ( view< const T, datapar::scalar_abi< T > > A,
view< T, datapar::scalar_abi< T > > L )
noexcept

Definition at line 279 of file small-potrf.tpp.