Overview

Every BATCHLAS_* environment variable the library reads, captured once into batchlas::Settings, plus the programmatic override configure().

The environment is read once, on the first call to settings(). A knob whose call site uses one of the shared parsers in <batchlas/util/env.hh> is a typed field parsed by that same parser; a knob with a bespoke parser is an EnvValue (the raw string) and its parser stays at the call site, so every variable means exactly what it meant before this header existed. The user guide, with a field/variable/default table per group, is the "Configuration" section of docs/cpp-api.md.

See also
Environment variables

Definition in file settings.hh.

#include <batchlas/export.hh>
#include <array>
#include <cstddef>
#include <optional>
#include <stdexcept>
#include <string>
#include <string_view>

Go to the source code of this file.

Classes

class  batchlas::EnvValue
 A raw captured environment value, shaped like the std::getenv call it replaces. More...
struct  batchlas::RoutingSettings
 The route pins: BATCHLAS_<OP>_ROUTE, one raw string per op that selects a kernel. More...
struct  batchlas::SelectionSettings
 Which kernel or algorithm runs, for the knobs outside the route pins. More...
struct  batchlas::GeometrySettings
 Launch geometry, block widths, iteration counts and tuning thresholds. More...
struct  batchlas::GeometrySettings::TuneSettings
 The runtime overrides of include/batchlas/tuning_params.hh (BATCHLAS_TUNE_*). More...
struct  batchlas::DiagnosticsSettings
 Tracing, dumping, profiling and the opt-in checks. More...
struct  batchlas::DiagnosticsSettings::DumpBandR1Settings
 The BATCHLAS_DUMP_BANDR1_* band-reduction dump family. More...
struct  batchlas::UnsafeSettings
 The overrides that remove a guarantee: setting one can make a correct program crash, hang or silently compute wrong numbers. More...
struct  batchlas::Settings
 Everything BatchLAS reads from its environment, in one value. More...

Namespaces

namespace  batchlas
namespace  batchlas::detail