KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
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
 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
 Cbuiltin_typeChecks if the type T is a builtin MPI type
 Cbuiltin_type< bool >Specialization of builtin_type for bool
 Cbuiltin_type< char >Specialization of builtin_type for char
 Cbuiltin_type< double >Specialization of builtin_type for double
 Cbuiltin_type< float >Specialization of builtin_type for float
 Cbuiltin_type< int >Specialization of builtin_type for int
 Cbuiltin_type< kabool >Specialization of builtin_type for kabool
 Cbuiltin_type< long double >Specialization of builtin_type for long double
 Cbuiltin_type< long int >Specialization of builtin_type for long int
 Cbuiltin_type< long long int >Specialization of builtin_type for long long int
 Cbuiltin_type< short int >Specialization of builtin_type for short int
 Cbuiltin_type< signed char >Specialization of builtin_type for signed char
 Cbuiltin_type< std::complex< double > >Specialization of builtin_type for std::complex<double>
 Cbuiltin_type< std::complex< float > >Specialization of builtin_type for std::complex<float>
 Cbuiltin_type< std::complex< long double > >Specialization of builtin_type for std::complex<long double>
 Cbuiltin_type< unsigned char >Specialization of builtin_type for unsigned char
 Cbuiltin_type< unsigned int >Specialization of builtin_type for unsigned int
 Cbuiltin_type< unsigned long int >Specialization of builtin_type for unsigned long int
 Cbuiltin_type< unsigned long long int >Specialization of builtin_type for unsigned long long int
 Cbuiltin_type< unsigned short int >Specialization of builtin_type for unsigned short int
 Cbuiltin_type< wchar_t >Specialization of builtin_type for wchar_t
 Cbyte_serializedConstructs a type that is serialized as a sequence of sizeof(T) bytes using MPI_BYTE. Note that you must ensure that this conversion is valid
 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
 Ccontiguous_typeConstructs an contiguous type of size N from type T using MPI_Type_contiguous
 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. 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. 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
 CkaboolWrapper around bool to allow handling containers of boolean values
 Ckamping_tagTag used for indicating that a struct is reflectable
 Cmpi_type_traitsThe type trait that maps a C++ type T to a type trait that can be used to construct an MPI_Datatype
 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<!std::is_same_v< decltype(type_dispatcher< T >()), no_matching_type > > >The type trait that maps a C++ type T to a type trait that can be used to construct an MPI_Datatype
 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
 Cno_matching_typeType tag for indicating that no static type definition exists for a type
 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
 CScopedDatatypeA scoped MPI_Datatype that commits the type on construction and frees it on destruction. This is useful for RAII-style management of MPI_Datatype objects
 CSpanA span modeled after C++20's std::span
 CStatusWrapper for MPI_Status
 Cstruct_typeConstructs a MPI_Datatype for a struct-like type
 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