batmat main
Batched linear algebra routines
Loading...
Searching...
No Matches
gemv.tpp File Reference

Go to the source code of this file.

Namespaces

namespace  batmat
namespace  batmat::linalg
namespace  batmat::linalg::micro_kernels
namespace  batmat::linalg::micro_kernels::gemv

Macros

#define UNROLL_FOR(...)

Functions

template<class T, class Abi, KernelConfig Conf, index_t RowsReg, StorageOrder OA>
void batmat::linalg::micro_kernels::gemv::gemv_copy_microkernel (const uview< const T, Abi, OA > A, const uview< const T, Abi, StorageOrder::ColMajor > B, const std::optional< uview< const T, Abi, StorageOrder::ColMajor > > C, const uview< T, Abi, StorageOrder::ColMajor > D, const index_t k) noexcept
 Generalized matrix-vector multiplication d = c ± A⁽ᵀ⁾ b. Single register block.
template<class T, class Abi, KernelConfig Conf, StorageOrder OA>
void batmat::linalg::micro_kernels::gemv::gemv_copy_register (const view< const T, Abi, OA > A, const view< const T, Abi > B, const std::optional< view< const T, Abi > > C, const view< T, Abi > D) noexcept
 Generalized matrix multiplication d = c ± A⁽ᵀ⁾ b. Using register blocking.

Variables

template<class T, class Abi, KernelConfig Conf, StorageOrder OA>
const constinit auto batmat::linalg::micro_kernels::gemv::gemv_copy_lut

Macro Definition Documentation

◆ UNROLL_FOR

#define UNROLL_FOR ( ...)
Value:
#define BATMAT_FULLY_UNROLLED_FOR(...)
Definition unroll.h:27

Definition at line 10 of file gemv.tpp.