Bridge++  Version 1.4.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Communicator_impl Class Reference

Implementation of Communicator with BGNET library. More...

#include <communicator_bgnet.h>

Classes

class  Base
 base class More...
 
class  Layout
 Layout class for logical organisation of parallel nodes. More...
 

Static Public Member Functions

static int init (int *pargc, char ***pargv)
 
static int finalize ()
 
static void abort ()
 
static int setup (int ninstance=1)
 
static bool is_primary ()
 info about rank More...
 
static int self ()
 
static int size ()
 
static int world ()
 
static int sync ()
 synchronize within small world. More...
 
static double get_time ()
 for getting time interval using clock count. More...
 
static int status ()
 for debug More...
 
static int broadcast_string (int count, string &data, int sender)
 for specific datatypes More...
 
static int broadcast_double (int count, double *data, int sender)
 
static int broadcast_int (int count, int *data, int sender)
 
static Channelsend_init (int count, int idir, int ipm)
 async communication More...
 
static Channelrecv_init (int count, int idir, int ipm)
 
static int init (int *pargc, char ***pargv)
 
static int finalize ()
 
static void abort ()
 
static int setup (int ninstance=1)
 
static bool is_primary ()
 
static int self ()
 
static int size ()
 
static MPI_Comm & world ()
 retrieves current communicator. More...
 
static int sync ()
 
static double get_time ()
 
static int status ()
 
static int broadcast_string (int count, string &data, int sender)
 
static Channelsend_init (int count, int idir, int ipm)
 
static Channelrecv_init (int count, int idir, int ipm)
 

Private Member Functions

 Communicator_impl ()
 
 Communicator_impl (const Communicator_impl &)
 
Communicator_imploperator= (const Communicator_impl &)
 
 ~Communicator_impl ()
 
 Communicator_impl ()
 
 Communicator_impl (const Communicator_impl &)
 
Communicator_imploperator= (const Communicator_impl &)
 
 ~Communicator_impl ()
 

Static Private Attributes

static int m_grid_rank = 0
 
static int m_grid_size = 1
 
static int m_comm
 instead of MPI_Comm m_comm; More...
 
static MPI_Comm m_comm
 

Detailed Description

Implementation of Communicator with BGNET library.

MPI-realisation of communicator class implementation.

This class is an implementation of Communicator using the low latency library BGNET for Blue Gene/Q. MPI is not used (while possible to initialize for the purpose of using Parallel I/O). Multi-instance option is not available. If setting ENABLE_MULTI_INSTANCE and putting number of instance other than 1, setup() aborts. [29 Jun 2013 H.Matsufuru] Simultaneous use of BGNET and MPI libraries become possible thanks to Takumi Doi's contribution. [21 Aug 2014 H.Matsufuru]

Communicator_impl class provides implementation of communication between parallel processes using MPI. Interface is basically the same as the abstract communicator class.

Definition at line 38 of file communicator_bgnet.h.

Constructor & Destructor Documentation

Communicator_impl::Communicator_impl ( )
inlineprivate

Definition at line 106 of file communicator_bgnet.h.

Communicator_impl::Communicator_impl ( const Communicator_impl )
inlineprivate

Definition at line 107 of file communicator_bgnet.h.

Communicator_impl::~Communicator_impl ( )
inlineprivate

Definition at line 110 of file communicator_bgnet.h.

Communicator_impl::Communicator_impl ( )
inlineprivate

Definition at line 92 of file communicator_mpi.h.

Communicator_impl::Communicator_impl ( const Communicator_impl )
inlineprivate

Definition at line 93 of file communicator_mpi.h.

Communicator_impl::~Communicator_impl ( )
inlineprivate

Definition at line 96 of file communicator_mpi.h.

Member Function Documentation

static void Communicator_impl::abort ( )
static
void Communicator_impl::abort ( )
static

Definition at line 158 of file communicator_bgnet.cpp.

int Communicator_impl::broadcast_double ( int  count,
double *  data,
int  sender 
)
static

