KaMPIng 0.2.1
(Near) zero-overhead MPI wrapper for C++
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12345]
 Nkamping
 NinternalInternal namespace marking the code that is not user-facing
 Nmeasurements
 NopsThis namespace contains all builtin operations supported by MPI
 Nplugin
 Ntypes
 CAllocContainerOfTBuffer allocation tag used for indicating that a buffer of type T should be allocated by KaMPIng
 CAllocNewTBuffer allocation tag used for indicating that a buffer should be allocated by KaMPIng
 CAllocNewUsingTBuffer allocation tag used for indicating that a buffer should be allocated by KaMPIng
 CCommunicationGraphLocalViewLocal view of a a distributed communication graph from the perspective of the current rank. Each vertex is a rank and the edges define possible communication links between the vertices. This view provides access to the (potentially weighted) in- and outgoing edges which are represented as a sequence of neighboring ranks. Note that MPI allows this to be a multi-graph. process' rank
 CCommunicatorWrapper for MPI communicator providing access to rank() and size() of the communicator. The Communicator is also access point to all MPI communications provided by KaMPIng
 CDistributedCommunicationGraphA (vertex-centric) distributed communication graph. Each vertex of the graph corresponds to a rank and each edge (i,j) connect two ranks i and j which can communicate with each other. The distributed communication graph is vertex-centric in the sense that on each rank the local graph only contains the corresponding vertex and its in and out neighborhood. Note that MPI allow multiple edges between the same ranks i and j, i.e. the distributed communication graph can be a multi-graph
 CDistributedGraphCommunicatorA Communicator which possesses an additional virtual topology and supports neighborhood collectives (on the topology). The virtual topology is specified via a distributed communication graph (see DistributedCommunicationGraph)
 CEnvironmentWrapper for MPI functions that don't require a communicator. If the template parameter init_finalize_mode is set to InitMPIMode::InitFinalize (default), MPI_Init is called in the constructor, and MPI_Finalize is called in the destructor
 CGroupA group of MPI processes
 Chas_static_typeCheck if the type has a static type definition, i.e. kamping::mpi_type_traits is defined
 Chas_static_type< T, std::void_t< decltype(mpi_type_traits< T >::data_type())> >Check if the type has a static type definition, i.e. kamping::mpi_type_traits is defined
 Cis_contiguous_sized_rangeA type trait that checks if a type T is a contiguous and sized range, i.e., it is a range and has std::size and std::data defined
 Cis_pair_likeA type trait that checks if a type T is a pair-like type, i.e., it may be destructured using std::get<0> and std::get<1> and has a size of 2
 Cis_rangeA type trait that checks if a type T is a range, i.e., it has std::begin and std::end defined
 Ckamping_lookupLookup policy for KaMPIng that resolves MPI_Datatypes via kamping::mpi_type_traits
 Cmpi_type_traitsThe type trait that maps a C++ type T to an MPI_Datatype for full KaMPIng
 Cmpi_type_traits< std::pair< First, Second >, std::enable_if_t< has_static_type_v< First > &&has_static_type_v< Second > > >Specialization of the mpi_type_traits type trait for std::pair, which represents the pair as a sequence of bytes
 Cmpi_type_traits< std::tuple< Ts... >, std::enable_if_t<(has_static_type_v< Ts > &&...)> >Specialization of the mpi_type_traits type trait for std::tuple, which represents the tuple as MPI struct type
 Cmpi_type_traits< T, std::enable_if_t< has_auto_dispatched_type_v< T > > >Partial specialization of mpi_type_traits for types handled by type_dispatcher
 CMPIAllocatorSTL-compatible allocator for requesting memory using the builtin MPI allocator
 CMpiErrorExceptionThe exception type used when an MPI call did not return MPI_SUCCESS
 CMPIFailureDetectedBase class for all exceptions thrown by the FaultTolerance plugin. Means, that either a process failed or the communicator was revoked
 CMPIProcFailedErrorThrown when a process failure prevented the completetion of the MPI operation
 CMPIProcFailedPendingErrorThrown when a potential sender matching a non-blocking wildcard source receive has failed
 CMPIResultMPIResult contains the result of a MPI call wrapped by KaMPIng
 CMPIRevokedErrorThrown when the communicator was revoked
 CNonBlockingResultNonBlockingResult contains the result of a non-blocking MPI call wrapped by KaMPIng. It encapsulates a kamping::Request and stores the buffers associated with the non-blocking call. Upon completion the owning out-buffers among all associated buffers are returned wrappend in an MPIResult object
 CPoolAnyResultResult returned by RequestPool::wait_any()
 CPooledRequestWrapper for MPI requests owned by a RequestPool
 CRankRangeStruct encapsulating a MPI rank range triplet as used in functions like MPI_Group_range_incl/excl
 CRankRangesRankRanges encapsulate multiple rank ranges which are used in functions like MPI_Group_range_incl/excl
 CRequestWrapper for MPI request handles (aka. MPI_Request)
 CRequestBaseBase class for request wrappers
 CRequestPoolA pool for storing multiple Request s and checking them for completion
 CSpanA span modeled after C++20's std::span
 CStatusWrapper for MPI_Status
 CTopologyCommunicatorA Communicator which possesses an additional virtual topology and supports neighborhood collectives (on the topology). A virtual topology can be defined by a communication graph: each MPI rank corresponds to a vertex in the graph and an edge (i,j) defines a (directed) communication link from rank i to rank j. Such a topolgy can be used to model frequent (sparse) communication patterns and there are specialized (neighborhood) collective operations, e.g., MPI_Neighbor_alltoall etc., exploiting this structure
 NstdSTL namespace
 Ctuple_element< index, kamping::MPIResult< Args... > >Specialization of the std::tuple_element for kamping::MPIResult. Part of the structured binding machinery
 Ctuple_size< kamping::MPIResult< Args... > >Specialization of the std::tuple_size for kamping::MPIResult. Part of the structured binding machinery