org.objectweb.proactive.mpi
Class MPISpmdImpl

java.lang.Object
  extended by org.objectweb.proactive.mpi.MPISpmdImpl
All Implemented Interfaces:
java.io.Serializable, MPISpmd

public class MPISpmdImpl
extends java.lang.Object
implements MPISpmd, java.io.Serializable

See Also:
Serialized Form

Constructor Summary
MPISpmdImpl()
           
MPISpmdImpl(VirtualNode vn)
          API method for creating a new MPISPMD object from an existing Virtual Node
 
Method Summary
 java.util.ArrayList<java.lang.String> getClasses()
          API method for getting list of classes
 java.util.Hashtable<java.lang.String,java.lang.Object[]> getClassesParams()
          API method for getting array of params
 java.lang.String getName()
          API method for getting MPI program name
 java.lang.String getRemoteLibraryPath()
          API method for getting remote library path
 java.util.ArrayList<java.lang.String> getSpmdClasses()
          API method for getting list of SPMD classes
 java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.Object[]>> getSpmdClassesParams()
          API method for getting table of params
 java.lang.String getStatus()
          API method for getting MPI program status -
 VirtualNode getVn()
          API method for getting MPI program virtual Node
 boolean isFinished()
           
 boolean killMPI()
          API method for killing MPI program - Kills the MPI program.
 void newActive(java.lang.String cl, java.lang.Object[] params, int rank)
          API method for adding class that will be instanciate on a specific node of applications
 void newActiveSpmd(java.lang.String cl)
          API method for adding class that will be instanciate on nodes of applications
 void newActiveSpmd(java.lang.String cl, java.lang.Object[] params)
          API method for adding class that will be instanciate on nodes of applications
 void newActiveSpmd(java.lang.String cl, java.lang.Object[][] params)
          API method for adding class that will be instanciate on nodes of applications
 void reinitProcess()
           
 MPIResult reStartMPI()
          API method for reStarting the MPI program - run a new computation independently if the first one is currently running
 void setMPICommandArguments(java.lang.String arguments)
          API method for setting MPI program command arguments
 MPIResult startMPI()
          API method for starting the MPI program
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MPISpmdImpl

public MPISpmdImpl()

MPISpmdImpl

public MPISpmdImpl(VirtualNode vn)
            throws java.lang.RuntimeException,
                   NodeException
API method for creating a new MPISPMD object from an existing Virtual Node

Throws:
NodeException
java.lang.RuntimeException
Method Detail

startMPI

public MPIResult startMPI()
API method for starting the MPI program

Specified by:
startMPI in interface MPISpmd
Returns:
MPIResult

reStartMPI

public MPIResult reStartMPI()
API method for reStarting the MPI program - run a new computation independently if the first one is currently running

Specified by:
reStartMPI in interface MPISpmd
Returns:
MPIResult

killMPI

public boolean killMPI()
API method for killing MPI program - Kills the MPI program. The MPI program represented by this MPISpmd object is forcibly terminated. Only the computation is killed, the MPISpmd object is still alive (the computation can be reStarted).

Specified by:
killMPI in interface MPISpmd
Returns:
boolean - true if program has been correctly been killed, false otherwise

setMPICommandArguments

public void setMPICommandArguments(java.lang.String arguments)
API method for setting MPI program command arguments

Specified by:
setMPICommandArguments in interface MPISpmd
Parameters:
arguments - - the arguments of the MPI program

getName

public java.lang.String getName()
Description copied from interface: MPISpmd
API method for getting MPI program name

Specified by:
getName in interface MPISpmd
Returns:
String - the name of the MPI program

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

reinitProcess

public void reinitProcess()

getStatus

public java.lang.String getStatus()
Description copied from interface: MPISpmd
API method for getting MPI program status -

Specified by:
getStatus in interface MPISpmd
Returns:
the status of the MPISspmd object

isFinished

public boolean isFinished()

getVn

public VirtualNode getVn()
Description copied from interface: MPISpmd
API method for getting MPI program virtual Node

Specified by:
getVn in interface MPISpmd
Returns:
Virtual Node - the name of the MPI program

newActiveSpmd

public void newActiveSpmd(java.lang.String cl)
Description copied from interface: MPISpmd
API method for adding class that will be instanciate on nodes of applications

Specified by:
newActiveSpmd in interface MPISpmd
Parameters:
cl - - the name of the user class

newActiveSpmd

public void newActiveSpmd(java.lang.String cl,
                          java.lang.Object[] params)
Description copied from interface: MPISpmd
API method for adding class that will be instanciate on nodes of applications

Specified by:
newActiveSpmd in interface MPISpmd
Parameters:
cl - - the name of the user class
params - - the array that contain the parameters

newActiveSpmd

public void newActiveSpmd(java.lang.String cl,
                          java.lang.Object[][] params)
Description copied from interface: MPISpmd
API method for adding class that will be instanciate on nodes of applications

Specified by:
newActiveSpmd in interface MPISpmd
Parameters:
cl - - the name of the user class
params - - the array that contain the parameters

newActive

public void newActive(java.lang.String cl,
                      java.lang.Object[] params,
                      int rank)
               throws java.lang.ArrayIndexOutOfBoundsException
Description copied from interface: MPISpmd
API method for adding class that will be instanciate on a specific node of applications

Specified by:
newActive in interface MPISpmd
Parameters:
cl - - the name of the user class
params - - the array that contains the parameters
Throws:
java.lang.ArrayIndexOutOfBoundsException

getSpmdClasses

public java.util.ArrayList<java.lang.String> getSpmdClasses()
Description copied from interface: MPISpmd
API method for getting list of SPMD classes

Specified by:
getSpmdClasses in interface MPISpmd
Returns:
ArrayList - the list of classes to instanciate

getSpmdClassesParams

public java.util.Hashtable<java.lang.String,java.util.ArrayList<java.lang.Object[]>> getSpmdClassesParams()
Description copied from interface: MPISpmd
API method for getting table of params

Specified by:
getSpmdClassesParams in interface MPISpmd
Returns:
Hashtable - the table of params

getClasses

public java.util.ArrayList<java.lang.String> getClasses()
Description copied from interface: MPISpmd
API method for getting list of classes

Specified by:
getClasses in interface MPISpmd
Returns:
ArrayList - the list of classes to instanciate

getClassesParams

public java.util.Hashtable<java.lang.String,java.lang.Object[]> getClassesParams()
Description copied from interface: MPISpmd
API method for getting array of params

Specified by:
getClassesParams in interface MPISpmd
Returns:
Hashtable - the table of params

getRemoteLibraryPath

public java.lang.String getRemoteLibraryPath()
Description copied from interface: MPISpmd
API method for getting remote library path

Specified by:
getRemoteLibraryPath in interface MPISpmd
Returns:
String - the remote library path


Copyright 2001-2007 INRIA All Rights Reserved.