Jpetra  Development
 All Classes Functions Variables
Public Member Functions | List of all members
Jpetra.CcjSupport.CcjLink Class Reference
Inheritance diagram for Jpetra.CcjSupport.CcjLink:
Inheritance graph
[legend]
Collaboration diagram for Jpetra.CcjSupport.CcjLink:
Collaboration graph
[legend]

Public Member Functions

 CcjLink (ColGroupMaster groupMaster) throws CCJException
 
String getMyHostName ()
 
int getNumVnodes ()
 
int getRank ()
 
ColGroup getGroup ()
 
void barrier ()
 
Serializable broadcast (Serializable value, int root)
 
Serializable[] gatherAll (Serializable[] myElements)
 
int[] gatherAll (int[] myElements)
 
int[][] gatherAll2dArray (int[] myElements)
 
double[] gatherAll (double[] myElements)
 
double[] sumAll (double[] partialSums)
 
int[] sumAll (int[] partialSums)
 
int[] maxAll (int[] partialMaxs)
 
double[] maxAll (double[] partialMaxs)
 
Serializable maxAll (Serializable partialMaxs)
 
double[] minAll (double[] partialMins)
 
Serializable minAll (Serializable partialMins)
 
int[] minAll (int[] partialMins)
 
double[] scanSums (double[] myElements)
 
int[] scanSums (int[] myElements)
 
int[] scatter2dArray (int[][] in)
 
int[] scatterIntArray (int[] in)
 
int[][] gather (int[] in)
 
Serializable[][] gather (Serializable[] in)
 
void setupReceives (int numReceives)
 
Serializable receive (int senderId)
 
void send (int[] exportObject, int destinationVnode)
 
void send (double[] exportObject, int destinationVnode)
 
void send (Serializable exportObject, int destinationVnode)
 
void run ()
 

Detailed Description

CcjLink provides the wrappers and data representation objects that CcjComm uses to interact with CCJ.

Author
Jason Cross

Constructor & Destructor Documentation

Jpetra.CcjSupport.CcjLink.CcjLink ( ColGroupMaster  groupMaster) throws CCJException
inline

Contacts the root vnode and joins the vnode group unless this is the root vnode, then it listens for connections.

Member Function Documentation

void Jpetra.CcjSupport.CcjLink.barrier ( )
inline

Wrapper to CCJ barrier. Causes each vnode in group</group> to wait until all vnodees are ready.

Serializable Jpetra.CcjSupport.CcjLink.broadcast ( Serializable  value,
int  root 
)
inline

Wrapper to CCJ broadcast. Broadcasts value from the root vnode to all other vnodees in group.

Referenced by Jpetra.CcjComm.broadcast().

Serializable [] Jpetra.CcjSupport.CcjLink.gatherAll ( Serializable[]  myElements)
inline

Wrapper to CCJ allGather. Broadcasts value from the root vnode to all other vnodees in group.

int [] Jpetra.CcjSupport.CcjLink.gatherAll ( int[]  myElements)
inline

Wrapper to CCJ allGather. Broadcasts value from the root vnode to all other vnodees in group.

double [] Jpetra.CcjSupport.CcjLink.gatherAll ( double[]  myElements)
inline

Wrapper to CCJ allGather.

int Jpetra.CcjSupport.CcjLink.getNumVnodes ( )
inline

Accessor for numVnodes provided by CCJ.

Returns
numVnodes
int Jpetra.CcjSupport.CcjLink.getRank ( )
inline

Accessor for rank provided by CCJ.

Returns
rank
int [] Jpetra.CcjSupport.CcjLink.maxAll ( int[]  partialMaxs)
inline

Wrapper to CCJ allReduce.

double [] Jpetra.CcjSupport.CcjLink.maxAll ( double[]  partialMaxs)
inline

Wrapper to CCJ allReduce.

Serializable Jpetra.CcjSupport.CcjLink.maxAll ( Serializable  partialMaxs)
inline

Wrapper to CCJ allReduce.

double [] Jpetra.CcjSupport.CcjLink.minAll ( double[]  partialMins)
inline

Wrapper to CCJ allReduce.

Serializable Jpetra.CcjSupport.CcjLink.minAll ( Serializable  partialMins)
inline

Wrapper to CCJ allReduce.

int [] Jpetra.CcjSupport.CcjLink.minAll ( int[]  partialMins)
inline

Wrapper to CCJ allReduce.

void Jpetra.CcjSupport.CcjLink.run ( )
inline

not used but required to extend CCJ ColMember

double [] Jpetra.CcjSupport.CcjLink.scanSums ( double[]  myElements)
inline

Wrapper to CCJ allGather then calls CcjGatherDoubleArray.scanSums().

int [] Jpetra.CcjSupport.CcjLink.scanSums ( int[]  myElements)
inline

Wrapper to CCJ allGather then calls CcjGatherIntArray.scanSums().

void Jpetra.CcjSupport.CcjLink.send ( int[]  exportObject,
int  destinationVnode 
)
inline

Sends an int arry to a single specified vnode. Wrapper to CCJ send_async Note: this is NOT a blocking operation.

Parameters
exportObjectthe int array to be sent
destinationVnodethe vnode ID of the receiving vnode
void Jpetra.CcjSupport.CcjLink.send ( double[]  exportObject,
int  destinationVnode 
)
inline

Sends a double arry to a single specified vnode. Wrapper to CCJ send_async Note: this is NOT a blocking operation.

Parameters
exportObjectthe double array to be sent
destinationVnodethe vnode ID of the receiving vnode
void Jpetra.CcjSupport.CcjLink.send ( Serializable  exportObject,
int  destinationVnode 
)
inline

Sends a Serializable arry to a single specified vnode. Wrapper to CCJ send_async Note: this is NOT a blocking operation.

Parameters
exportObjectthe Serializable array to be sent
destinationVnodethe vnode ID of the receiving vnode
void Jpetra.CcjSupport.CcjLink.setupReceives ( int  numReceives)
inline

Wrapper to CCJ setupRecords which tells CCJ how many messages to expect to receive.

Parameters
numReceivesthe number of messages that CCJ should expect to receive
double [] Jpetra.CcjSupport.CcjLink.sumAll ( double[]  partialSums)
inline

Wrapper to CCJ allReduce.

int [] Jpetra.CcjSupport.CcjLink.sumAll ( int[]  partialSums)
inline

Wrapper to CCJ allReduce.


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