Jpetra Development
Public Member Functions
Jpetra::CcjSupport::CcjLink Class Reference

List of all members.

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.

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.

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::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

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

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

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

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

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::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::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
int [] Jpetra::CcjSupport::CcjLink::sumAll ( int[]  partialSums) [inline]

Wrapper to CCJ allReduce.

double [] Jpetra::CcjSupport::CcjLink::sumAll ( double[]  partialSums) [inline]

Wrapper to CCJ allReduce.


The documentation for this class was generated from the following file:
 All Classes Functions Variables