A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::MpiInterface Class Reference

#include <mpi-interface.h>

Static Public Member Functions

static void Destroy ()
 
static void Disable ()
 
static void Enable (int *pargc, char ***pargv)
 
static uint32_t GetRxCount ()
 
static uint32_t GetSize ()
 
static uint32_t GetSystemId ()
 
static uint32_t GetTxCount ()
 
static bool IsEnabled ()
 
static void ReceiveMessages ()
 
static void SendPacket (Ptr< Packet > p, const Time &rxTime, uint32_t node, uint32_t dev)
 
static void TestSendComplete ()
 

Static Private Attributes

static bool m_enabled = false
 
static bool m_initialized = false
 
static std::list< SentBufferm_pendingTx
 
static char ** m_pRxBuffers
 
static MPI_Request * m_requests
 
static uint32_t m_rxCount = 0
 
static uint32_t m_sid = 0
 
static uint32_t m_size = 1
 
static uint32_t m_txCount = 0
 

Detailed Description

Interface between ns-3 and MPI

Definition at line 89 of file mpi-interface.h.

Member Function Documentation

void ns3::MpiInterface::Destroy ( void  )
static

Delete all buffers

Definition at line 87 of file mpi-interface.cc.

References GetSize().

Referenced by ns3::DistributedSimulatorImpl::Destroy().

void ns3::MpiInterface::Disable ( )
static

Terminates the MPI environment by calling MPI_Finalize This function must be called after Destroy () It also resets m_initialized, m_enabled

Definition at line 288 of file mpi-interface.cc.

References NS_FATAL_ERROR.

void ns3::MpiInterface::Enable ( int *  pargc,
char ***  pargv 
)
static
Parameters
pargcnumber of command line arguments
pargvcommand line arguments

Sets up MPI interface

Definition at line 147 of file mpi-interface.cc.

References GetSize(), ns3::MAX_MPI_MSG_SIZE, and NS_FATAL_ERROR.

uint32_t ns3::MpiInterface::GetRxCount ( )
static
Returns
received count in packets

Definition at line 102 of file mpi-interface.cc.

Referenced by ns3::DistributedSimulatorImpl::Run().

uint32_t ns3::MpiInterface::GetSize ( )
static
Returns
MPI size (number of systems)

Definition at line 125 of file mpi-interface.cc.

Referenced by Destroy(), Enable(), and ReceiveMessages().

uint32_t ns3::MpiInterface::GetSystemId ( void  )
static
Returns
MPI rank

Definition at line 114 of file mpi-interface.cc.

Referenced by ns3::GlobalRouteManagerImpl::InitializeRoutes(), and ns3::PointToPointHelper::Install().

uint32_t ns3::MpiInterface::GetTxCount ( )
static
Returns
transmitted count in packets

Definition at line 108 of file mpi-interface.cc.

Referenced by ns3::DistributedSimulatorImpl::Run().

bool ns3::MpiInterface::IsEnabled ( )
static
Returns
true if using MPI

Definition at line 136 of file mpi-interface.cc.

Referenced by ns3::PointToPointHelper::Install().

void ns3::MpiInterface::SendPacket ( Ptr< Packet p,
const Time rxTime,
uint32_t  node,
uint32_t  dev 
)
static
Parameters
ppacket to send
rxTimereceived time at destination node
nodedestination node
devdestination device

Serialize and send a packet to the specified node and net device

Definition at line 172 of file mpi-interface.cc.

References ns3::Time::GetNanoSeconds(), ns3::NodeList::GetNode(), ns3::Packet::GetSerializedSize(), ns3::Node::GetSystemId(), and NS_FATAL_ERROR.

Referenced by ns3::PointToPointRemoteChannel::TransmitStart().

void ns3::MpiInterface::TestSendComplete ( )
static

Check for completed sends

Definition at line 266 of file mpi-interface.cc.

References NS_FATAL_ERROR.

Referenced by ns3::DistributedSimulatorImpl::Run().


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