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

Classes

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

Typedefs

using AsyncRequestCallback = tlx::delegate< void(MPI_Status &), mem::GPoolAllocator< char > >
 Signature of async MPI request callbacks. More...
 

Functions

bool Construct (size_t group_size, DispatcherThread &dispatcher, 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...
 
static const size_t g_simultaneous = 32
 number of simultaneous transfers More...
 

Function Documentation

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

atexit() method to deinitialize the MPI library.

Definition at line 634 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 641 of file group.cpp.

References Deinitialize(), and die.

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

Variable Documentation

std::mutex g_mutex
const size_t g_simultaneous = 32
static

number of simultaneous transfers

Definition at line 27 of file dispatcher.cpp.

Referenced by Dispatcher::PumpRecvQueue(), Dispatcher::PumpSendQueue(), Dispatcher::QueueAsyncRecv(), and Dispatcher::QueueAsyncSend().