Ginkgo Generated from branch based on main. Ginkgo version 1.11.0
A numerical linear algebra library targeting many-core architectures
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 NgkoThe Ginkgo namespace
  NaccessorThe accessor namespace
   Cabs_operation
   Cabs_operaton
   Cadd
   Cbitwise_and
   Cbitwise_not
   Cbitwise_or
   Cbitwise_xor
   Cconj_operation
   Cconj_operaton
   Cdiv
   Cequal
   Cgreater
   Cgreater_or_equal
   Cimag_operation
   Cimag_operaton
   Cleft_shift
   Cless
   Cless_or_equal
   Clogical_and
   Clogical_not
   Clogical_or
   Cmax_operation
   Cmin_operation
   Cmmul_operation
   Cmod
   Cmul
   Cnot_equal
   Cone_operation
   Cone_operaton
   Creal_operation
   Creal_operaton
   Cright_shift
   Crow_majorA row_major accessor is a bridge between a range and the row-major memory layout
   Csquared_norm_operation
   Csquared_norm_operaton
   Csub
   Ctranspose_operation
   Cunary_minus
   Cunary_plus
   Czero_operation
  Nbatch
   NlogThe logger namespace
    CBatchConvergenceLogs the final residuals and iteration counts for a batch solver
   Nmatrix
    CCsrCsr is a general sparse matrix format that stores the column indices for each nonzero entry and a cumulative sum of the number of nonzeros in each row
    CDenseDense is a batch matrix format which explicitly stores all values of the matrix in each of the batches
    CEllEll is a sparse matrix format that stores the same number of nonzeros in each row, enabling coalesced accesses
    CIdentityThe batch Identity matrix, which represents a batch of Identity matrices
   Npreconditioner
    CJacobiA block-Jacobi preconditioner is a block-diagonal linear operator, obtained by inverting the diagonal blocks (stored in a dense row major fashion) of the source operator
     Cparameters_type
     CFactory
   Nsolver
    CBatchSolverThe BatchSolver is a base class for all batched solvers and provides the common getters and setter for these batched solver classes
    CBicgstabBiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver
     Cparameters_type
     CFactory
    CCgCg or the Conjugate Gradient is a Krylov subspace solver
     Cparameters_type
     CFactory
    Cenable_preconditioned_iterative_solver_factory_parameters
    CEnableBatchSolverThis mixin provides apply and common iterative solver functionality to all the batched solvers
   CBatchLinOp
   CBatchLinOpFactoryA BatchLinOpFactory represents a higher order mapping which transforms one batch linear operator into another
   CEnableBatchLinOpThe EnableBatchLinOp mixin can be used to provide sensible default implementations of the majority of the BatchLinOp and PolymorphicObject interface
   CMultiVectorMultiVector stores multiple vectors in a batched fashion and is useful for batched operations
  Nconfig
   CpnodePnode describes a tree of properties
   CregistryThis class stores additional context for creating Ginkgo objects from configuration files
   Ctype_descriptorThis class describes the value and index types to be used when building a Ginkgo type from a configuration file
  Nexperimental
   NdistributedThe distributed namespace
    NpreconditionerThe Preconditioner namespace
     CSchwarzA Schwarz preconditioner is a simple domain decomposition preconditioner that generalizes the Block Jacobi preconditioner, incorporating options for different local subdomain solvers and overlaps between the subdomains
      Cparameters_type
      CFactory
    CDistributedBaseA base class for distributed objects
    Cindex_mapThis class defines mappings between global and local indices
    CMatrixThe Matrix class defines a (MPI-)distributed matrix
    CPartitionRepresents a partition of a range of indices [0, size) into a disjoint set of parts
    CRowGathererThe distributed::RowGatherer gathers the rows of distributed::Vector that are located on other processes
    CVectorVector is a format which explicitly stores (multiple) distributed column vectors in a dense storage format
   Nfactorization
    CCholeskyComputes a Cholesky factorization of a symmetric, positive-definite sparse matrix
     Cparameters_type
    CFactorizationRepresents a generic factorization consisting of two triangular factors (upper and lower) and an optional diagonal scaling matrix
    CLuComputes an LU factorization of a sparse matrix
     Cparameters_type
   NmpiThe mpi namespace, contains wrapper for many MPI functions
    CCollectiveCommunicatorInterface for a collective communicator
    CcommunicatorA thin wrapper of MPI_Comm that supports most MPI calls
    Ccontiguous_typeA move-only wrapper for a contiguous MPI_Datatype
    CDenseCommunicatorA CollectiveCommunicator that uses a dense communication
    CenvironmentClass that sets up and finalizes the MPI environment
    CNeighborhoodCommunicatorA CollectiveCommunicator that uses a neighborhood topology
    CrequestLight, move-only wrapper around the MPI_Request handle
    CstatusThe status struct is a light wrapper around the MPI_Status struct
    Ctype_implA struct that is used to determine the MPI_Datatype of a specified type
    Ctype_impl< char >
    Ctype_impl< double >
    Ctype_impl< float >
    Ctype_impl< int >
    Ctype_impl< long >
    Ctype_impl< long double >
    Ctype_impl< long long >
    Ctype_impl< unsigned >
    Ctype_impl< unsigned char >
    Ctype_impl< unsigned long >
    Ctype_impl< unsigned long long >
    Ctype_impl< unsigned short >
    CwindowThis class wraps the MPI_Window class with RAII functionality
   NreorderThe Reorder namespace
    CAmdComputes a Approximate Minimum Degree (AMD) reordering of an input matrix
     Cparameters_type
    CMc64MC64 is an algorithm for permuting large entries to the diagonal of a sparse matrix
     Cparameters_type
    CRcmRcm (Reverse Cuthill-McKee) is a reordering algorithm minimizing the bandwidth of a matrix
     Cparameters_type
    CScaledReorderedProvides an interface to wrap reorderings like Rcm and diagonal scaling like equilibration around a LinOp like e.g
     Cparameters_type
     CFactory
   Nsolver
    CDirectA direct solver based on a factorization into lower and upper triangular factors (with an optional diagonal scaling)
     Cparameters_type
     CFactory
  NfactorizationThe Factorization namespace
   CIcRepresents an incomplete Cholesky factorization (IC(0)) of a sparse matrix
    Cparameters_type
    CFactory
   CIluRepresents an incomplete LU factorization – ILU(0) – of a sparse matrix
    Cparameters_type
    CFactory
   CParIcParIC is an incomplete Cholesky factorization which is computed in parallel
    Cparameters_type
    CFactory
   CParIctParICT is an incomplete threshold-based Cholesky factorization which is computed in parallel
    Cparameters_type
    CFactory
   CParIluParILU is an incomplete LU factorization which is computed in parallel
    Cparameters_type
    CFactory
   CParIlutParILUT is an incomplete threshold-based LU factorization which is computed in parallel
    Cparameters_type
    CFactory
  NlogThe logger namespace
   CConvergenceConvergence is a Logger which logs data strictly from the criterion_check_completed event
   Ccriterion_dataStruct representing Criterion related data
   CEnableLoggingEnableLogging is a mixin which should be inherited by any class which wants to enable logging
   Cexecutor_dataStruct representing Executor related data
   Citeration_complete_dataStruct representing iteration complete related data
   Clinop_dataStruct representing LinOp related data
   Clinop_factory_dataStruct representing LinOp factory related data
   CLoggableLoggable class is an interface which should be implemented by classes wanting to support logging
   CLogger
   Coperation_dataStruct representing Operator related data
   CPapiPapi is a Logger which logs every event to the PAPI software
   CPerformanceHintPerformanceHint is a Logger which analyzes the performance of the application and outputs hints for unnecessary copies and allocations
   Cpolymorphic_object_dataStruct representing PolymorphicObject related data
   CProfilerHookThis Logger can be used to annotate the execution of Ginkgo functionality with profiler-specific ranges
    Csummary_entry
    Cnested_summary_entry
    CSummaryWriterReceives the results from ProfilerHook::create_summary()
    CNestedSummaryWriterReceives the results from ProfilerHook::create_nested_summary()
    CTableSummaryWriterWrites the results from ProfilerHook::create_summary() and ProfilerHook::create_nested_summary() to a ASCII table in Markdown format
   Cprofiling_scope_guardScope guard that annotates its scope with the provided profiler hooks
   CRecordRecord is a Logger which logs every event to an object
    Clogged_dataStruct storing the actually logged data
   CSolverProgressThis Logger outputs the value of all scalar values (and potentially vectors) stored internally by the solver after each iteration
   CStreamStream is a Logger which logs every event to a stream
  NmatrixThe matrix namespace
   CCooCOO stores a matrix in the coordinate matrix format
   CCooBuilder
   CCsrCSR is a matrix format which stores only the nonzero coefficients by compressing each row of the matrix (compressed sparse row format)
    Cstrategy_typeStrategy_type is to decide how to set the csr algorithm
    CclassicalClassical is a strategy_type which uses the same number of threads on each row
    Cmerge_pathMerge_path is a strategy_type which uses the merge_path algorithm
    CcusparseCusparse is a strategy_type which uses the sparselib csr
    CsparselibSparselib is a strategy_type which uses the sparselib csr
    Cload_balanceLoad_balance is a strategy_type which uses the load balance algorithm
    Cautomatical
    Cmultiply_reuse_infoClass describing the internal lookup structures created by multiply_reuse(const Csr*) to recompute a sparse matrix-matrix product with updated values
    Cmultiply_add_reuse_infoClass describing the internal lookup structures created by multiply_add_reuse to recompute a sparse matrix-matrix product with updated values
    Cscale_add_reuse_infoClass describing the internal lookup structures created by scale_add_reuse to recompute a sparse matrix-matrix sum with updated values
    Cpermuting_reuse_infoA struct describing a transformation of the matrix that reorders the values of the matrix into the transformed matrix
   CCsrBuilder
   CDenseDense is a matrix format which explicitly stores all values of the matrix
   CDiagonalThis class is a utility which efficiently implements the diagonal matrix (a linear operator which scales a vector row wise)
   CEllELL is a matrix format where stride with explicit zeros is used such that all rows have the same number of stored elements
   CFbcsrFixed-block compressed sparse row storage matrix format
   CFbcsrBuilder
   CFftThis LinOp implements a 1D Fourier matrix using the FFT algorithm
   CFft2This LinOp implements a 2D Fourier matrix using the FFT algorithm
   CFft3This LinOp implements a 3D Fourier matrix using the FFT algorithm
   CHybridHYBRID is a matrix format which splits the matrix into ELLPACK and COO format
    Cstrategy_typeStrategy_type is to decide how to set the hybrid config
    Ccolumn_limitColumn_limit is a strategy_type which decides the number of stored elements per row of the ell part by specifying the number of columns
    Cimbalance_limitImbalance_limit is a strategy_type which decides the number of stored elements per row of the ell part according to the percent
    Cimbalance_bounded_limitImbalance_bounded_limit is a strategy_type which decides the number of stored elements per row of the ell part
    Cminimal_storage_limitMinimal_storage_limit is a strategy_type which decides the number of stored elements per row of the ell part
    CautomaticAutomatic is a strategy_type which decides the number of stored elements per row of the ell part automatically
   CIdentityThis class is a utility which efficiently implements the identity matrix (a linear operator which maps each vector to itself)
   CIdentityFactoryThis factory is a utility which can be used to generate Identity operators
   CPermutationPermutation is a matrix format that represents a permutation matrix, i.e
   CRowGathererRowGatherer is a matrix "format" which stores the gather indices arrays which can be used to gather rows to another matrix
   CScaledPermutationScaledPermutation is a matrix combining a permutation with scaling factors
   CSellpSELL-P is a matrix format similar to ELL format
   CSparsityCsrSparsityCsr is a matrix format which stores only the sparsity pattern of a sparse matrix by compressing each row of the matrix (compressed sparse row format)
  NmultigridThe multigrid components namespace
   CEnableMultigridLevelThe EnableMultigridLevel gives the default implementation of MultigridLevel with composition and provides set_multigrid_level function
   CFixedCoarseningFixedCoarsening is a very simple coarse grid generation algorithm
    Cparameters_type
    CFactory
   CMultigridLevelThis class represents two levels in a multigrid hierarchy
   CPgmParallel graph match (Pgm) is the aggregate method introduced in the paper M
    Cparameters_type
    CFactory
  NpreconditionerThe Preconditioner namespace
   Cblock_interleaved_storage_schemeDefines the parameters of the interleaved block storage scheme used by block-Jacobi blocks
   CGaussSeidelThis class generates the Gauss-Seidel preconditioner
    Cparameters_type
   CIcThe Incomplete Cholesky (IC) preconditioner solves the equation $LL^H*x = b$ for a given lower triangular matrix L and the right hand side b (can contain multiple right hand sides)
    Cparameters_type
    CFactory
   CIluThe Incomplete LU (ILU) preconditioner solves the equation $LUx = b$ for a given lower triangular matrix L, an upper triangular matrix U and the right hand side b (can contain multiple right hand sides)
    Cparameters_type
    CFactory
   CIsaiThe Incomplete Sparse Approximate Inverse (ISAI) Preconditioner generates an approximate inverse matrix for a given square matrix A, lower triangular matrix L, upper triangular matrix U or symmetric positive (spd) matrix B
    Cparameters_type
    CFactory
   CJacobiA block-Jacobi preconditioner is a block-diagonal linear operator, obtained by inverting the diagonal blocks of the source operator
    Cparameters_type
    CFactory
   CSorThis class generates the (S)SOR preconditioner
    Cparameters_type
  NreorderThe Reorder namespace
   CRcmRcm (Reverse Cuthill-McKee) is a reordering algorithm minimizing the bandwidth of a matrix
    Cparameters_type
    CFactory
   CReorderingBaseThe ReorderingBase class is a base class for all the reordering algorithms
   CReorderingBaseArgsThis struct is used to pass parameters to the EnableDefaultReorderingBaseFactory::generate() method
  NsolverThe ginkgo Solve namespace
   CApplyWithInitialGuessApplyWithInitialGuess provides a way to give the input guess for apply function
   CBicgBICG or the Biconjugate gradient method is a Krylov subspace solver
    Cparameters_type
    CFactory
   CBicgstabBiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver
    Cparameters_type
    CFactory
   CCbGmresCB-GMRES or the compressed basis generalized minimal residual method is an iterative type Krylov subspace method which is suitable for nonsymmetric linear systems
    Cparameters_type
    CFactory
   CCgCG or the conjugate gradient method is an iterative type Krylov subspace method which is suitable for symmetric positive definite methods
    Cparameters_type
    CFactory
   CCgsCGS or the conjugate gradient square method is an iterative type Krylov subspace method which is suitable for general systems
    Cparameters_type
    CFactory
   CChebyshevChebyshev iteration is an iterative method for solving nonsymmetric problems based on some knowledge of the spectrum of the (preconditioned) system matrix
    Cparameters_type
    CFactory
   Cenable_iterative_solver_factory_parameters
   Cenable_preconditioned_iterative_solver_factory_parameters
   CEnableApplyWithInitialGuessEnableApplyWithInitialGuess providing default operation for ApplyWithInitialGuess with correct validation and log
   CEnableIterativeBaseA LinOp deriving from this CRTP class stores a stopping criterion factory and allows applying with a guess
   CEnablePreconditionableMixin providing default operation for Preconditionable with correct value semantics
   CEnablePreconditionedIterativeSolverA LinOp implementing this interface stores a system matrix and stopping criterion factory
   CEnableSolverBaseA LinOp deriving from this CRTP class stores a system matrix
   CFactory
   CFcgFCG or the flexible conjugate gradient method is an iterative type Krylov subspace method which is suitable for symmetric positive definite methods
    Cparameters_type
    CFactory
   CGcrGCR or the generalized conjugate residual method is an iterative type Krylov subspace method similar to GMRES which is suitable for nonsymmetric linear systems
    Cparameters_type
    CFactory
   CGmresGMRES or the generalized minimal residual method is an iterative type Krylov subspace method which is suitable for nonsymmetric linear systems
    Cparameters_type
    CFactory
   Chas_with_criteriaHelper structure to test if the Factory of SolverType has a function with_criteria
   CIdrIDR(s) is an efficient method for solving large nonsymmetric systems of linear equations
    Cparameters_type
    CFactory
   CIterativeBaseA LinOp implementing this interface stores a stopping criterion factory
   CLowerTrsLowerTrs is the triangular solver which solves the system L x = b, when L is a lower triangular matrix
    Cparameters_type
    CFactory
   CMinresMinres is an iterative type Krylov subspace method, which is suitable for indefinite and full-rank symmetric/hermitian operators
    Cparameters_type
    CFactory
   CMultigridMultigrid methods have a hierarchy of many levels, whose corase level is a subset of the fine level, of the problem
    Cparameters_type
    CFactory
   Cparameters_type
   CPipeCgPIPE_CG or the pipelined conjugate gradient method is an iterative type Krylov subspace method which is suitable for symmetric positive definite methods
    Cparameters_type
    CFactory
   CSolverBase
   CUpperTrsUpperTrs is the triangular solver which solves the system U x = b, when U is an upper triangular matrix
    Cparameters_type
    CFactory
   Cworkspace_traitsTraits class providing information on the type and location of workspace vectors inside a solver
   Cworkspace_traits< Bicg< ValueType > >
   Cworkspace_traits< Bicgstab< ValueType > >
   Cworkspace_traits< Cg< ValueType > >
   Cworkspace_traits< Cgs< ValueType > >
   Cworkspace_traits< Chebyshev< ValueType > >
   Cworkspace_traits< Fcg< ValueType > >
   Cworkspace_traits< Gcr< ValueType > >
   Cworkspace_traits< gko::experimental::solver::Direct< ValueType, IndexType > >
   Cworkspace_traits< Gmres< ValueType > >
   Cworkspace_traits< Idr< ValueType > >
   Cworkspace_traits< LowerTrs< ValueType, IndexType > >
   Cworkspace_traits< Minres< ValueType > >
   Cworkspace_traits< Multigrid >
   Cworkspace_traits< PipeCg< ValueType > >
   Cworkspace_traits< UpperTrs< ValueType, IndexType > >
  NstopThe Stopping criterion namespace
   CAbsoluteResidualNormThe AbsoluteResidualNorm class is a stopping criterion which stops the iteration process when the residual norm is below a certain threshold, i.e
    Cparameters_type
    CFactory
   CCombinedUsed to combine multiple criterions together through an OR operation
    Cparameters_type
    CFactory
   CCriterionBase class for all stopping criteria
    CUpdaterServes for convenient argument passing to the Criterion's check function
   CCriterionArgsThis struct is used to pass parameters to the EnableDefaultCriterionFactoryCriterionFactory::generate() method
   CImplicitResidualNormThe ImplicitResidualNorm class is a stopping criterion which stops the iteration process when the implicit residual norm is below a certain threshold relative to
    Cparameters_type
    CFactory
   CIterationStopping criterion which stops the iteration process after a preset number of iterations
    Cparameters_type
    CFactory
   CRelativeResidualNormThe RelativeResidualNorm class is a stopping criterion which stops the iteration process when the residual norm is below a certain threshold relative to the norm of the right-hand side, i.e
    Cparameters_type
    CFactory
   CResidualNormThe ResidualNorm class is a stopping criterion which stops the iteration process when the actual residual norm is below a certain threshold relative to
    Cparameters_type
    CFactory
   CResidualNormBaseThe ResidualNormBase class provides a framework for stopping criteria related to the residual norm
   CResidualNormReductionThe ResidualNormReduction class is a stopping criterion which stops the iteration process when the residual norm is below a certain threshold relative to the norm of the initial residual, i.e
    Cparameters_type
    CFactory
   CTimeStopping criterion which stops the iteration process after a certain amount of time has passed
    Cparameters_type
    CFactory
  NsynThe Synthesizer namespace
   Cvalue_listValue_list records several values with the same type in template
   Ctype_listType_list records several types in template
   CrangeRange records start, end, step in template
  NxstdThe namespace for functionalities after C++14 standard
   Ctype_identity
  CAbsoluteComputableThe AbsoluteComputable is an interface that allows to get the component wise absolute of a LinOp
  CAbstractFactoryThe AbstractFactory is a generic interface template that enables easy implementation of the abstract factory design pattern
  CAllocationErrorAllocationError is thrown if a memory allocation fails
  CAllocatorProvides generic allocation and deallocation functionality to be used by an Executor
  Camd_deviceAmd_device handles the number of executor on Amd devices and have the corresponding recursive_mutex
  Care_all_integralEvaluates if all template arguments Args fulfill std::is_integral
  Care_all_integral< First, Args... >
  CarrayAn array is a container which encapsulates fixed-sized arrays, stored on the Executor tied to the array
  CBadDimensionBadDimension is thrown if an operation is being applied to a LinOp with bad dimensions
  Cbatch_dimA type representing the dimensions of a multidimensional batch object
  Cbfloat16A class providing basic support for bfloat16 precision floating point types
  CBlockOperatorA BlockOperator represents a linear operator that is partitioned into multiple blocks
  CBlockSizeErrorError that denotes issues between block sizes and matrix dimensions
  CCombinationThe Combination class can be used to construct a linear combination of multiple linear operators c1 * op1 + c2 * op2 + ... + ck * opk
  CCompositionThe Composition class can be used to compose linear operators op1, op2, ..., opn and obtain the operator op1 * op2 * ... * opn
  CCpuAllocatorAllocator using new/delete
  CCpuAllocatorBaseImplement this interface to provide an allocator for OmpExecutor or ReferenceExecutor
  CCpuTimerA timer using std::chrono::steady_clock for timing
  Ccpx_real_typeAccess the underlying real type of a complex number
  CCublasErrorCublasError is thrown when a cuBLAS routine throws a non-zero error code
  Ccuda_streamAn RAII wrapper for a custom CUDA stream
  CCudaAllocatorAllocator using cudaMalloc
  CCudaAllocatorBaseImplement this interface to provide an allocator for CudaExecutor
  CCudaAsyncAllocator
  CCudaErrorCudaError is thrown when a CUDA routine throws a non-zero error code
  CCudaExecutorThis is the Executor subclass which represents the CUDA device
  CCudaHostAllocator
  CCudaTimerA timer using events for timing on a CudaExecutor
  CCudaUnifiedAllocator
  CCufftErrorCufftError is thrown when a cuFFT routine throws a non-zero error code
  CCurandErrorCurandError is thrown when a cuRAND routine throws a non-zero error code
  CCusparseErrorCusparseError is thrown when a cuSPARSE routine throws a non-zero error code
  Cdefault_converterUsed to convert objects of type S to objects of type R using static_cast
  Cdeferred_factory_parameterRepresents a factory parameter of factory type that can either initialized by a pre-existing factory or by passing in a factory_parameters object whose .on(exec) will be called to instantiate a factory
  Cdevice_matrix_dataThis type is a device-side equivalent to matrix_data
   CarraysStores the internal arrays of a device_matrix_data object
  CDiagonalExtractableThe diagonal of a LinOp implementing this interface can be extracted
  CDiagonalLinOpExtractableThe diagonal of a LinOp can be extracted
  CdimA type representing the dimensions of a multidimensional object
  Cdim< 1u, DimensionType >
  CDimensionMismatchDimensionMismatch is thrown if an operation is being applied to LinOps of incompatible size
  CDpcppExecutorThis is the Executor subclass which represents a DPC++ enhanced device
  CDpcppTimerA timer using kernels for timing on a DpcppExecutor in profiling mode
  Cenable_parameters_typeThe enable_parameters_type mixin is used to create a base implementation of the factory parameters structure
  CEnableAbsoluteComputationThe EnableAbsoluteComputation mixin provides the default implementations of compute_absolute_linop and the absolute interface
  CEnableCreateMethodThis mixin implements a static create() method on ConcreteType that dynamically allocates the memory, uses the passed-in arguments to construct the object, and returns an std::unique_ptr to such an object
  CEnableDefaultFactoryThis mixin provides a default implementation of a concrete factory
  CEnableLinOpThe EnableLinOp mixin can be used to provide sensible default implementations of the majority of the LinOp and PolymorphicObject interface
  CEnablePolymorphicAssignmentThis mixin is used to enable a default PolymorphicObject::copy_from() implementation for objects that have implemented conversions between them
  CEnablePolymorphicObjectThis mixin inherits from (a subclass of) PolymorphicObject and provides a base implementation of a new concrete polymorphic object
  Cerr
  CErrorUsed to report exceptional behaviour in library functions
  CExecutorThe first step in using the Ginkgo library consists of creating an executor
  Cexecutor_deleterThis is a deleter that uses an executor's free method to deallocate the data
  Cexecutor_deleter< T[]>
  ChalfA class providing basic support for half precision floating point types
  Chip_streamAn RAII wrapper for a custom HIP stream
  CHipAllocator
  CHipAllocatorBaseImplement this interface to provide an allocator for HipExecutor
  CHipAsyncAllocator
  CHipblasErrorHipblasError is thrown when a hipBLAS routine throws a non-zero error code
  CHipErrorHipError is thrown when a HIP routine throws a non-zero error code
  CHipExecutorThis is the Executor subclass which represents the HIP enhanced device
  CHipfftErrorHipfftError is thrown when a hipFFT routine throws a non-zero error code
  CHipHostAllocator
  CHiprandErrorHiprandError is thrown when a hipRAND routine throws a non-zero error code
  CHipsparseErrorHipsparseError is thrown when a hipSPARSE routine throws a non-zero error code
  CHipTimerA timer using events for timing on a HipExecutor
  CHipUnifiedAllocator
  Cindex_setAn index set class represents an ordered set of intervals
  CInvalidStateErrorException thrown if an object is in an invalid state
  CKernelNotFoundKernelNotFound is thrown if Ginkgo cannot find a kernel which satisfies the criteria imposed by the input arguments
  CLinOp
  CLinOpFactoryA LinOpFactory represents a higher order mapping which transforms one linear operator into another
  Clocal_spanA span that is used exclusively for local numbering
  Cmachine_topologyThe machine topology class represents the hierarchical topology of a machine, including NUMA nodes, cores and PCI Devices
  Cmatrix_assembly_dataThis structure is used as an intermediate type to assemble a sparse matrix
  Cmatrix_dataThis structure is used as an intermediate data type to store a sparse matrix
  Cmatrix_data_entryType used to store nonzeros
  CMetisErrorMetisError is thrown when METIS routine throws an error code
  CMpiErrorMpiError is thrown when a MPI routine throws a non-zero error code
  CNotCompiledNotCompiled is thrown when attempting to call an operation which is a part of a module that was not compiled on the system
  CNotImplementedNotImplemented is thrown in case an operation has not yet been implemented (but will be implemented in the future)
  CNotSupportedNotSupported is thrown in case it is not possible to perform the requested operation on the given object type
  Cnull_deleterThis is a deleter that does not delete the object
  Cnull_deleter< T[]>
  Cnvidia_deviceNvidia_device handles the number of executor on Nvidia devices and have the corresponding recursive_mutex
  COmpExecutorThis is the Executor subclass which represents the OpenMP device (typically CPU)
  COperationOperations can be used to define functionalities whose implementations differ among devices
  COutOfBoundsErrorOutOfBoundsError is thrown if a memory access is detected to be out-of-bounds
  COverflowErrorOverflowError is thrown when an index calculation for storage requirements overflows
  CPermutableLinear operators which support permutation should implement the Permutable interface
  CPerturbationThe Perturbation class can be used to construct a LinOp to represent the operation (identity + scalar * basis * projector)
  CPolymorphicObjectA PolymorphicObject is the abstract base for all "heavy" objects in Ginkgo that behave polymorphically
  Cprecision_reductionThis class is used to encode storage precisions of low precision algorithms
  CPreconditionableA LinOp implementing this interface can be preconditioned
  Cptr_paramThis class is used for function parameters in the place of raw pointers
  CrangeA range is a multidimensional view of the memory
  CReadableFromMatrixDataA LinOp implementing this interface can read its data from a matrix_data structure
  CReferenceExecutorThis is a specialization of the OmpExecutor, which runs the reference implementations of the kernels used for debugging purposes
  CScaledIdentityAddableAdds the operation M <- a I + b M for matrix M, identity operator I and scalars a and b, where M is the calling object
  Cscoped_device_id_guardThis move-only class uses RAII to set the device id within a scoped block, if necessary
  Csegmented_arrayA minimal interface for a segmented array
  CspanA span is a lightweight structure used to create sub-ranges from other ranges
  Cstopping_statusThis class is used to keep track of the stopping status of one vector
  CStreamErrorStreamError is thrown if accessing a stream failed
  Ctime_pointAn opaque wrapper for a time point generated by a timer
  CTimerRepresents a generic timer that can be used to record time points and measure time differences on host or device streams
  CTransposableLinear operators which support transposition should implement the Transposable interface
  Ctruncated
  CUnsupportedMatrixPropertyException throws if a matrix does not have a property required by a numerical method
  CUseCompositionThe UseComposition class can be used to store the composition information in LinOp
  CValueMismatchValueMismatch is thrown if two values are not equal
  CversionThis structure is used to represent versions of various Ginkgo modules
  Cversion_infoGinkgo uses version numbers to label new features and to communicate backward compatibility guarantees:
  CWritableToMatrixDataA LinOp implementing this interface can write its data to a matrix_data structure
 Chwloc_obj_t
 Chwloc_obj_type_t