![]() |
fpmas 1.6
|
#include <communication.h>


Additional Inherited Members | |
Public Types inherited from fpmas::communication::detail::TypedMpi< T, io::datapack::ObjectPack > | |
| typedef io::datapack::ObjectPack | pack_type |
Public Member Functions inherited from fpmas::communication::detail::TypedMpi< T, io::datapack::ObjectPack > | |
| TypedMpi (api::communication::MpiCommunicator &comm) | |
| std::unordered_map< int, std::vector< T > > | migrate (std::unordered_map< int, std::vector< T > > export_map) override |
| std::unordered_map< int, T > | allToAll (std::unordered_map< int, T > export_map) override |
| std::vector< T > | gather (const T &, int root) override |
| std::vector< T > | allGather (const T &) override |
| T | bcast (const T &, int root) override |
| void | send (const T &, int, int) override |
| void | Isend (const T &, int, int, Request &) override |
| void | Issend (const T &, int, int, Request &) override |
| void | probe (int source, int tag, Status &status) override |
| bool | Iprobe (int source, int tag, Status &status) override |
| T | recv (int source, int tag, Status &status=Status::IGNORE) override |
| virtual std::unordered_map< int, std::vector< T > > | migrate (std::unordered_map< int, std::vector< T > > export_map)=0 |
| virtual std::unordered_map< int, T > | allToAll (std::unordered_map< int, T > export_map)=0 |
| virtual std::vector< T > | gather (const T &data, int root)=0 |
| virtual std::vector< T > | allGather (const T &data)=0 |
| virtual T | bcast (const T &data, int root)=0 |
| virtual void | send (const T &data, int destination, int tag)=0 |
| virtual void | Isend (const T &data, int destination, int tag, Request &req)=0 |
| virtual void | Issend (const T &data, int destination, int tag, Request &req)=0 |
| virtual void | probe (int source, int tag, Status &status)=0 |
| virtual bool | Iprobe (int source, int tag, Status &status)=0 |
| virtual T | recv (int source, int tag, Status &status=Status::IGNORE)=0 |
The default fpmas::communication::detail::TypedMpi specialization, based on io::datapack::ObjectPack.
Since ObjectPack serialization rules are predefined for fundamental types and std containers, sending such structure through MPI is made trivial, without any additionnal user defined code:
If a CustomType is serializable in an ObjectPack, containers of this type can trivially be transmitted, without any additionnal code:
| T | type to transmit, serializable into an fpmas::io::datapack::ObjectPack |