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
Build
Defects and history