API Reference ============= These pages are generated directly from the Doxygen doc-comments in the GLASS headers via `Breathe `_. Only the public, documented entry points appear here — internal ``*_impl`` helpers are intentionally excluded. The reference is organized by BLAS level and by backend: * **L1** — vector operations (axpy, copy, dot, reduce, norms, elementwise, …). * **L2** — matrix-vector operations (gemv, ger, trsv, trmv, strided/segmented gemv). * **L3** — matrix operations (gemm and variants, inverse, Cholesky, trsm, syrk/syr2k, ldlt, posv/potrs). * **NVIDIA backend** — the ``glass::nvidia::block::`` CUB / cuBLASDx / cuSOLVERDx paths and their host-side query/size helpers, plus the ``glass::nvidia::warp::`` CUB ``WarpReduce`` reductions (one full 32-lane warp per problem). * **Warp-scoped** — the ``glass::warp::`` single-warp SIMT variants for warp-per-problem kernels. * **Thread-scoped** — the ``glass::thread::`` sequential variants for thread-per-problem low-DOF packing. * **Block-tridiagonal solvers** — the ``glass::bdmv`` matvec and the ``glass::pcg`` preconditioned conjugate-gradient solver for the block-tridiagonal SPD systems of trajectory optimization / MPC. * **Robotics operators** — the spatial 6-D, Lie/quaternion, projection/cone, geometry-distance, and sampling-reduction families (all three SIMT tiers; see :doc:`../user_guide/concepts/robotics_conventions`). * **Backend picker** — ``glass-defaults.cuh`` ``constexpr`` helpers (``suggested_backend`` / ``suggested_block_threads`` / ``suggested_warps_per_block`` / ``suggested_threads_per_block``) that pick a backend + launch config from the measured ladder. .. note:: Every operation typically ships several overloads — runtime-sized and compile-time-sized (````), with and without a ``beta`` term, and pure-SIMT vs cooperative-groups (``glass::cgrps::``) variants. The pages below list them per header. .. note:: The block-scope SIMT entries on these pages are the ``glass::block::`` **contract tier** (bit-exact, thread-count invariant, never re-dispatched); the bare ``glass::`` spellings are the **measured-default face** — in Phase 1 the same entities, re-exported (likewise ``glass::nvidia::block::`` vs bare ``glass::nvidia::``). See :doc:`../user_guide/concepts/namespaces`. .. toctree:: :maxdepth: 2 l1 l2 l3 nvidia warp thread banded pcg robotics defaults