Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Cbatchlas::device::detail::subgroup::GemmWorkspace::[union].__unnamed0__
 Cbatchlas::BackendMatrixHandle< T, MType >Backend-library descriptor for a matrix (cuSPARSE / rocSPARSE handles); defined in src/
 Cbatchlas::base_type< T >Real type underlying a scalar: T itself for a real T, R for std::complex<R>
 Cbatchlas::base_type< std::complex< T > >Specialisation that strips std::complex
 Cbatchlas::BatchedMatrixDecompositionResult of compute_batched_matrix_decomposition()
 Cbatchlas::BatchedNdRangeSizesResult of compute_batched_nd_range_sizes()
 Cbatchlas::BatchSizeNumber of batch items, as a distinct type
 Cminiacc::BenchmarkA registered case: name, function, and its argument lists (Args, ArgRange, ArgsProduct)
 Cbatchlas::internal::btrd_givens_ops< T, IsComplex >
 Cbatchlas::internal::btrd_givens_ops< T, false >
 Cbatchlas::internal::btrd_givens_ops< T, true >
 Cbatchlas::BumpAllocatorLinear (bump) sub-allocator over a caller-supplied workspace buffer
 Cbatchlas::sycl_trsm::Canonical
 Cminiacc::CliOptions
 Cbatchlas::device::detail::subgroup::ComplexRank2kAccumTile< T >
 Cbatchlas::device::detail::subgroup::ComplexRank2kInKernelWorkspace< T >
 Cbatchlas::device::detail::subgroup::ComplexRank2kWorkspace< T >
 Cminiacc::ConfigRun-wide settings parsed from the command line
 Cbatchlas::internal::ConstStridedView< T >
 Cbatchlas::detail::container_elem< A >
 Cbatchlas::detail::container_elem< Matrix< T, F > >
 Cbatchlas::detail::container_elem< MatrixView< T, F > >
 Cbatchlas::detail::container_elem< P< T > >
 Cbatchlas::detail::container_elem< Span< T > >
 Cbatchlas::detail::container_elem< std::complex< T > >
 Cbatchlas::detail::container_elem< UnifiedVector< T > >
 Cbatchlas::detail::container_elem< Vector< T > >
 Cbatchlas::detail::container_elem< VectorView< T > >
 Cbatchlas::cta_rotation< T >
 Cbatchlas::detail::dense_scalar< M >
 Cbatchlas::detail::dense_scalar< Matrix< T, MatrixFormat::Dense > >
 Cbatchlas::detail::dense_scalar< MatrixView< T, MatrixFormat::Dense > >
 Cbatchlas::DeviceA handle to one SYCL device: its type and its index among devices of that type
 Cbatchlas::select::DeviceThe device facts a can_run predicate and the table lookup read (§5.1)
 Cbatchlas::device::DeviceBlasLaunchInfoHost-side description of a launch, for the *_workspace_elements queries
 Cbatchlas::DiagnosticsSettingsTracing, dumping, profiling and the opt-in checks
 Cbatchlas::DiagnosticsSettings::DumpBandR1SettingsThe BATCHLAS_DUMP_BANDR1_* band-reduction dump family
 Cbatchlas::linalg::Eigh< T >Result of eigh()
 Cbatchlas::select::EmbeddedTableA tuned/*.txt file compiled into the library: its basename and text
 Cbatchlas::EnvValueA raw captured environment value, shaped like the std::getenv call it replaces
 Cbatchlas::EventCompletion handle of enqueued work, returned by every entry point
Cbatchlas::exceptionEmpty tag base of every BatchLAS exception
Cstd::exceptionSTL class
CF...
Cstd::false_type
 Cbatchlas::select::FamilyName< N >A string literal as a template argument: the name of a NoFields family
 Cbatchlas::ops::gemm::FormsTranspose forms an instantiation exists for, after the real-scalar C->T fold
 Cbatchlas::sycl_gemm::Gemm128x128Body< T, AlignedFastPath, StagedEpilogue >
 Cbatchlas::GemmOptions< T >Options for gemm(): \(C := \alpha\,\mathrm{op}(A)\,\mathrm{op}(B) + \beta C\)
 Cbatchlas::sycl_gemm::GemmRegister128x128Kernel< T, AlignedFastPath, StagedEpilogue >
 Cbatchlas::sycl_gemm::GemmRegister64x64K16WideKernel< T, AlignedFastPath >
 Cbatchlas::sycl_gemm::GemmRegisterTiledKernel< T, TileM, TileN, TileK, ThreadTileRows, ThreadTileCols, VecA, VecB, UnrollK, Stages, AlignedFastPath, OpA, OpB >
 Cbatchlas::sycl_gemm_small::GemmSmallBatchedKernel< T, NB >
 Cbatchlas::sycl_gemm_small::GemmSmallTiledKernel< T, NB, PrefetchC >
 Cbatchlas::sycl_gemm::GemmTiledGeneralKernel< T, Tile, OpA, OpB >
 Cbatchlas::sycl_gemm::GemmWideTransposedKernel< T, M, N, K, TTM, TTN, OA, OB >
 Cbatchlas::device::detail::subgroup::GemmWorkspace< T >
 Cbatchlas::GemvOptions< T >Options for gemv(): \(y := \alpha\,\mathrm{op}(A)\,x + \beta y\)
 Cbatchlas::device::detail::generic::GemvTransposeWorkspace< T >
 Cbatchlas::device::GeneralMatrixTransformRuntime transpose modes of a general matrix-matrix product
 Cbatchlas::device::GeneralMatrixTransformTag< TransAV, TransBV >Compile-time transpose modes of a general matrix-matrix product
 Cbatchlas::GeometrySettingsLaunch geometry, block widths, iteration counts and tuning thresholds
 Cbatchlas::geqrf_native::GeqrfGlobalTile< D >
 Cbatchlas::geqrf_native::GeqrfPanelRegPlan< D >
 Cbatchlas::geqrf_native::GeqrfPanelRegPlan< double >
 Cbatchlas::geqrf_native::GeqrfPanelRegPlan< float >
 Cbatchlas::geqrf_native::GeqrfPanelRegPlan< sycl_device::Cx< double > >
 Cbatchlas::geqrf_native::GeqrfPanelRegPlan< sycl_device::Cx< float > >
 Cbatchlas::geqrf_native::GeqrfTinyRegs< D >
 Cbatchlas::geqrf_native::GeqrfTinyRegs< double >
 Cbatchlas::geqrf_native::GeqrfTinyRegs< float >
 Cbatchlas::geqrf_native::GeqrfTinyRegs< sycl_device::Cx< double > >
 Cbatchlas::geqrf_native::GeqrfTinyRegs< sycl_device::Cx< float > >
 Cbatchlas::GesvdjParams< T >Parameters for the one-sided Jacobi SVD (gesvdj_cta)
 Cbatchlas::GesvdOptionsOptions for gesvd(): \(A = U\Sigma V^H\)
 Cbatchlas::GetrsOptionsOptions for getrs(): solve \(\mathrm{op}(A)X = B\) with getrf's factors
 Cbatchlas::HemmOptions< T >Options for hemm(): as SymmOptions, with A Hermitian
 Cbatchlas::Her2kOptions< T >Options for her2k(): \(C := \alpha\,\mathrm{op}(A)\,\mathrm{op}(B)^H + \bar\alpha\,\mathrm{op}(B)\,\mathrm{op}(A)^H + \beta C\)
 Cbatchlas::HerkOptions< T >Options for herk(): \(C := \alpha\,\mathrm{op}(A)\,\mathrm{op}(A)^H + \beta C\)
 Cbatchlas::ILUKParams< T >Parameters of an incomplete LU factorization with level-of-fill k, ILU(k)
 Cbatchlas::ILUKPreconditioner< T >Owning ILU(k) factor of a batch of CSR matrices sharing one pattern
 Cbatchlas::ILUKView< T >Non-owning description of a factored ILU(k) preconditioner
 Cbatchlas::IncElement distance between consecutive vector entries, as a distinct type
 Cbatchlas::JacobiParams< T >Parameters for syev_jacobi_cta() (cyclic two-sided Jacobi)
 Cbatchlas::KernelMatrixView< T, MType >Trivially copyable view of a MatrixView for use inside a SYCL kernel
 Cbatchlas::select::KeyFieldOne field of a lookup key, value as text; a Key lists the fields an op's table keys name
 Cbatchlas::LanczosParams< T >Parameters for lanczos()
 Cbatchlas::geqrf_native::LarfgScalars< D >
 Cbatchlas::LdLeading dimension (column pitch), as a distinct type (0 = packed)
 Cbatchlas::sycl_gemm::LinearEpilogue< T >
 Cbatchlas::ops::potrf::LpanelPotrf_lpanel_dispatch: SLM-resident panels; Lower only, n <= the LPanel SLM ceiling for panel
 Cbatchlas::linalg::Lu< T >Result of lu()
 Cbatchlas::getrf_native::LuGlobalTile< D >
 Cbatchlas::linalg::MatmulOptions< T >Options for matmul(). Deliberately has no beta: C is freshly allocated
 Cbatchlas::device::MatrixMatrixOperand< T >Operands of a matrix-matrix operation: \( C := \alpha\,(\ldots B \ldots) + \beta\,C \)
 Cbatchlas::device::MatrixVectorOperand< T >Operands of a matrix-vector operation: \( y := \alpha\,\mathrm{op}(A)\,x + \beta\,y \)
 Cbatchlas::device::MatrixVectorTransformRuntime transpose mode of a matrix-vector operation
 Cbatchlas::device::MatrixVectorTransformTag< TransV >Compile-time transpose mode of a matrix-vector operation
Cbatchlas::MatrixView< T, MType >Non-owning view of a batch of matrices: the argument type of every entry point
 Cminiacc::MetricSummary
 Cbatchlas::select::detail::NativeFactsThe coverage row's native_route_existed / native_route_supported (tri-state, -1 unknown)
 Cbatchlas::select::NativeFactsThe coverage row's native_route_existed / native_route_supported (tri-state, -1 unknown)
 Cbatchlas::select::NoFields< L >Base of a family with no knobs: struct Cta : NoFields<"cta"> {};
Cbatchlas::select::NoFields<"blocked">
Cbatchlas::select::NoFields<"cta">
Cbatchlas::select::NoFields<"cta_fused">
Cbatchlas::select::NoFields<"direct">
Cbatchlas::select::NoFields<"expand">
Cbatchlas::select::NoFields<"gram">
Cbatchlas::select::NoFields<"jacobi">
Cbatchlas::select::NoFields<"sg_left">
Cbatchlas::select::NoFields<"small">
Cbatchlas::select::NoFields<"tiled">
Cbatchlas::select::NoFields<"tiny">
Cbatchlas::select::NoFields<"triangular">
Cbatchlas::select::NoFields<"two_stage">
Cbatchlas::select::NoFields<"vendor">
 Cbatchlas::NonZerosNon-zero count (per-item capacity) of a CSR matrix, as a distinct type
 Cbatchlas::sycl_gemm::OperandAccessor< T, Op >
 Cbatchlas::select::OpSpecWhat an op's choice.hh declares once: its name, the library its Vendor family calls (one gate for can_run, the launch arm and the NoRouteError), and its last-resort order
 Cbatchlas::device::detail::subgroup::OptimizedGemmWorkspace< T >
 Cbatchlas::OrmqrOptionsOptions for ormqr(): apply geqrf()'s Q, \(C := \mathrm{op}(Q)C\) (Left) or \(C\,\mathrm{op}(Q)\) (Right)
 Cbatchlas::OrthoAgainstOptionsOptions for the option-struct ortho() against an external basis M
 Cbatchlas::OrthoOptionsOptions for the option-struct ortho(); fields as the positional arguments
 Cbatchlas::device::OuterProductTransformConjugation mode of a rank-1 update (ger, geru, gerc)
 Cbatchlas::device::OuterProductTransformTag< ConjugateXV, ConjugateYV >Compile-time conjugation mode of a rank-1 update
 Cbatchlas::device::detail::subgroup::PacketArray< T, Width >
 Cbatchlas::PotrfOptionsOptions for potrf(): Cholesky \(A = LL^H\) (Lower) or \(U^HU\) (Upper)
 Cbatchlas::QSharedCache< T, P, LDQ, ComputeVecs, LocalAcc >
 Cbatchlas::QSharedCache< T, P, LDQ, false, LocalAcc >
 Cbatchlas::QSharedCache< T, P, LDQ, true, LocalAcc >
 Cbatchlas::QueueWhere BatchLAS work runs: a device, a backend, an ordered SYCL queue and a workspace arena
 Cbatchlas::device::Rank1UpdateOperand< T >Operands of a rank-1 update: \( A := A + \alpha\,x\,y^{T} \) (conjugations per call)
 Cbatchlas::device::RankKOperand< T >Operands of a rank-k update: \( C := \alpha\,\mathrm{op}(A)\,\mathrm{op}(A)^{T|H} + \beta\,C \)
 Cbatchlas::geqrf_native::RealOf< D >
 Cbatchlas::getrf_native::RealOf< D >
 Cbatchlas::geqrf_native::RealOf< Cx< R > >
 Cbatchlas::getrf_native::RealOf< Cx< R > >
 Cbatchlas::portable::detail::rebind_op< Op, R >
 Cbatchlas::portable::detail::rebind_op< OpT< V >, R >
 Cbatchlas::ops::gemm::RegGemm_reg, float only: m x n x k macro tile with k unroll u; must name a reg_configs entry that instantiates the call's transpose form, and max_wg must cover its threads()
 Cbatchlas::ops::gemm::RegCfgOne compiled register config: tr/tc thread tile, stages, the forms instantiated, and whether NN takes the unpredicated leg when the layout allows (derived per call, never a gate)
 Cbatchlas::device::detail::subgroup::RegisterMatrixAccumTile< T >
 Cbatchlas::device::detail::subgroup::RegisterMatrixThreadTileValues< T >
 Cbatchlas::device::detail::subgroup::RegisterMatrixWorkspace< T >
 Cbatchlas::sycl_gemm::RegisterTilePolicy< TileM_, TileN_, TileK_, ThreadTileRows_, ThreadTileCols_, VecA_, VecB_, UnrollK_, Stages_ >
 Cbatchlas::sycl_gemm::RegTile
 Cminiacc::Result
 Cbatchlas::RoutingSettingsThe route pins: BATCHLAS_<OP>_ROUTE, one raw string per op that selects a kernel
 Cbatchlas::select::RulesWhat an op adds to the generic walk: its last-resort order
 Cminiacc::SampleRow
 Cbatchlas::internal::Sb2stHhRefl
 Cbatchlas::ScopedEnvVarSets (or unsets) an environment variable for a scope and restores it on exit
 Cbatchlas::select::ScopedPin< Choice >RAII pin for op: wins over BATCHLAS_<OP>_ROUTE on this thread; nests, restoring the outer pin on exit
 Cbatchlas::SelectionSettingsWhich kernel or algorithm runs, for the knobs outside the route pins
 Cbatchlas::SettingsEverything BatchLAS reads from its environment, in one value
 Cbatchlas::coverage::Shape
 Cbatchlas::verify::SlackA per-site factor on a kind's bound, in either direction
 Cbatchlas::SliceA half-open index range [start, end) along one dimension
 Cbatchlas::SliceEndMarker for "to the end" in a Slice: Slice(k, SliceEnd{}) selects [k, dim)
 Cbatchlas::Span< T >Non-owning view of size() contiguous elements of type T
 Cminiacc::StatePer-case context handed to a benchmark: its arguments, the run settings, and the sample sink
CStdBase
 Cbatchlas::StebzParams< T >Parameters for stebz() (bisection on a symmetric tridiagonal matrix)
 Cbatchlas::StedcLevelPlan
 Cbatchlas::StedcParams< T >Parameters for stedc()
 Cbatchlas::SteinParams< T >Parameters for stein() (inverse iteration on a symmetric tridiagonal)
 Cbatchlas::SteqrParams< T >Parameters for steqr() and steqr_cta(), and for stedc()'s leaf solves
 Cbatchlas::select::StrictPinTag for a strict ScopedPin: a class word ("native", "vendor") that cannot serve the shape throws std::invalid_argument instead of falling back to auto
 Cbatchlas::StrideElement distance between consecutive batch items, as a distinct type (0 = packed)
 Cbatchlas::internal::StridedView< T >
 Cminiacc::SummaryMetricColumns
 Cbatchlas::linalg::Svd< T >Result of svd()
 Cbatchlas::SyevOptionsOptions for syev(): symmetric/Hermitian eigendecomposition
 Cbatchlas::SyevxInstrumentation< T >Optional per-iteration convergence histories recorded by the iterative syevx paths
 Cbatchlas::SyevxParams< T >Options for syevx(): algorithm family, convergence controls, preconditioning and which part of the spectrum to compute
 Cbatchlas::SyevxResolvedRangeResolved, algorithm-independent description of the caller's request
 Cbatchlas::device::SymmetricRank2kTransformMode of a symmetric or Hermitian rank-2k update (syr2k, her2k)
 Cbatchlas::device::SymmetricRankKTransformMode of a symmetric or Hermitian rank-k update (syrk, herk)
 Cbatchlas::device::detail::SymmetricRankTransformTag< UploV, TransposeV, HermitianV >
 Cbatchlas::device::SymmetricTransformMode of a symmetric or Hermitian product (symv, hemv, symm)
 Cbatchlas::device::detail::SymmetricTransformTag< SideV, UploV, HermitianV >
 Cbatchlas::SymmOptions< T >Options for symm(): \(C := \alpha A B + \beta C\) (Left) or \(\alpha B A + \beta C\) (Right), A symmetric
 Cbatchlas::device::detail::generic::SymvTransposeWorkspace< T >
 Cbatchlas::Syr2kOptions< T >Options for syr2k(): \(C := \alpha(\mathrm{op}(A)\,\mathrm{op}(B)^T + \mathrm{op}(B)\,\mathrm{op}(A)^T) + \beta C\)
 Cbatchlas::backend::detail::Syr2kTriangularTilesKernel< T, TransOperand, AlignedFastPath >
 Cbatchlas::backend::detail::SyrkGramTilesKernel< T, NTile, ThreadTile, KC, TransOperand, Conjugate >
 Cbatchlas::SyrkOptions< T >Options for syrk(): \(C := \alpha\,\mathrm{op}(A)\,\mathrm{op}(A)^T + \beta C\)
 Cbatchlas::backend::detail::SyrkTriangularTilesKernel< T, TransOperand, AlignedFastPath >
 Cbatchlas::SytrdBandReductionParamsSweep schedule for sytrd_band_reduction() (successive band reduction)
 Cbatchlas::select::TableOne dtype's table: a tuned/<op>.<device>.txt file holds one per dtype
 Cbatchlas::select::TableEntryOne ranked candidate of a row: its spelling and milliseconds per call for the whole batch
 Cbatchlas::select::TableKeyOne entry of a table's # keys: line
 Cbatchlas::select::TableRowOne measured (or transcribed) shape and every candidate ranked there, fastest first
 Cbatchlas::sycl_gemm::wide_scalar::Tile
 Cbatchlas::select::TraceScopePrints the last choose() decision for op under BATCHLAS_SELECT_TRACE=1, indents nested scopes, and records the coverage row
 Cbatchlas::device::TriangularTransformMode of a triangular product (trmv, trmm)
 Cbatchlas::device::detail::TriangularTransformTag< SideV, UploV, TransposeV, DiagV >
 Cbatchlas::TrmmOptions< T >Options for trmm(): \(C := \alpha\,\mathrm{op}(A)\,B\) (Left) or \(\alpha B\,\mathrm{op}(A)\) (Right). No beta
 Cbatchlas::backend::detail::TrmmTriangularTilesKernel< T, TileM >
 Cbatchlas::TrsmOptions< T >Options for trsm(): solve \(\mathrm{op}(A)X = \alpha B\) (Left) or \(X\,\mathrm{op}(A) = \alpha B\) (Right)
Cstd::true_type
 Cbatchlas::GeometrySettings::TuneSettingsThe runtime overrides of include/batchlas/tuning_params.hh (BATCHLAS_TUNE_*)
 Cbatchlas::UnifiedVector< T >Owning, growable array of T in USM shared memory (sycl::malloc_shared)
 Cbatchlas::UnsafeSettingsThe overrides that remove a guarantee: setting one can make a correct program crash, hang or silently compute wrong numbers
Cbatchlas::VectorView< T >Non-owning view of a batch of strided vectors: the vector argument type of the entry points
 Cbatchlas::ops::gemm::WideGemm_wide, every scalar: 16-byte-granule m x n x k tiles; must name a wide_configs entry that instantiates the call's form, and max_wg must cover its threads()
 Cbatchlas::ops::gemm::WideCfgOne compiled wide config
 Cbatchlas::sycl_gemm::WideTile
 Cbatchlas::WorkgroupAdapter
 Cbatchlas::WorkspaceLeaseA borrow of scratch memory from a Queue's workspace arena, returned to the arena when the handle goes out of scope