Galois
|
MPI implementation of network IO. More...
Public Member Functions | |
NetworkIOMPI (galois::runtime::MemUsageTracker &tracker, std::atomic< size_t > &sends, std::atomic< size_t > &recvs, uint32_t &ID, uint32_t &NUM) | |
Constructor. More... | |
virtual void | enqueue (message m) |
Adds a message to the send queue. More... | |
virtual message | dequeue () |
Attempts to get a message from the recv queue. More... | |
virtual void | progress () |
Push progress forward in the system. More... | |
Public Member Functions inherited from galois::runtime::NetworkIO | |
NetworkIO (MemUsageTracker &tracker, std::atomic< size_t > &sends, std::atomic< size_t > &recvs) | |
The default constructor takes a memory usage tracker and saves it. More... | |
virtual | ~NetworkIO () |
Default destructor does nothing. More... | |
Additional Inherited Members | |
Protected Types inherited from galois::runtime::NetworkIO | |
using | vTy = galois::PODResizeableArray< uint8_t > |
Static Protected Member Functions inherited from galois::runtime::NetworkIO | |
static void | handleError (int rc) |
Wrapper for dealing with MPI error codes. More... | |
Protected Attributes inherited from galois::runtime::NetworkIO | |
MemUsageTracker & | memUsageTracker |
memory usage tracker More... | |
std::atomic< size_t > & | inflightSends |
Number of inflight sends and receives. More... | |
std::atomic< size_t > & | inflightRecvs |
MPI implementation of network IO.
ASSUMES THAT MPI IS INITIALIZED UPON CREATION OF THIS OBJECT.
|
inline |
Constructor.
tracker | memory usage tracker | |
sends | ||
recvs | ||
[out] | ID | this machine's host id |
[out] | NUM | total number of hosts in the system |
|
inlinevirtual |
Attempts to get a message from the recv queue.
Implements galois::runtime::NetworkIO.
|
inlinevirtual |
Adds a message to the send queue.
Implements galois::runtime::NetworkIO.
|
inlinevirtual |
Push progress forward in the system.
Implements galois::runtime::NetworkIO.