Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
thrill::net::mpi Namespace Reference

Classes

exception  Connection
 Virtual MPI connection class. More...
 
exception  Dispatcher
 
class  Exception
 A derived exception class which looks up MPI error strings. More...
 
exception  Group
 A net group backed by virtual MPI connection. More...
 

Functions

bool Construct (size_t group_size, std::unique_ptr< Group > *groups, size_t group_count)
 Construct Group which connects to peers using MPI. More...
 
static void Deinitialize ()
 atexit() method to deinitialize the MPI library. More...
 
static void Initialize ()
 run MPI_Init() if not already done (can be called multiple times). More...
 
size_t MpiRank ()
 Return the rank of this process in the MPI COMM WORLD. More...
 
size_t NumMpiProcesses ()
 Return the number of MPI processes. More...
 

Variables

std::mutex g_mutex
 The Grand MPI Library Invocation Mutex (The GMLIM) More...
 

Function Documentation

static void thrill::net::mpi::Deinitialize ( )
inlinestatic

atexit() method to deinitialize the MPI library.

Definition at line 336 of file group.cpp.

References g_mutex.

Referenced by Initialize().

static void thrill::net::mpi::Initialize ( )
inlinestatic

run MPI_Init() if not already done (can be called multiple times).

Definition at line 343 of file group.cpp.

References Deinitialize().

Referenced by Construct(), Group::Group(), MpiRank(), and NumMpiProcesses().

Variable Documentation

std::mutex g_mutex

The Grand MPI Library Invocation Mutex (The GMLIM)

Definition at line 26 of file group.cpp.

Referenced by Group::AllReduceMaximumInt(), Group::AllReduceMaximumLong(), Group::AllReduceMaximumLongLong(), Group::AllReduceMaximumUnsignedInt(), Group::AllReduceMaximumUnsignedLong(), Group::AllReduceMaximumUnsignedLongLong(), Group::AllReduceMinimumInt(), Group::AllReduceMinimumLong(), Group::AllReduceMinimumLongLong(), Group::AllReduceMinimumUnsignedInt(), Group::AllReduceMinimumUnsignedLong(), Group::AllReduceMinimumUnsignedLongLong(), Group::AllReducePlusInt(), Group::AllReducePlusLong(), Group::AllReducePlusLongLong(), Group::AllReducePlusUnsignedInt(), Group::AllReducePlusUnsignedLong(), Group::AllReducePlusUnsignedLongLong(), Group::Barrier(), Group::BroadcastInt(), Group::BroadcastLong(), Group::BroadcastLongLong(), Group::BroadcastUnsignedInt(), Group::BroadcastUnsignedLong(), Group::BroadcastUnsignedLongLong(), Construct(), Deinitialize(), Dispatcher::DispatchOne(), Group::ExPrefixSumPlusInt(), Group::ExPrefixSumPlusLong(), Group::ExPrefixSumPlusLongLong(), Group::ExPrefixSumPlusUnsignedInt(), Group::ExPrefixSumPlusUnsignedLong(), Group::ExPrefixSumPlusUnsignedLongLong(), Dispatcher::IRecv(), Dispatcher::ISend(), MpiRank(), NumMpiProcesses(), Group::PrefixSumPlusInt(), Group::PrefixSumPlusLong(), Group::PrefixSumPlusLongLong(), Group::PrefixSumPlusUnsignedInt(), Group::PrefixSumPlusUnsignedLong(), Group::PrefixSumPlusUnsignedLongLong(), Connection::SyncRecv(), Connection::SyncSend(), and Connection::SyncSendRecv().