Architecture and design

Design records: decisions and their rationale. Measured evidence is in Routing and performance evidence.

Kernel selection

Page What you find there
Flat kernel selection Families, per-device tuned tables, select::choose, pins, rules R1-R8. API: Kernel selection (developer); inventory: Kernel selection tables.
Tiered tuning The tuning engine behind the tables: tiers, racing, ledgers, workers.
Tuning data layout The two files per (op, device): the ledger, the generated table, kernel hashes and the CI check.
Extending BatchLAS Adding an op or entry point: src/ops/<op>/, tables, tuner spec, tests.
Vendor independence The vendor seam, the vendor-free build, the coverage instrument; the replaced RouteTable layer as history.
Vendor-free status Current state of the vendor-free build.

Core model and API

Page What you find there
Matrix model Column-major storage, ld/stride/batch, owning matrices vs views, the device-side view.
API conventions Option structs vs positional overloads, owning arguments, argument checks, per-item info.
Workspace The per-Queue arena, leases, BumpAllocator sizing.
Error model Exception hierarchy, convergence reporting.
Environment Every BATCHLAS_* variable the library reads.
Symbol visibility What BATCHLAS_API must cover.
Runtime internals Queue implementation, settings snapshot, embedded tables, template instantiation.
Device-side group BLAS In-kernel work-group and sub-group BLAS templates.
Verification library batchlas::verify: the inputs, references, residuals and tolerances shared by tests, benchmarks and the tuner.

Operations

Page What you find there
syevx: algorithm survey Selected-eigenpair solvers considered, verdicts.
syevx: range selection The range API and its hard cases.
gesvd: design One-sided Jacobi, the bidiagonal pipeline, kernel design rules.

Build

Page What you find there
CPU target detection How the build decides whether CPU SYCL kernels exist, and which tests depend on it.
Build performance Header-structure decisions that keep consumer TUs cheap (e.g. why the umbrella header excludes device code).
Two SYCL implementations Building with DPC++ or AdaptiveCpp from one tree: gaps, interop seam, A/B protocol, phases, decisions. Measurements: DPC++ vs AdaptiveCpp: performance and accuracy A/B.

Defects and history

Page What you find there
Known defects Located-but-unfixed defects.
Flat selection, phase 3 plan (history) Execution plan for posv, trsm and gemm.
Small-n factorization campaign (history) Campaign plan and comment-density burn-down; kept for its evidence and cited anchors.