API Reference#
The C++ API surface of Ginkgo, organised by namespace. Each entry is embedded from the live Doxygen XML, so the signatures, member lists, and docstrings here match the source tree exactly.
For a less-curated, fully exhaustive view (every file, every internal
helper, full inheritance graphs) the standalone Doxygen deploy at
ginkgo-project.github.io/ginkgo-generated-documentation
remains the long-form reference. The pages here are the curated
entry points.
Core interfaces and runtime#
Core types — the abstract bases every Ginkgo class lives behind:
LinOp,LinOpFactory, theEnableLinOpCRTP mixin, and theTransposabletrait.Executors — the hardware abstraction: abstract
Executorplus the five concrete backends (Reference, OMP, CUDA, HIP, DPC++).
Browse by namespace#
gko::matrix— sparse and dense matrix formats: Csr, Coo, Dense, Ell, Sellp, Hybrid, Fbcsr, SparsityCsr, and utility types (Identity, Diagonal, Permutation, RowGatherer).gko::solver— Krylov solvers (CG, BiCGSTAB, GMRES, IDR(s), …), iterative refinement, direct solvers, multigrid, and triangular substitution.gko::preconditioner— block-Jacobi, incomplete factorisation preconditioners (IC, ILU, ISAI), and relaxation methods (Gauss-Seidel, SOR / SSOR).gko::factorization— exact (Cholesky, LU) and incomplete factorisations (IC(0), ILU(0), ParIC, ParILU, ParICT, ParILUT) that produce aFactorizationLinOp.gko::log— loggers that observe solver and executor events: Convergence, Stream, Record, SolverProgress, ProfilerHook, PerformanceHint.gko::stop— stopping criteria for iterative solvers: Iteration, Time, residual-norm variants, and the Combined meta-criterion.gko::reorder— permutation generators for sparse matrices: RCM, AMD, MC64, nested dissection, and the ScaledReordered composition wrapper.gko::multigrid— building blocks for algebraic-multigrid hierarchies: theMultigridLevelinterface and thePgm/FixedCoarseninglevel generators.gko::experimental::distributed— MPI-based distributed-memory primitives: Matrix, Vector, Partition, RowGatherer, the Schwarz preconditioner, and assembly helpers.gko::experimental::mpi— C++ wrappers around the MPI runtime that the distributed types are built on:communicator,request,status,environment, and the collective-communicator hierarchy.gko::batch— batched linear algebra: MultiVector and matrix formats (CSR, Dense, ELL, Identity), the CG and BiCGSTAB solvers, block-Jacobi preconditioning, and the BatchConvergence logger.
Configuration and extensions#
gko::config— JSON-driven construction of Ginkgo factories:pnode,type_descriptor, andregistry.gko::ext— optional integrations with third-party libraries: NVIDIA’s cuDSS direct solver, and Kokkos view / executor interop.