Definition at line 339 of file communicator_bgnet.cpp.

int Communicator_impl::broadcast_int ( int  count,
int *  data,
int  sender 
)
static

Definition at line 352 of file communicator_bgnet.cpp.

static int Communicator_impl::broadcast_string ( int  count,
string &  data,
int  sender 
)
static
int Communicator_impl::broadcast_string ( int  count,
string &  data,
int  sender 
)
static

for specific datatypes

Definition at line 364 of file communicator_bgnet.cpp.

static int Communicator_impl::finalize ( )
static
int Communicator_impl::finalize ( )
static

Definition at line 94 of file communicator_bgnet.cpp.

static double Communicator_impl::get_time ( )
static
double Communicator_impl::get_time ( )
static

for getting time interval using clock count.

Definition at line 423 of file communicator_bgnet.cpp.

static int Communicator_impl::init ( int *  pargc,
char ***  pargv 
)
static
int Communicator_impl::init ( int *  pargc,
char ***  pargv 
)
static

Definition at line 56 of file communicator_bgnet.cpp.

static bool Communicator_impl::is_primary ( )
static
bool Communicator_impl::is_primary ( )
static

info about rank

Definition at line 174 of file communicator_bgnet.cpp.

Communicator_impl& Communicator_impl::operator= ( const Communicator_impl )
private
Communicator_impl& Communicator_impl::operator= ( const Communicator_impl )
private
static Channel* Communicator_impl::recv_init ( int  count,
int  idir,
int  ipm 
)
static
Channel * Communicator_impl::recv_init ( int  count,
int  idir,
int  ipm 
)
static

Communicator::send_init() method creates a channel instance that wraps persistent communication object to receive data from neighbour node located at upward or downward (specified by ipm) in the direction idir. count represents size of buffer by number of elements (bytes).

Definition at line 98 of file channel.cpp.

static int Communicator_impl::self ( )
static
int Communicator_impl::self ( )
static

Definition at line 181 of file communicator_bgnet.cpp.

static Channel* Communicator_impl::send_init ( int  count,
int  idir,
int  ipm 
)
static
Channel * Communicator_impl::send_init ( int  count,
int  idir,
int  ipm 
)
static

async communication

Communicator::send_init() method creates a channel instance that wraps persistent communication object to send data to neighbour node located at upward or downward (specified by ipm) in the direction idir. count represents size of buffer by number of elements (bytes).

Definition at line 61 of file channel.cpp.

static int Communicator_impl::setup ( int  ninstance = 1)
static
int Communicator_impl::setup ( int  ninstance = 1)
static

Definition at line 107 of file communicator_bgnet.cpp.

static int Communicator_impl::size ( )
static
int Communicator_impl::size ( )
static

Definition at line 188 of file communicator_bgnet.cpp.

static int Communicator_impl::status ( )
static
int Communicator_impl::status ( )
static

for debug

Definition at line 434 of file communicator_bgnet.cpp.

static int Communicator_impl::sync ( )
static
int Communicator_impl::sync ( )
static

synchronize within small world.

Definition at line 218 of file communicator_bgnet.cpp.

static MPI_Comm& Communicator_impl::world ( )
inlinestatic

retrieves current communicator.

Definition at line 56 of file communicator_mpi.h.

static int Communicator_impl::world ( )
inlinestatic

Definition at line 63 of file communicator_bgnet.h.

Member Data Documentation

MPI_Comm Communicator_impl::m_comm
staticprivate

Definition at line 109 of file communicator_mpi.h.

MPI_Comm Communicator_impl::m_comm
staticprivate

instead of MPI_Comm m_comm;

Definition at line 123 of file communicator_bgnet.h.

static int Communicator_impl::m_grid_rank = 0
staticprivate

Definition at line 120 of file communicator_bgnet.h.

static int Communicator_impl::m_grid_size = 1
staticprivate

Definition at line 121 of file communicator_bgnet.h.


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