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 are the abstract bases every Ginkgo class lives behind:
LinOp,LinOpFactory, theEnableLinOpCRTP mixin, and theTransposabletrait.Executors are the hardware abstraction: abstract
Executorplus the five concrete backends (Reference, OMP, CUDA, HIP, DPC++).
Browse by namespace#
gko::matrixcontains sparse and dense matrix formats: Csr, Coo, Dense, Ell, Sellp, Hybrid, Fbcsr, SparsityCsr, and utility types (Identity, Diagonal, Permutation, RowGatherer).gko::solvercontains Krylov solvers (CG, BiCGSTAB, GMRES, IDR(s), …), iterative refinement, direct solvers, multigrid, and triangular substitution.gko::preconditionercontains block-Jacobi, incomplete factorisation preconditioners (IC, ILU, ISAI), and relaxation methods (Gauss-Seidel, SOR / SSOR).gko::factorizationcontains exact (Cholesky, LU) and incomplete factorisations (IC(0), ILU(0), ParIC, ParILU, ParICT, ParILUT) that produce aFactorizationLinOp.gko::logcontains loggers that observe solver and executor events: Convergence, Stream, Record, SolverProgress, ProfilerHook, PerformanceHint.gko::stopcontains stopping criteria for iterative solvers: Iteration, Time, residual-norm variants, and the Combined meta-criterion.gko::reordercontains permutation generators for sparse matrices: RCM, AMD, MC64, nested dissection, and the ScaledReordered composition wrapper.gko::multigridcontains building blocks for algebraic-multigrid hierarchies: theMultigridLevelinterface and thePgm/FixedCoarseninglevel generators.gko::experimental::distributedcontains MPI-based distributed-memory primitives: Matrix, Vector, Partition, RowGatherer, the Schwarz preconditioner, and assembly helpers.gko::experimental::mpicontains C++ wrappers around the MPI runtime that the distributed types are built on:communicator,request,status,environment, and the collective-communicator hierarchy.gko::batchcovers 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::configcovers JSON-driven construction of Ginkgo factories:pnode,type_descriptor, andregistry.gko::extcontains optional integrations with third-party libraries: Kokkos view / executor interop.