![]() |
batmat
0.0.19
Batched linear algebra routines
|
Namespaces | |
| namespace | copy |
| namespace | gemm_diag |
| namespace | syomv |
Functions | |
| template<class T, class Abi, index_t N = 8, StorageOrder OAi> | |
| index_t | compress_masks_impl (view< const T, Abi, OAi > A_in, view< const T, Abi > S_in, auto writeS, auto writeA) |
| template<class T, class Abi, index_t N = 8> | |
| index_t | compress_masks_count (view< const T, Abi > S_in) |
| template<class T, class Abi, index_t N = 8, StorageOrder OAi, StorageOrder OAo> | |
| index_t | compress_masks (view< const T, Abi, OAi > A_in, view< const T, Abi > S_in, view< T, Abi, OAo > A_out, view< T, Abi > S_out) |
| template<class T, class Abi, index_t N = 8, StorageOrder OAi, StorageOrder OAo> | |
| index_t | compress_masks_sqrt (view< const T, Abi, OAi > A_in, view< const T, Abi > S_in, view< T, Abi, OAo > A_out, view< T, Abi > S_sign_out={}) |
| template<class T, class Abi, micro_kernels::gemm::KernelConfig Conf = {}, StorageOrder OA, StorageOrder OB, StorageOrder OC, StorageOrder OD> | |
| void | gemm (view< const T, Abi, OA > A, view< const T, Abi, OB > B, std::optional< view< const T, Abi, OC > > C, view< T, Abi, OD > D, TilingOptions packing={}) |
| template<class T, class Abi, micro_kernels::gemm::KernelConfig Conf = {}, StorageOrder OA, StorageOrder OB, StorageOrder OC, StorageOrder OD> | |
| void | gemmt (view< const T, Abi, OA > A, view< const T, Abi, OB > B, std::optional< view< const T, Abi, OC > > C, view< T, Abi, OD > D) |
| template<class T, class Abi, micro_kernels::gemm::KernelConfig Conf = {}, StorageOrder OA, StorageOrder OB, StorageOrder OC, StorageOrder OD> | |
| void | trmm (view< const T, Abi, OA > A, view< const T, Abi, OB > B, std::optional< view< const T, Abi, OC > > C, view< T, Abi, OD > D) |
| template<shift_opt... Opts> | |
| constexpr micro_kernels::gemm::KernelConfig | apply_gemm_options (micro_kernels::gemm::KernelConfig conf, Opts...) |
| template<class T, class Abi, micro_kernels::gemv::KernelConfig Conf = {}, StorageOrder OA> | |
| void | gemv (view< const T, Abi, OA > A, view< const T, Abi > B, std::optional< view< const T, Abi > > C, view< T, Abi > D) |
| template<shift_opt... Opts> | |
| constexpr micro_kernels::gemv::KernelConfig | apply_gemv_options (micro_kernels::gemv::KernelConfig conf, Opts...) |
| template<class T, class Abi, micro_kernels::hyhound::KernelConfig Conf, StorageOrder OL, StorageOrder OA> | |
| void | hyhound_diag (view< T, Abi, OL > L, view< T, Abi, OA > A, view< const T, Abi > D) |
| template<class T, class Abi, micro_kernels::hyhound::KernelConfig Conf, StorageOrder OL, StorageOrder OA> | |
| void | hyhound_diag (view< T, Abi, OL > L, view< T, Abi, OA > A, view< const T, Abi > D, view< T, Abi > W) |
| template<class T, class Abi, micro_kernels::hyhound::KernelConfig Conf, StorageOrder OL, StorageOrder OA> | |
| void | hyhound_diag_apply (view< T, Abi, OL > L, view< const T, Abi, OA > Ain, view< T, Abi, OA > Aout, view< const T, Abi, OA > B, view< const T, Abi > D, view< const T, Abi > W, index_t kA_in_offset=0) |
| template<class T, class Abi, micro_kernels::hyhound::KernelConfig Conf, StorageOrder OL1, StorageOrder OA1, StorageOrder OL2, StorageOrder OA2> | |
| void | hyhound_diag_2 (view< T, Abi, OL1 > L11, view< T, Abi, OA1 > A1, view< T, Abi, OL2 > L21, view< T, Abi, OA2 > A2, view< const T, Abi > D) |
| template<class T, class Abi, micro_kernels::hyhound::KernelConfig Conf, StorageOrder OL, StorageOrder OW, StorageOrder OY, StorageOrder OU> | |
| void | hyhound_diag_cyclic (view< T, Abi, OL > L11, view< T, Abi, OW > A1, view< T, Abi, OY > L21, view< const T, Abi, OW > A22, view< T, Abi, OW > A2_out, view< T, Abi, OU > L31, view< const T, Abi, OW > A31, view< T, Abi, OW > A3_out, view< const T, Abi > D) |
| template<class T, class Abi, micro_kernels::hyhound::KernelConfig Conf, StorageOrder OL, StorageOrder OA, StorageOrder OLu, StorageOrder OAu> | |
| void | hyhound_diag_riccati (view< T, Abi, OL > L11, view< T, Abi, OA > A1, view< T, Abi, OL > L21, view< const T, Abi, OA > A2, view< T, Abi, OA > A2_out, view< T, Abi, OLu > Lu1, view< T, Abi, OAu > Au_out, view< const T, Abi > D, bool shift_A_out) |
| template<class T, class Abi, micro_kernels::potrf::KernelConfig Conf, StorageOrder OA, StorageOrder OCD> | |
| void | potrf (view< const T, Abi, OA > A, view< const T, Abi, OCD > C, view< T, Abi, OCD > D, T regularization, micro_kernels::potrf::diag_view_type< const T, Abi, Conf > d={}) |
| template<class T, class Abi, MatrixStructure SA, StorageOrder OA> | |
| void | symm (view< const T, Abi, OA > A, view< const T, Abi > B, std::optional< view< const T, Abi > > C, view< T, Abi > D) |
| template<class T, class Abi, micro_kernels::symv::KernelConfig Conf = {}, StorageOrder OA> | |
| void | symv (view< const T, Abi, OA > A, view< const T, Abi > B, std::optional< view< const T, Abi > > C, view< T, Abi > D) |
| template<class T, class Abi, micro_kernels::trsm::KernelConfig Conf, StorageOrder OA, StorageOrder OB, StorageOrder OD> | |
| void | trsm (view< const T, Abi, OA > A, view< const T, Abi, OB > B, view< T, Abi, OD > D) |
| template<class T, class Abi, micro_kernels::trtri::KernelConfig Conf, StorageOrder OA, StorageOrder OD> | |
| void | trtri (view< const T, Abi, OA > A, view< T, Abi, OD > D) |
| struct batmat::linalg::detail::simdified_view_type |
| struct batmat::linalg::detail::simdified_view_type< batmat::matrix::View< T, index_t, S, S, L, O > > |
| Class Members | ||
|---|---|---|
| typedef remove_const_t< T > | value_type std::remove_const_t<T> | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< T, index_t, stride, stride, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, stride, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_view_type< const batmat::matrix::View< T, index_t, S, S, L, O > > |
| Class Members | ||
|---|---|---|
| typedef remove_const_t< T > | value_type std::remove_const_t<T> | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< T, index_t, stride, stride, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, stride, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_view_type< guanaqo::MatrixView< T, I, std::integral_constant< I, 1 >, O > > |
| Class Members | ||
|---|---|---|
| typedef remove_const_t< T > | value_type std::remove_const_t<T> | |
| typedef scalar_abi< value_type > | abi_type datapar::scalar_abi<value_type> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< T, index_t, stride, stride, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, stride, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_view_type< const guanaqo::MatrixView< T, I, std::integral_constant< I, 1 >, O > > |
| Class Members | ||
|---|---|---|
| typedef remove_const_t< T > | value_type std::remove_const_t<T> | |
| typedef scalar_abi< value_type > | abi_type datapar::scalar_abi<value_type> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< T, index_t, stride, stride, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, stride, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_view_type< batmat::matrix::Matrix< T, I, S, S, O, A > > |
| Class Members | ||
|---|---|---|
| typedef T | value_type T | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< T, index_t, stride, stride, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, stride, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_view_type< const batmat::matrix::Matrix< T, I, S, S, O, A > > |
| Class Members | ||
|---|---|---|
| typedef T | value_type T | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< const T, index_t, stride, stride, layer_stride, O > | type batmat::matrix::View<const T, index_t, stride, stride, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_multi_view_type |
| struct batmat::linalg::detail::simdified_multi_view_type< batmat::matrix::View< T, index_t, S, index_t, L, O > > |
| Class Members | ||
|---|---|---|
| typedef remove_const_t< T > | value_type std::remove_const_t<T> | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef L | layer_stride L | |
| typedef View< T, index_t, stride, index_t, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, index_t, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_multi_view_type< const batmat::matrix::View< T, index_t, S, index_t, L, O > > |
| Class Members | ||
|---|---|---|
| typedef remove_const_t< T > | value_type std::remove_const_t<T> | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef L | layer_stride L | |
| typedef View< T, index_t, stride, index_t, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, index_t, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_multi_view_type< batmat::matrix::Matrix< T, I, S, I, O, A > > |
| Class Members | ||
|---|---|---|
| typedef T | value_type T | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< T, index_t, stride, index_t, layer_stride, O > | type batmat::matrix::View<T, index_t, stride, index_t, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_multi_view_type< const batmat::matrix::Matrix< T, I, S, I, O, A > > |
| Class Members | ||
|---|---|---|
| typedef T | value_type T | |
| typedef deduced_abi< value_type, S{}> | abi_type datapar::deduced_abi<value_type, S{}> | |
| typedef simd< value_type, abi_type > | simd_type datapar::simd<value_type, abi_type> | |
| typedef simd_size< value_type, abi_type > | stride datapar::simd_size<value_type, abi_type> | |
| typedef simd_align< value_type, abi_type > | alignment datapar::simd_align<value_type, abi_type> | |
| typedef DefaultStride | layer_stride batmat::matrix::DefaultStride | |
| typedef View< const T, index_t, stride, index_t, layer_stride, O > | type batmat::matrix::View<const T, index_t, stride, index_t, layer_stride, O> | |
| struct batmat::linalg::detail::simdified_value |
| struct batmat::linalg::detail::simdified_value< V > |
| Class Members | ||
|---|---|---|
| typedef typename value_type | type typename batmat::linalg::simdified_view_type<V>::value_type | |
| typedef typename value_type | type typename batmat::linalg::simdified_multi_view_type<V>::value_type | |
| struct batmat::linalg::detail::simdified_abi |
| struct batmat::linalg::detail::simdified_abi< V > |
| Class Members | ||
|---|---|---|
| typedef typename abi_type | type typename batmat::linalg::simdified_view_type<V>::abi_type | |
| typedef typename abi_type | type typename batmat::linalg::simdified_multi_view_type<V>::abi_type | |
|
inline |
Definition at line 16 of file compress.hpp.
| index_t batmat::linalg::detail::compress_masks_count | ( | view< const T, Abi > | S_in | ) |
Definition at line 123 of file compress.hpp.
| index_t batmat::linalg::detail::compress_masks | ( | view< const T, Abi, OAi > | A_in, |
| view< const T, Abi > | S_in, | ||
| view< T, Abi, OAo > | A_out, | ||
| view< T, Abi > | S_out ) |
Definition at line 188 of file compress.hpp.
| index_t batmat::linalg::detail::compress_masks_sqrt | ( | view< const T, Abi, OAi > | A_in, |
| view< const T, Abi > | S_in, | ||
| view< T, Abi, OAo > | A_out, | ||
| view< T, Abi > | S_sign_out = {} ) |
Definition at line 208 of file compress.hpp.
| void batmat::linalg::detail::gemm | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi, OB > | B, | ||
| std::optional< view< const T, Abi, OC > > | C, | ||
| view< T, Abi, OD > | D, | ||
| TilingOptions | packing = {} ) |
| void batmat::linalg::detail::gemmt | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi, OB > | B, | ||
| std::optional< view< const T, Abi, OC > > | C, | ||
| view< T, Abi, OD > | D ) |
| void batmat::linalg::detail::trmm | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi, OB > | B, | ||
| std::optional< view< const T, Abi, OC > > | C, | ||
| view< T, Abi, OD > | D ) |
|
constexpr |
| void batmat::linalg::detail::gemv | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi > | B, | ||
| std::optional< view< const T, Abi > > | C, | ||
| view< T, Abi > | D ) |
|
constexpr |
| void batmat::linalg::detail::hyhound_diag | ( | view< T, Abi, OL > | L, |
| view< T, Abi, OA > | A, | ||
| view< const T, Abi > | D ) |
Definition at line 20 of file hyhound.hpp.
| void batmat::linalg::detail::hyhound_diag | ( | view< T, Abi, OL > | L, |
| view< T, Abi, OA > | A, | ||
| view< const T, Abi > | D, | ||
| view< T, Abi > | W ) |
Definition at line 34 of file hyhound.hpp.
| void batmat::linalg::detail::hyhound_diag_apply | ( | view< T, Abi, OL > | L, |
| view< const T, Abi, OA > | Ain, | ||
| view< T, Abi, OA > | Aout, | ||
| view< const T, Abi, OA > | B, | ||
| view< const T, Abi > | D, | ||
| view< const T, Abi > | W, | ||
| index_t | kA_in_offset = 0 ) |
Definition at line 50 of file hyhound.hpp.
| void batmat::linalg::detail::hyhound_diag_2 | ( | view< T, Abi, OL1 > | L11, |
| view< T, Abi, OA1 > | A1, | ||
| view< T, Abi, OL2 > | L21, | ||
| view< T, Abi, OA2 > | A2, | ||
| view< const T, Abi > | D ) |
Definition at line 74 of file hyhound.hpp.
| void batmat::linalg::detail::hyhound_diag_cyclic | ( | view< T, Abi, OL > | L11, |
| view< T, Abi, OW > | A1, | ||
| view< T, Abi, OY > | L21, | ||
| view< const T, Abi, OW > | A22, | ||
| view< T, Abi, OW > | A2_out, | ||
| view< T, Abi, OU > | L31, | ||
| view< const T, Abi, OW > | A31, | ||
| view< T, Abi, OW > | A3_out, | ||
| view< const T, Abi > | D ) |
Definition at line 92 of file hyhound.hpp.
| void batmat::linalg::detail::hyhound_diag_riccati | ( | view< T, Abi, OL > | L11, |
| view< T, Abi, OA > | A1, | ||
| view< T, Abi, OL > | L21, | ||
| view< const T, Abi, OA > | A2, | ||
| view< T, Abi, OA > | A2_out, | ||
| view< T, Abi, OLu > | Lu1, | ||
| view< T, Abi, OAu > | Au_out, | ||
| view< const T, Abi > | D, | ||
| bool | shift_A_out ) |
Definition at line 117 of file hyhound.hpp.
| void batmat::linalg::detail::potrf | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi, OCD > | C, | ||
| view< T, Abi, OCD > | D, | ||
| T | regularization, | ||
| micro_kernels::potrf::diag_view_type< const T, Abi, Conf > | d = {} ) |
| void batmat::linalg::detail::symm | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi > | B, | ||
| std::optional< view< const T, Abi > > | C, | ||
| view< T, Abi > | D ) |
| void batmat::linalg::detail::symv | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi > | B, | ||
| std::optional< view< const T, Abi > > | C, | ||
| view< T, Abi > | D ) |
| void batmat::linalg::detail::trsm | ( | view< const T, Abi, OA > | A, |
| view< const T, Abi, OB > | B, | ||
| view< T, Abi, OD > | D ) |
| void batmat::linalg::detail::trtri | ( | view< const T, Abi, OA > | A, |
| view< T, Abi, OD > | D ) |