batmat develop
Batched linear algebra routines
Loading...
Searching...
No Matches
small-potrf.hpp File Reference
#include <batmat/linalg/structure.hpp>
#include <batmat/linalg/uview.hpp>
#include <batmat/micro-kernels/small-potrf/export.h>
#include <batmat/platform/platform.hpp>

Go to the source code of this file.

Namespaces

namespace  batmat
namespace  batmat::linalg
namespace  batmat::linalg::micro_kernels
namespace  batmat::linalg::micro_kernels::small_potrf

Typedefs

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

Functions

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
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.
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
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.
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