batchlas::RoutingSettings Struct Reference

Overview

The route pins: BATCHLAS_<OP>_ROUTE, one raw string per op that selects a kernel.

Raw strings on purpose: src/select parses them for every op (auto | native | vendor | a choice spelling such as lpanel:panel=8). Values are trimmed and case-folded; a set-but-empty value means auto. A value the op does not understand throws std::invalid_argument; only native and vendor warn and fall back to auto when nothing in that class can run the call. The selection layer is described in docs/design/flat-kernel-selection.md.

Definition at line 82 of file settings.hh.

#include <batchlas/settings.hh>

Functions

◆ index_of()

constexpr std::size_t batchlas::RoutingSettings::index_of ( std::string_view op)
inlinestaticconstexpr

Position of op in ops, or ops.size() when op reads no route variable.

Definition at line 92 of file settings.hh.

◆ route() [1/2]

const EnvValue & batchlas::RoutingSettings::route ( std::string_view op) const
inline

The captured BATCHLAS_<OP>_ROUTE for op.

Exceptions
std::invalid_argumentfor an op not in ops

Definition at line 100 of file settings.hh.

◆ route() [2/2]

EnvValue & batchlas::RoutingSettings::route ( std::string_view op)
inline

Mutable access to the captured BATCHLAS_<OP>_ROUTE for op, as configure() needs.

Definition at line 102 of file settings.hh.

Variables

◆ ops

std::array<std::string_view, 19> batchlas::RoutingSettings::ops
staticconstexpr
Initial value:
{
"gemm", "gemv", "trsm", "trmm", "symm", "syrk", "syr2k", "potrf", "posv", "getrf",
"getrs", "getri", "gesv", "geqrf", "orgqr", "ormqr", "syev", "gesvd", "spmm"}

The ops that read a route variable, by their <op> spelling.

Definition at line 84 of file settings.hh.

◆ values

std::array<EnvValue, ops.size()> batchlas::RoutingSettings::values {}

BATCHLAS_<OP>_ROUTE, in ops order.

Definition at line 89 of file settings.hh.