batchlas::SelectionSettings Struct Reference

Overview

Which kernel or algorithm runs, for the knobs outside the route pins.

Every field changes which code path executes. syevx_algorithm and syevx_preconditioner override an explicit SyevxParams field, and gesvd_bidiag changes numerics.

Definition at line 119 of file settings.hh.

#include <batchlas/settings.hh>

Variables

◆ expand_route

EnvValue batchlas::SelectionSettings::expand_route {}

BATCHLAS_EXPAND_ROUTE = expand | loop: pins the scratch-expansion route of hemm, herk and her2k, so a test can reach the arm the shape would not have picked (symm and trmm pin expand through their BATCHLAS_<OP>_ROUTE).

Not op-keyed, so RoutingSettings does not hold it.

Definition at line 126 of file settings.hh.

◆ gemv_segt

EnvValue batchlas::SelectionSettings::gemv_segt {}

BATCHLAS_GEMV_SEGT = off | auto | 2 | 4 | 8: segmented-tail width of the native gemv.

Definition at line 132 of file settings.hh.

◆ gesvd_bidiag

EnvValue batchlas::SelectionSettings::gesvd_bidiag {}

BATCHLAS_GESVD_BIDIAG = bdsdc | normal | bdsqr.

Warning
Changes numerics: normal squares the condition number. The thin-tall-U rule at the call site overrides it so a buffer-size query and its solve agree.

Definition at line 138 of file settings.hh.

◆ getrf_leaf

EnvValue batchlas::SelectionSettings::getrf_leaf {}

BATCHLAS_GETRF_LEAF = slm | reg (default: the register-resident panel leaf wherever the panel fits).

Re-read per call.

Definition at line 142 of file settings.hh.

◆ geqrf_leaf

EnvValue batchlas::SelectionSettings::geqrf_leaf {}

BATCHLAS_GEQRF_LEAF = auto (default) | reg (the register panel leaf wherever it fits).

Re-read per call.

Definition at line 147 of file settings.hh.

◆ getrf_laswp

EnvValue batchlas::SelectionSettings::getrf_laswp {}

BATCHLAS_GETRF_LASWP = inloop | defer_walk | defer_gather (default).

Presence is latched at the call site, the value re-read per call.

Definition at line 151 of file settings.hh.

◆ getrf_right_laswp

EnvValue batchlas::SelectionSettings::getrf_right_laswp {}

BATCHLAS_GETRF_RIGHT_LASWP = walk | gather; unset takes the measured crossover.

Definition at line 154 of file settings.hh.

◆ getrs_laswp

EnvValue batchlas::SelectionSettings::getrs_laswp {}

BATCHLAS_GETRS_LASWP = walk | gather. Deliberately not latched (as gemv_segt).

Definition at line 157 of file settings.hh.

◆ iluk_device

EnvValue batchlas::SelectionSettings::iluk_device {}

BATCHLAS_ILUK_DEVICE: only a first character of 0 or 1 is inspected; true, on and yes fall through to the shape default (batch_size >= 32).

Definition at line 161 of file settings.hh.

◆ latrd_impl

EnvValue batchlas::SelectionSettings::latrd_impl {}

BATCHLAS_LATRD_IMPL = legacy | device | grid. Re-read per call.

Definition at line 164 of file settings.hh.

◆ ormqr_impl

EnvValue batchlas::SelectionSettings::ormqr_impl {}

BATCHLAS_ORMQR_IMPL: only the exact value device has an effect.

Definition at line 167 of file settings.hh.

◆ ormqr_wy

EnvValue batchlas::SelectionSettings::ormqr_wy {}

BATCHLAS_ORMQR_WY = gemm | trmm | measured: overrides the measured gate.

Definition at line 170 of file settings.hh.

◆ ortho_gram

EnvValue batchlas::SelectionSettings::ortho_gram {}

BATCHLAS_ORTHO_GRAM: only the exact value gemm has an effect (forces the GEMM gram route in place of the syrk one).

Definition at line 174 of file settings.hh.

◆ sb2st_back_wave

EnvValue batchlas::SelectionSettings::sb2st_back_wave {}

BATCHLAS_SB2ST_BACK_WAVE: the wave-parallel back-transform is on unless disabled with one of 0, false, off, no, n, disable, disabled (case-insensitive).

