Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NetworkIOMPI Class Reference

MPI implementation of network IO. More...

Inheritance diagram for NetworkIOMPI:
galois::runtime::NetworkIO

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
MemUsageTrackermemUsageTracker
 memory usage tracker More...
 
std::atomic< size_t > & inflightSends
 Number of inflight sends and receives. More...
 
std::atomic< size_t > & inflightRecvs
 

Detailed Description

MPI implementation of network IO.

ASSUMES THAT MPI IS INITIALIZED UPON CREATION OF THIS OBJECT.

Constructor & Destructor Documentation

NetworkIOMPI::NetworkIOMPI ( galois::runtime::MemUsageTracker tracker,
std::atomic< size_t > &  sends,
std::atomic< size_t > &  recvs,
uint32_t &  ID,
uint32_t &  NUM 
)
inline

Constructor.

Parameters
trackermemory usage tracker
sends
recvs
[out]IDthis machine's host id
[out]NUMtotal number of hosts in the system

Member Function Documentation

virtual message NetworkIOMPI::dequeue ( )
inlinevirtual

Attempts to get a message from the recv queue.

Implements galois::runtime::NetworkIO.

virtual void NetworkIOMPI::enqueue ( message  m)
inlinevirtual

Adds a message to the send queue.

Implements galois::runtime::NetworkIO.

virtual void NetworkIOMPI::progress ( )
inlinevirtual

Push progress forward in the system.

Implements galois::runtime::NetworkIO.


The documentation for this class was generated from the following file: