p2pmpi.mpi
Class Group

java.lang.Object
  extended by p2pmpi.mpi.Group

public class Group
extends java.lang.Object

Group class


Constructor Summary
Group(p2pmpi.mpi.internal.MessageHandler msgHandle, p2pmpi.common.RankTable rankTable, int myRank, int myRankInList, int groupSize, java.util.Vector<p2pmpi.mpi.internal.SendBufferInformation> backupMessage, p2pmpi.mpi.internal.MessageIDLog log, p2pmpi.common.MapRankTable mapRankTable)
          Internal constructor
 
Method Summary
 java.util.Vector<p2pmpi.mpi.internal.SendBufferInformation> __getBackupMessage()
          Internal use
 p2pmpi.common.RankTable __getCommTable()
           
 p2pmpi.mpi.internal.MessageIDLog __getLog()
           
 p2pmpi.common.MapRankTable __getMapCommTable()
           
 p2pmpi.mpi.internal.MessageHandler __getMessageHandler()
           
 int __getNumPeers()
           
 p2pmpi.common.RankTable __getRankTable()
           
 int __sizetotal()
          Internal use
static int Compare(Group group1, Group group2)
          Create a new group which include some ranks from original group
static Group Difference(Group group1, Group group2)
           
 Group Excl(int[] rank)
          Create a new group which exclude some ranks from original group
 Group Incl(int[] rank)
          Create a new group which include some ranks from original group
static Group Intersection(Group group1, Group group2)
          Create a new group which is the intersection of 2 groups
 int Rank()
          Returns rank of process in group
 int RankInList()
          Returns rank of process in list table (Internal used)
 int Size()
          Returns size of group
static Group Union(Group group1, Group group2)
          Create a new group which is the union of 2 groups
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Group

public Group(p2pmpi.mpi.internal.MessageHandler msgHandle,
             p2pmpi.common.RankTable rankTable,
             int myRank,
             int myRankInList,
             int groupSize,
             java.util.Vector<p2pmpi.mpi.internal.SendBufferInformation> backupMessage,
             p2pmpi.mpi.internal.MessageIDLog log,
             p2pmpi.common.MapRankTable mapRankTable)
Internal constructor

Parameters:
msgHandle - message handle
rankTable - list of nodes
myRank - MPI rank
myRankInList - Rank in list
groupSize - number of MPI ranks
backupMessage - a backup message
log - messageID log
Method Detail

Rank

public int Rank()
Returns rank of process in group

Returns:
process rank in group

RankInList

public int RankInList()
Returns rank of process in list table (Internal used)

Returns:
process rank in rank table

Size

public int Size()
Returns size of group

Returns:
group size

__sizetotal

public int __sizetotal()
Internal use


Excl

public Group Excl(int[] rank)
Create a new group which exclude some ranks from original group

Parameters:
rank - list of excluded rank
Returns:
a new group

Incl

public Group Incl(int[] rank)
Create a new group which include some ranks from original group

Parameters:
rank - list of included rank
Returns:
a new group

Compare

public static int Compare(Group group1,
                          Group group2)
Create a new group which include some ranks from original group

Parameters:
group1 - group1
group2 - group2
Returns:
MPI.IDENT, MPI.SIMILAR, MPI.UNEQUAL

Union

public static Group Union(Group group1,
                          Group group2)
Create a new group which is the union of 2 groups

Parameters:
group1 - group1
group2 - group2
Returns:
Union of 2 groups

Intersection

public static Group Intersection(Group group1,
                                 Group group2)
Create a new group which is the intersection of 2 groups

Parameters:
group1 - group1
group2 - group2
Returns:
Union of 2 groups

Difference

public static Group Difference(Group group1,
                               Group group2)

__getBackupMessage

public java.util.Vector<p2pmpi.mpi.internal.SendBufferInformation> __getBackupMessage()
Internal use


__getLog

public p2pmpi.mpi.internal.MessageIDLog __getLog()

__getMessageHandler

public p2pmpi.mpi.internal.MessageHandler __getMessageHandler()

__getNumPeers

public int __getNumPeers()

__getCommTable

public p2pmpi.common.RankTable __getCommTable()

__getMapCommTable

public p2pmpi.common.MapRankTable __getMapCommTable()

__getRankTable

public p2pmpi.common.RankTable __getRankTable()