Container class for the data associated with a single level of communicator partitioning. More...
Public Member Functions | |
ParallelLevel () | |
default constructor | |
ParallelLevel (const ParallelLevel &pl) | |
copy constructor | |
~ParallelLevel () | |
destructor | |
ParallelLevel & | operator= (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 |
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.