batmat 0.0.18
Batched linear algebra routines
Loading...
Searching...
No Matches
gemv.hpp File Reference

Go to the source code of this file.

Matrix-vector multiplication of batches of matrices

template<simdifiable VA, simdifiable VB, simdifiable VD, shift_opt... Opts>
void batmat::linalg::gemv (VA &&A, VB &&B, VD &&D, Opts... opts)
 d = A b
template<simdifiable VA, simdifiable VB, simdifiable VD, shift_opt... Opts>
void batmat::linalg::gemv_neg (VA &&A, VB &&B, VD &&D, Opts... opts)
 d = -A b
template<simdifiable VA, simdifiable VB, simdifiable VC, simdifiable VD, shift_opt... Opts>
void batmat::linalg::gemv_add (VA &&A, VB &&B, VC &&C, VD &&D, Opts... opts)
 d = c + A b
template<simdifiable VA, simdifiable VB, simdifiable VD, shift_opt... Opts>
void batmat::linalg::gemv_add (VA &&A, VB &&B, VD &&D, Opts... opts)
 d = d + A b
template<simdifiable VA, simdifiable VB, simdifiable VC, simdifiable VD, shift_opt... Opts>
void batmat::linalg::gemv_sub (VA &&A, VB &&B, VC &&C, VD &&D, Opts... opts)
 d = c - A b
template<simdifiable VA, simdifiable VB, simdifiable VD, shift_opt... Opts>
void batmat::linalg::gemv_sub (VA &&A, VB &&B, VD &&D, Opts... opts)
 d = d - A b

Namespaces

namespace  batmat
namespace  batmat::linalg
namespace  batmat::linalg::detail

Functions

template<class T, class Abi, micro_kernels::gemv::KernelConfig Conf = {}, StorageOrder OA>
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)
template<shift_opt... Opts>
constexpr micro_kernels::gemv::KernelConfig batmat::linalg::detail::apply_gemv_options (micro_kernels::gemv::KernelConfig conf, Opts...)