KaMPIng 0.1.1
Flexible and (near) zero-overhead C++ bindings for MPI
Loading...
Searching...
No Matches
alltoall_sparse.hpp File Reference

File containing the SparseAlltoall plugin. More...

#include "kamping/checking_casts.hpp"
#include "kamping/collectives/alltoall.hpp"
#include "kamping/collectives/barrier.hpp"
#include "kamping/collectives/ibarrier.hpp"
#include "kamping/communicator.hpp"
#include "kamping/environment.hpp"
#include "kamping/named_parameter_filtering.hpp"
#include "kamping/named_parameter_selection.hpp"
#include "kamping/named_parameter_types.hpp"
#include "kamping/p2p/iprobe.hpp"
#include "kamping/p2p/isend.hpp"
#include "kamping/p2p/recv.hpp"
#include "kamping/plugin/plugin_helpers.hpp"
#include "kamping/request_pool.hpp"
#include "kamping/result.hpp"
Include dependency graph for alltoall_sparse.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kamping::plugin::sparse_alltoall::ProbedMessage< T, Communicator >
 Class encapsulating a probed message that is ready to be received in a sparse alltoall exchange. More...
 
struct  kamping::plugin::sparse_alltoall::internal::PredicateForSparseAlltoall
 Predicate to check whether an argument provided to sparse_alltoall shall be discarded in the internal calls to Communicator::issend(). More...
 
class  kamping::plugin::SparseAlltoall< Comm, DefaultContainerType >
 Plugin providing a sparse alltoall exchange method. More...
 

Enumerations

enum class  kamping::plugin::sparse_alltoall::ParameterType { sparse_send_buf , on_message }
 Parameter types used for the SparseAlltoall plugin. More...
 

Functions

template<typename Data >
auto kamping::plugin::sparse_alltoall::sparse_send_buf (Data &&data)
 Generates buffer wrapper based on the data in the sparse send buffer.
 
template<typename Callback >
auto kamping::plugin::sparse_alltoall::on_message (Callback &&cb)
 Generates wrapper for an callback to be called on the probed messages in SparseAlltoall::alltoallv_sparse(). Its call operator has to accept a ProbedMessage as sole parameter.
 

Detailed Description

File containing the SparseAlltoall plugin.

Enumeration Type Documentation

◆ ParameterType

Parameter types used for the SparseAlltoall plugin.

Enumerator
sparse_send_buf 

Tag used to represent a sparse send buffer, i.e. a buffer containing destination-message pairs.

on_message 

Tag used to represent a call back function operation on a sparse_alltoall::ProbedMessage object in alltoallv_sparse.

Function Documentation

◆ sparse_send_buf()

template<typename Data >
auto kamping::plugin::sparse_alltoall::sparse_send_buf ( Data && data)

Generates buffer wrapper based on the data in the sparse send buffer.

Parameters
datais a container consisting of destination-message pairs. Each such pair has to be decomposable via structured bindings with the first parameter being convertible to int and the second parameter being the actual message to be sent for which we require the usual send_buf properties (i.e., either scalar types or existance of a data() and size() member function and the exposure of a value_type))
Template Parameters
DataData type representing the element(s) to send.
Returns
Object referring to the storage containing the data elements to send.