32template <
class BackendSelector, uni20::MutableRankedTensorView<1> OutputTensor,
class Scalar,
33 uni20::RankedTensorView<2> MatrixTensor, uni20::RankedTensorView<1> InputTensor>
34void gemv(BackendSelector&& selector, OutputTensor&& output,
Scalar alpha, MatrixTensor
const& matrix,
40 dispatch_kernel(std::forward<BackendSelector>(selector),
gemv_op{}, output_span, alpha, matrix_span, input_span,
45template <uni20::MutableRankedTensorView<1> OutputTensor,
class Scalar, uni20::RankedTensorView<2> MatrixTensor,
46 uni20::RankedTensorView<1> InputTensor>
47void gemv(OutputTensor&& output,
Scalar alpha, MatrixTensor
const& matrix, InputTensor
const& input,
Scalar beta)
50 gemv(selector, std::forward<OutputTensor>(output), alpha, matrix, input,
beta);
BLAS backend adapter for operation-tag GEMV dispatch.
Reference CPU GEMV backend for tensor-view operands.
Concept for numeric scalar types (integer, real, or complex).
Definition scalar_concepts.hpp:81
Operation-tag backend dispatch over tensor-view operands.
Definition linalg/async.hpp:28
void gemv(BackendSelector selector, async::Async< OutputTensor > &output, Alpha &&alpha, async::Async< MatrixTensor > const &matrix, async::Async< InputTensor > const &input, Beta &&beta)
Schedule fixed-output GEMV through an explicit backend selector.
Definition async/gemv.hpp:73
constexpr auto select_backend(Operation const &operation, FirstTensor const &, RestTensors const &...)
Select the default backend list for an operation on Tensor operands.
Definition backend_selector.hpp:252
void dispatch_kernel(BackendSelector &&selector, Op op, Args &&... args)
Normalize a selector and dispatch or report that every eligible backend declined.
Definition dispatch.hpp:374
constexpr decltype(auto) mdspec_of(Tensor &tensor) noexcept(noexcept(tensor.mdspec()))
Return a tensor's immediate or descriptor-backed multidimensional metadata.
Definition tensor/concepts.hpp:50
mpreal beta(mpreal const &a, mpreal const &x)
Real Beta function; positive rational/integer pairs retain exact values.
Definition mpreal_special.hpp:164
Dense matrix-vector multiplication operation tag.
Definition operation_tags.hpp:90
Concepts for tensor-level objects that resolve mdspan kernel operands.