Public Member Functions | Private Member Functions | Private Attributes | Friends
ParallelLevel Class Reference

Container class for the data associated with a single level of communicator partitioning. More...

List of all members.

Public Member Functions

 ParallelLevel ()
 default constructor
 ParallelLevel (const ParallelLevel &pl)
 copy constructor
 ~ParallelLevel ()
 destructor
ParallelLeveloperator= (const ParallelLevel &pl)
 assignment operator
bool dedicated_master_flag () const
 return dedicatedMasterFlag
bool communicator_split_flag () const
 return commSplitFlag
bool server_master_flag () const
 return serverMasterFlag
bool message_pass () const
 return messagePass
const int & num_servers () const
 return numServers
const int & processors_per_server () const
 return procsPerServer
const int & processor_remainder () const
 return procRemainder
const MPI_Comm & server_intra_communicator () const
 return serverIntraComm
const int & server_communicator_rank () const
 return serverCommRank
const int & server_communicator_size () const
 return serverCommSize
const MPI_Comm & hub_server_intra_communicator () const
 return hubServerIntraComm
const int & hub_server_communicator_rank () const
 return hubServerCommRank
const int & hub_server_communicator_size () const
 return hubServerCommSize
const MPI_Comm & hub_server_inter_communicator () const
 return hubServerInterComm
MPI_Comm * hub_server_inter_communicators () const
 return hubServerInterComms
const int & server_id () const
 return serverId

Private Member Functions

void assign (const ParallelLevel &pl)
 assign the attributes of the incoming pl to this object

Private Attributes

bool dedicatedMasterFlag
 signals dedicated master partitioning
bool commSplitFlag
 signals a communicator split was used
bool serverMasterFlag
 identifies master server processors
bool messagePass
 flag for message passing at this level
int numServers
 number of servers
int procsPerServer
 processors per server
int procRemainder
 proc remainder after equal distribution
MPI_Comm serverIntraComm
 intracomm. for each server partition
int serverCommRank
 rank in serverIntraComm
int serverCommSize
 size of serverIntraComm
MPI_Comm hubServerIntraComm
 intracomm for all serverCommRank==0 < w/i next higher level serverIntraComm
int hubServerCommRank
 rank in hubServerIntraComm
int hubServerCommSize
 size of hubServerIntraComm
MPI_Comm hubServerInterComm
 intercomm. between a server & the hub < (on server partitions only)
MPI_Comm * hubServerInterComms
 intercomm. array on hub processor
int serverId
 server identifier

Friends

class ParallelLibrary
 the ParallelLibrary class has special access priveleges in order to streamline implementation

Detailed Description

Container class for the data associated with a single level of communicator partitioning.

A list of these levels is contained in ParallelLibrary (ParallelLibrary::parallelLevels), which defines all of the parallelism levels across one or more multilevel parallelism configurations.


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