Definition at line 180 of file settings.hh.

◆ sb2st_subgroup

EnvValue batchlas::SelectionSettings::sb2st_subgroup {}

BATCHLAS_SB2ST_SUBGROUP = auto | on | off (case-folded).

on throws when kd > 32 or the device lacks sub-group size 32.

Definition at line 184 of file settings.hh.

◆ syev_two_stage_chase

EnvValue batchlas::SelectionSettings::syev_two_stage_chase {}

BATCHLAS_SYEV_TWO_STAGE_CHASE: only the exact value givens has an effect.

Warning
Read by both the solve and its *_buffer_size query; do not let a ScopedEnvVar straddle a sizing/solve pair.

Definition at line 189 of file settings.hh.

◆ syevx_algorithm

EnvValue batchlas::SelectionSettings::syevx_algorithm {}

BATCHLAS_SYEVX_ALGORITHM: overrides an explicit SyevxParams::method.

An env-supplied algorithm degrades where an explicit request throws, and an unrecognised value still wins (it parses to Auto).

Definition at line 194 of file settings.hh.

◆ syevx_preconditioner

EnvValue batchlas::SelectionSettings::syevx_preconditioner {}

BATCHLAS_SYEVX_PRECONDITIONER: overrides the SyevxParams default; loses to an explicit request and to a configured ILU(k) factor.

Definition at line 198 of file settings.hh.

◆ syevx_filter_degree_auto

EnvValue batchlas::SelectionSettings::syevx_filter_degree_auto {}

BATCHLAS_SYEVX_FILTER_DEGREE_AUTO: derive the Chebyshev filter degree automatically.

Off by default because it wins only at batch 1. Parsed with atoi != 0.

Definition at line 203 of file settings.hh.

◆ syevx_instr_host

EnvValue batchlas::SelectionSettings::syevx_instr_host {}

BATCHLAS_SYEVX_INSTR_HOST: forces the host instrumentation path.

First-character parser {1,t,T,y,Y}: true works, on does not.

Definition at line 207 of file settings.hh.

◆ syevx_projected_vendor

EnvValue batchlas::SelectionSettings::syevx_projected_vendor {}

BATCHLAS_SYEVX_PROJECTED_VENDOR: same first-character dialect.

Warning
Changes the workspace size: do not change it between a buffer-size query and its call.

Definition at line 212 of file settings.hh.

◆ syevx_soft_lock

EnvValue batchlas::SelectionSettings::syevx_soft_lock {}

BATCHLAS_SYEVX_SOFT_LOCK.

Warning
The parser is inverted: it enables unless the first character is one of {0,n,N,f,F}, so =off and an empty export both read as on.

Definition at line 218 of file settings.hh.

◆ sytrd_force_local_small

bool batchlas::SelectionSettings::sytrd_force_local_small = false

BATCHLAS_SYTRD_FORCE_LOCAL_SMALL (env_truthy): forces the local-memory small-n path past the tuning heuristic.

It cannot force an unschedulable launch; the device gate still applies.

Definition at line 222 of file settings.hh.

◆ sytrd_fuse_panel_update

std::optional<bool> batchlas::SelectionSettings::sytrd_fuse_panel_update {}

BATCHLAS_SYTRD_FUSE_PANEL_UPDATE: forced on (env_truthy), forced off (env_falsy), or std::nullopt to let the tuned default decide.

A value that is neither reads as nullopt.

Definition at line 226 of file settings.hh.

◆ sytrd_impl

EnvValue batchlas::SelectionSettings::sytrd_impl {}

BATCHLAS_SYTRD_IMPL: only the exact value device has an effect.

Definition at line 229 of file settings.hh.

◆ sytrd_trailing_update

EnvValue batchlas::SelectionSettings::sytrd_trailing_update {}

BATCHLAS_SYTRD_TRAILING_UPDATE = gemm | syr2k | her2k | rank2k, either case; syr2k and her2k select one route.

Definition at line 233 of file settings.hh.

◆ tuned_dir

EnvValue batchlas::SelectionSettings::tuned_dir {}

BATCHLAS_TUNED_DIR: a directory of select tables (src/select/select.hh); a file there replaces the built-in table of the same name.

Definition at line 237 of file settings.hh.