Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
+ Collaboration diagram for MPI Network API:

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...
 

Macros

#define THRILL_NET_MPI_QUEUES   1
 

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...
 
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...
 

Detailed Description

Macro Definition Documentation

#define THRILL_NET_MPI_QUEUES   1

Definition at line 37 of file dispatcher.hpp.

Typedef Documentation

using AsyncRequestCallback = tlx::delegate< void(MPI_Status&), mem::GPoolAllocator<char> >

Signature of async MPI request callbacks.

Definition at line 41 of file dispatcher.hpp.

Function Documentation

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.

As the MPI environment already defines the connections, no hosts or parameters can be given. Constructs group_count mpi::Group objects at once. Within each Group this host has its MPI rank.

Returns true if this Thrill host participates in the Group.

As the MPI environment already defines the connections, no hosts or parameters can be given. Constructs group_count mpi::Group objects at once. Within each Group this host has its MPI rank.

To enable tests with smaller group sizes, the Construct method takes group_size and returns a Group with less hosts than actual MPI processes! Obviously, group_size must be less-or-equal to the number of processes started with mpirun -np.

Definition at line 675 of file group.cpp.

References thrill::net::mpi::g_mutex, and thrill::net::mpi::Initialize().

size_t MpiRank ( )

Return the rank of this process in the MPI COMM WORLD.

Definition at line 714 of file group.cpp.

References thrill::net::mpi::g_mutex, and thrill::net::mpi::Initialize().

size_t NumMpiProcesses ( )

Return the number of MPI processes.

This is the maximum group size.

Definition at line 701 of file group.cpp.

References thrill::net::mpi::g_mutex, and thrill::net::mpi::Initialize().