de.jtem.jpetsc
Class MPI

java.lang.Object
  extended by de.jtem.jpetsc.PrimitivNative
      extended by de.jtem.jpetsc.MPI

public class MPI
extends PrimitivNative


Nested Class Summary
static class MPI.TestanyResult
          Result class for testany(int, int[], de.jtem.jpetsc.MPIStatus)
 
Field Summary
static int MPI_2COMPLEX
           
static int MPI_2DOUBLE_COMPLEX
           
static int MPI_2DOUBLE_PRECISION
           
static int MPI_2INT
           
static int MPI_2INTEGER
           
static int MPI_2REAL
           
static int MPI_ANY_SOURCE
           
static int MPI_ANY_TAG
           
static int MPI_APPNUM
           
static int MPI_ARGV_NULL
           
static int MPI_ARGVS_NULL
           
static int MPI_BAND
           
static int MPI_BOR
           
static int MPI_BOTTOM
           
static int MPI_BSEND_OVERHEAD
           
static int MPI_BXOR
           
static int MPI_BYTE
           
static int MPI_CHAR
           
static int MPI_CHARACTER
           
static int MPI_COMM_NULL
           
static int MPI_COMM_NULL_COPY_FN
           
static int MPI_COMM_NULL_DELETE_FN
           
static int MPI_COMM_SELF
           
static int MPI_COMM_WORLD
           
static int MPI_COMPLEX
           
static int MPI_COMPLEX16
           
static int MPI_COMPLEX32
           
static int MPI_COMPLEX8
           
static int MPI_CONGRUENT
           
static int MPI_DATATYPE_NULL
           
static int MPI_DISTRIBUTE_BLOCK
           
static int MPI_DISTRIBUTE_CYCLIC
           
static int MPI_DISTRIBUTE_DFLT_DARG
           
static int MPI_DISTRIBUTE_NONE
           
static int MPI_DOUBLE
           
static int MPI_DOUBLE_COMPLEX
           
static int MPI_DOUBLE_INT
           
static int MPI_DOUBLE_PRECISION
           
static int MPI_ERR_ACCESS
           
static int MPI_ERR_AMODE
           
static int MPI_ERR_ARG
           
static int MPI_ERR_ASSERT
           
static int MPI_ERR_BAD_FILE
           
static int MPI_ERR_BASE
           
static int MPI_ERR_BUFFER
           
static int MPI_ERR_COMM
           
static int MPI_ERR_CONVERSION
           
static int MPI_ERR_COUNT
           
static int MPI_ERR_DIMS
           
static int MPI_ERR_DISP
           
static int MPI_ERR_DUP_DATAREP
           
static int MPI_ERR_FILE
           
static int MPI_ERR_FILE_EXISTS
           
static int MPI_ERR_FILE_IN_USE
           
static int MPI_ERR_GROUP
           
static int MPI_ERR_IN_STATUS
           
static int MPI_ERR_INFO
           
static int MPI_ERR_INFO_KEY
           
static int MPI_ERR_INFO_NOKEY
           
static int MPI_ERR_INFO_VALUE
           
static int MPI_ERR_INTERN
           
static int MPI_ERR_IO
           
static int MPI_ERR_KEYVAL
           
static int MPI_ERR_LASTCODE
           
static int MPI_ERR_LOCKTYPE
           
static int MPI_ERR_NAME
           
static int MPI_ERR_NO_MEM
           
static int MPI_ERR_NO_SPACE
           
static int MPI_ERR_NO_SUCH_FILE
           
static int MPI_ERR_NOT_SAME
           
static int MPI_ERR_OP
           
static int MPI_ERR_OTHER
           
static int MPI_ERR_PENDING
           
static int MPI_ERR_PORT
           
static int MPI_ERR_QUOTA
           
static int MPI_ERR_RANK
           
static int MPI_ERR_READ_ONLY
           
static int MPI_ERR_REQUEST
           
static int MPI_ERR_RMA_CONFLICT
           
static int MPI_ERR_RMA_SYNC
           
static int MPI_ERR_ROOT
           
static int MPI_ERR_SERVICE
           
static int MPI_ERR_SIZE
           
static int MPI_ERR_SPAWN
           
static int MPI_ERR_TAG
           
static int MPI_ERR_TOPOLOGY
           
static int MPI_ERR_TRUNCATE
           
static int MPI_ERR_TYPE
           
static int MPI_ERR_UNKNOWN
           
static int MPI_ERR_UNSUPPORTED_DATAREP
           
static int MPI_ERR_UNSUPPORTED_OPERATION
           
static int MPI_ERR_WIN
           
static int MPI_ERRCODES_IGNORE
           
static int MPI_ERRHANDLER_NULL
           
static int MPI_ERRORS_ARE_FATAL
           
static int MPI_ERRORS_RETURN
           
static int MPI_FILE_NULL
           
static int MPI_FLOAT
           
static int MPI_FLOAT_INT
           
static int MPI_GROUP_EMPTY
           
static int MPI_GROUP_NULL
           
static int MPI_HOST
           
static int MPI_IDENT
           
static int MPI_IN_PLACE
           
static int MPI_INFO_NULL
           
static int MPI_INT
           
static int MPI_INTEGER
           
static int MPI_INTEGER1
           
static int MPI_INTEGER16
           
static int MPI_INTEGER2
           
static int MPI_INTEGER4
           
static int MPI_INTEGER8
           
static int MPI_IO
           
static int MPI_KEYVAL_INVALID
           
static int MPI_LAND
           
static int MPI_LASTUSEDCODE
           
static int MPI_LB
           
static int MPI_LOCK_EXCLUSIVE
           
static int MPI_LOCK_SHARED
           
static int MPI_LOGICAL
           
static int MPI_LONG
           
static int MPI_LONG_DOUBLE
           
static int MPI_LONG_DOUBLE_INT
           
static int MPI_LONG_INT
           
static int MPI_LONG_LONG
           
static int MPI_LONG_LONG_INT
           
static int MPI_LOR
           
static int MPI_LXOR
           
static int MPI_MAX
           
static int MPI_MAX_ERROR_STRING
           
static int MPI_MAX_INFO_KEY
           
static int MPI_MAX_INFO_VAL
           
static int MPI_MAX_NAME_STRING
           
static int MPI_MAX_OBJECT_NAME
           
static int MPI_MAX_PORT_NAME
           
static int MPI_MAX_PROCESSOR_NAME
           
static int MPI_MAXLOC
           
static int MPI_MIN
           
static int MPI_MINLOC
           
static int MPI_MODE_NOCHECK
           
static int MPI_MODE_NOPRECEDE
           
static int MPI_MODE_NOPUT
           
static int MPI_MODE_NOSTORE
           
static int MPI_MODE_NOSUCCEED
           
static int MPI_NULL_COPY_FN
           
static int MPI_NULL_DELETE_FN
           
static int MPI_OP_NULL
           
static int MPI_ORDER_C
           
static int MPI_ORDER_FORTRAN
           
static int MPI_PACKED
           
static int MPI_PROC_NULL
           
static int MPI_PROD
           
static int MPI_REAL
           
static int MPI_REAL16
           
static int MPI_REAL4
           
static int MPI_REAL8
           
static int MPI_REPLACE
           
static int MPI_REQUEST_NULL
           
static int MPI_ROOT
           
static int MPI_SHORT
           
static int MPI_SHORT_INT
           
static int MPI_SIGNED_CHAR
           
static int MPI_SIMILAR
           
static int MPI_STATUS_IGNORE
           
static int MPI_STATUSES_IGNORE
           
static int MPI_SUBVERSION
           
static int MPI_SUCCESS
           
static int MPI_SUM
           
static int MPI_TAG_UB
           
static int MPI_THREAD_FUNNELED
           
static int MPI_THREAD_MULTIPLE
           
static int MPI_THREAD_SERIALIZED
           
static int MPI_THREAD_SINGLE
           
static int MPI_TYPE_NULL_COPY_FN
           
static int MPI_TYPE_NULL_DELETE_FN
           
static int MPI_TYPECLASS_COMPLEX
           
static int MPI_TYPECLASS_INTEGER
           
static int MPI_TYPECLASS_REAL
           
static int MPI_UB
           
static int MPI_UNDEFINED
           
static int MPI_UNDEFINED_RANK
           
static int MPI_UNEQUAL
           
static int MPI_UNIVERSE_SIZE
           
static int MPI_UNSIGNED
           
static int MPI_UNSIGNED_CHAR
           
static int MPI_UNSIGNED_LONG
           
static int MPI_UNSIGNED_LONG_LONG
           
static int MPI_UNSIGNED_SHORT
           
static int MPI_VERSION
           
static int MPI_WCHAR
           
static int MPI_WIN_BASE
           
static int MPI_WIN_DISP_UNIT
           
static int MPI_WIN_NULL
           
static int MPI_WIN_NULL_COPY_FN
           
static int MPI_WIN_NULL_DELETE_FN
           
static int MPI_WIN_SIZE
           
static int MPI_WTIME_IS_GLOBAL
           
static int MPICH_ERR_LAST_CLASS
           
static int MPICH_HAS_C2F
           
static int MPICH_NAME
           
static int MPICH2
           
static int MPIIMPL_ADVERTISES_FEATURES
           
static int MPIIMPL_HAVE_MPI_COMBINER_DARRAY
           
static int MPIIMPL_HAVE_MPI_COMBINER_DUP
           
static int MPIIMPL_HAVE_MPI_COMBINER_SUBARRAY
           
static int MPIIMPL_HAVE_MPI_GREQUEST
           
static int MPIIMPL_HAVE_MPI_INFO
           
static int MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY
           
static int MPIIMPL_HAVE_STATUS_SET_BYTES
           
static int MPIIMPL_HAVE_STATUS_SET_INFO
           
 
Fields inherited from class de.jtem.jpetsc.PrimitivNative
destroyNative
 
Constructor Summary
MPI()
           
 
Method Summary
static void abort(int comm, int errorcode)
          Terminates MPI execution environment
static void allgather(java.nio.Buffer sendbuf, int sendcount, int sendtype, java.nio.Buffer recvbuf, int recvcount, int recvtype, int comm)
          Gathers data from all tasks and distribute the combined
data to all tasks
static void allgatherv(java.nio.Buffer sendbuf, int sendcount, int sendtype, java.nio.Buffer recvbuf, int[] recvcounts, int[] displs, int recvtype, int comm)
          Gathers data from all tasks and deliver the combined data
to all tasks
static void allreduce(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, int datatype, int op, int comm)
          Combines values from all processes and distributes the result
back to all processes
static void alltoall(java.nio.Buffer sendbuf, int sendcount, int sendtype, java.nio.Buffer recvbuf, int recvcount, int recvtype, int comm)
          Sends data from all to all processes
static void alltoallv(java.nio.Buffer sendbuf, int[] sendcounts, int[] sdispls, int sendtype, java.nio.Buffer recvbuf, int[] recvcounts, int[] rdispls, int recvtype, int comm)
          Sends data from all to all processes; each process may
send a different amount of data and provide displacements for the input
and output data.
static void alltoallw(java.nio.Buffer sendbuf, int[] sendcounts, int[] sdispls, int[] sendtypes, java.nio.Buffer recvbuf, int[] recvcounts, int[] rdispls, int[] recvtypes, int comm)
          Generalized all-to-all communication allowing different
datatypes, counts, and displacements for each partner
static void barrier(int comm)
          Blocks until all processes in the communicator have
reached this routine.
static void bcast(java.nio.Buffer buffer, int count, int datatype, int root, int comm)
          Broadcasts a message from the process with rank "root" to
all other processes of the communicator
static void bsend(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Basic send with user-provided buffering
static int bsendInit(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Builds a handle for a buffered send
static void bufferAttach(java.nio.Buffer buffer, int size)
          Attaches a user-provided buffer for sending
static int bufferDetach(java.nio.Buffer buffer)
          Removes an existing buffer (for use in MPI_Bsend etc)
static void cancel(int[] request)
          Cancels a communication request
static void closePort(java.lang.String port_name)
          close port
static int commAccept(java.lang.String port_name, int info, int root, int IN)
          Accept a request to form a new intercommunicator
static int commCompare(int comm1, int comm2)
          Compares two communicators
static int commConnect(java.lang.String port_name, int info, int root, int comm)
          Make a request to form a new intercommunicator
static int commCreate(int comm, int group)
          Creates a new communicator
static void commDisconnect(int comm)
          Disconnect from a communicator
static int commDup(int comm)
          Duplicates an existing communicator with all its cached
information
static void commFree(int comm)
          Marks the communicator object for deallocation
static int commGetName(int comm, java.lang.String comm_name)
          Return the print name from the communicator
static int commGetParent()
          Return the parent communicator for this process
static int commGroup(int comm)
          Accesses the group associated with given communicator
static int commJoin(int fd)
          Create a communicator by joining two processes connected by
a socket.
static int commRank(int comm)
          Determines the rank of the calling process in the communicator
static int commRemoteGroup(int comm)
          Accesses the remote group associated with
the given inter-communicator
static int commRemoteSize(int comm)
          Determines the size of the remote group
associated with an inter-communictor
static void commSetName(int comm, java.lang.String MPI_Comm)
          Sets the print name for a communicator
static int commSize(int comm)
          Determines the size of the group associated with a communicator
static int commSplit(int comm, int color, int key)
          Creates new communicators based on colors and keys
static int commTestInter(int comm)
          Tests to see if a comm is an inter-communicator
static void exscan(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, int datatype, int op, int comm)
          Computes the exclusive scan (partial reductions) of data on a
collection of processes
static void Finalize()
          Terminates MPI execution environment
static int finalized()
          Indicates whether 'MPI_Finalize' has been called.
static void gather(java.nio.Buffer sendbuf, int sendcount, int sendtype, java.nio.Buffer recvbuf, int recvcount, int recvtype, int root, int comm)
          Gathers together values from a group of processes
static void gatherv(java.nio.Buffer sendbuf, int sendcount, int sendtype, java.nio.Buffer recvbuf, int[] recvcounts, int[] displs, int recvtype, int root, int comm)
          Gathers into specified locations from all processes in a group
static int getCount(MPIStatus status, int datatype)
          Gets the number of "top level" elements
 int getEveryoneComm()
           
 int getRank()
           
 int getSize()
           
static void grequestComplete(int request)
          Notify MPI that a user-defined request is complete
static int ibsend(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Starts a nonblocking buffered send
static void init()
           
static int initialized()
          Indicates whether 'MPI_Init' has been called.
static int intercommCreate(int local_comm, int local_leader, int peer_comm, int remote_leader, int tag)
          Creates an intercommuncator from two intracommunicators
static int intercommMerge(int comm, int high)
          Creates an intracommuncator from an intercommunicator
static int iprobe(int source, int tag, int comm, MPIStatus status)
          Nonblocking test for a message
static int irecv(java.nio.Buffer buf, int count, int datatype, int source, int tag, int comm)
          Begins a nonblocking receive
static int irsend(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Starts a nonblocking ready send
static int isend(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Begins a nonblocking send
static int issend(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Starts a nonblocking synchronous send
static int isThreadMain()
          Returns a flag indicating whether this thread called
'MPI_Init' or 'MPI_Init_thread'
static java.lang.String lookupName(java.lang.String service_name, int info)
          Lookup a port given a service name
static java.lang.String openPort(int info)
          Establish an address that can be used to establish
connections between groups of MPI processes
static void opFree(int[] op)
          Frees a user-defined combination function handle
static int packSize(int incount, int datatype, int comm)
          Returns the upper bound on the amount of space needed to
pack a message
static void probe(int source, int tag, int comm, MPIStatus status)
          Blocking test for a message
static void publishName(java.lang.String service_name, int info, java.lang.String port_name)
          Publish a service name for use with MPI_Comm_connect
static int queryThread()
          Return the level of thread support provided by the MPI
library
static void recv(java.nio.Buffer buf, int count, int datatype, int source, int tag, int comm, MPIStatus status)
          Blocking receive for a message
static int recvInit(java.nio.Buffer buf, int count, int datatype, int source, int tag, int comm)
          Create a persistent request for a receive
static void reduce(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, int datatype, int op, int root, int comm)
          Reduces values on all processes to a single value
static void reduceScatter(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int[] recvcounts, int datatype, int op, int comm)
          Combines values and scatters the results
static void requestFree(int[] request)
          Frees a communication request object
static int requestGetStatus(int request, MPIStatus status)
          Nondestructive test for the completion of a Request
static void rsend(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Blocking ready send
static int rsendInit(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Creates a persistent request for a ready send
static void scan(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, int datatype, int op, int comm)
          Computes the scan (partial reductions) of data on a collection of
processes
static void scatter(java.nio.Buffer sendbuf, int sendcount, int sendtype, java.nio.Buffer recvbuf, int recvcount, int recvtype, int root, int comm)
          Sends data from one process to all other processes in a
communicator
static void scatterv(java.nio.Buffer sendbuf, int[] sendcounts, int[] displs, int sendtype, java.nio.Buffer recvbuf, int recvcount, int recvtype, int root, int comm)
          Scatters a buffer in parts to all processes in a communicator
static void send(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Performs a blocking send
static int sendInit(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Create a persistent request for a standard send
static void sendrecv(java.nio.Buffer sendbuf, int sendcount, int sendtype, int dest, int sendtag, java.nio.Buffer recvbuf, int recvcount, int recvtype, int source, int recvtag, int comm, MPIStatus status)
          Sends and receives a message
static void sendrecvReplace(java.nio.Buffer buf, int count, int datatype, int dest, int sendtag, int source, int recvtag, int comm, MPIStatus status)
          Sends and receives using a single buffer
static void ssend(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Blocking synchronous send
static int ssendInit(java.nio.Buffer buf, int count, int datatype, int dest, int tag, int comm)
          Creates a persistent request for a synchronous send
static void start(int[] request)
          Initiates a communication with a persistent request handle
static void startall(int count, int[] array_of_requests)
          Starts a collection of persistent requests
static void statusSetCancelled(MPIStatus status, int flag)
          Sets the cancelled state associated with a
Status object
static void statusSetElements(MPIStatus status, int datatype, int count)
          Set the number of elements in a status
static int test(int[] request, MPIStatus status)
          Tests for the completion of a request
static MPI.TestanyResult testany(int count, int[] array_of_requests, MPIStatus status)
          Tests for completion of any previdously initiated
requests
static int testCancelled(MPIStatus status)
          Tests to see if a request was cancelled
static void typeCommit(int[] datatype)
          Commits the datatype
static int typeCreateDarray(int size, int rank, int ndims, int[] array_of_gsizes, int[] array_of_distribs, int[] array_of_dargs, int[] array_of_psizes, int order, int oldtype)
          Create a datatype representing a distributed array
static int typeCreateIndexedBlock(int count, int blocklength, int[] array_of_displacements, int oldtype)
          Create an indexed
datatype with constant-sized blocks
static int typeCreateSubarray(int ndims, int[] array_of_sizes, int[] array_of_subsizes, int[] array_of_starts, int order, int oldtype)
          Create a datatype for a subarray of a regular,
multidimensional array
static int typeDup(int type)
          Duplicate a datatype
static void typeFree(int[] datatype)
          Frees the datatype
static int typeGetName(int type, java.lang.String type_name)
          Get the print name for a datatype
static int typeIndexed(int count, int[] blocklens, int[] indices, int old_type)
          Creates an indexed datatype
static int typeMatchSize(int typeclass, int size)
          Find an MPI datatype matching a specified size
static void typeSetName(int type, java.lang.String type_name)
          set datatype name
static int typeSize(int datatype)
          Return the number of bytes occupied by entries
in the datatype
static int typeVector(int count, int blocklength, int stride, int oldtype)
          Creates a vector (strided) datatype
static void unpack(java.nio.Buffer inbuf, int insize, int[] position, java.nio.Buffer outbuf, int outcount, int datatype, int comm)
          Unpack a buffer according to a datatype into contiguous memory
static void unpublishName(java.lang.String service_name, int info, java.lang.String port_name)
          Unpublish a service name published with
MPI_Publish_name
static void wait(int[] request, MPIStatus status)
          Waits for an MPI request to complete
static int waitany(int count, int[] array_of_requests, MPIStatus status)
          Waits for any specified MPI Request to complete
 
Methods inherited from class de.jtem.jpetsc.PrimitivNative
finalize, getNativeObjectToString, load, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MPI_IDENT

public static final int MPI_IDENT
See Also:
Constant Field Values

MPI_CONGRUENT

public static final int MPI_CONGRUENT
See Also:
Constant Field Values

MPI_SIMILAR

public static final int MPI_SIMILAR
See Also:
Constant Field Values

MPI_UNEQUAL

public static final int MPI_UNEQUAL
See Also:
Constant Field Values

MPI_CHAR

public static final int MPI_CHAR
See Also:
Constant Field Values

MPI_SIGNED_CHAR

public static final int MPI_SIGNED_CHAR
See Also:
Constant Field Values

MPI_UNSIGNED_CHAR

public static final int MPI_UNSIGNED_CHAR
See Also:
Constant Field Values

MPI_BYTE

public static final int MPI_BYTE
See Also:
Constant Field Values

MPI_WCHAR

public static final int MPI_WCHAR
See Also:
Constant Field Values

MPI_SHORT

public static final int MPI_SHORT
See Also:
Constant Field Values

MPI_UNSIGNED_SHORT

public static final int MPI_UNSIGNED_SHORT
See Also:
Constant Field Values

MPI_INT

public static final int MPI_INT
See Also:
Constant Field Values

MPI_UNSIGNED

public static final int MPI_UNSIGNED
See Also:
Constant Field Values

MPI_LONG

public static final int MPI_LONG
See Also:
Constant Field Values

MPI_UNSIGNED_LONG

public static final int MPI_UNSIGNED_LONG
See Also:
Constant Field Values

MPI_FLOAT

public static final int MPI_FLOAT
See Also:
Constant Field Values

MPI_DOUBLE

public static final int MPI_DOUBLE
See Also:
Constant Field Values

MPI_LONG_DOUBLE

public static final int MPI_LONG_DOUBLE
See Also:
Constant Field Values

MPI_LONG_LONG_INT

public static final int MPI_LONG_LONG_INT
See Also:
Constant Field Values

MPI_UNSIGNED_LONG_LONG

public static final int MPI_UNSIGNED_LONG_LONG
See Also:
Constant Field Values

MPI_LONG_LONG

public static final int MPI_LONG_LONG
See Also:
Constant Field Values

MPI_PACKED

public static final int MPI_PACKED
See Also:
Constant Field Values

MPI_LB

public static final int MPI_LB
See Also:
Constant Field Values

MPI_UB

public static final int MPI_UB
See Also:
Constant Field Values

MPI_FLOAT_INT

public static final int MPI_FLOAT_INT
See Also:
Constant Field Values

MPI_DOUBLE_INT

public static final int MPI_DOUBLE_INT
See Also:
Constant Field Values

MPI_LONG_INT

public static final int MPI_LONG_INT
See Also:
Constant Field Values

MPI_SHORT_INT

public static final int MPI_SHORT_INT
See Also:
Constant Field Values

MPI_2INT

public static final int MPI_2INT
See Also:
Constant Field Values

MPI_LONG_DOUBLE_INT

public static final int MPI_LONG_DOUBLE_INT
See Also:
Constant Field Values

MPI_COMPLEX

public static final int MPI_COMPLEX
See Also:
Constant Field Values

MPI_DOUBLE_COMPLEX

public static final int MPI_DOUBLE_COMPLEX
See Also:
Constant Field Values

MPI_LOGICAL

public static final int MPI_LOGICAL
See Also:
Constant Field Values

MPI_REAL

public static final int MPI_REAL
See Also:
Constant Field Values

MPI_DOUBLE_PRECISION

public static final int MPI_DOUBLE_PRECISION
See Also:
Constant Field Values

MPI_INTEGER

public static final int MPI_INTEGER
See Also:
Constant Field Values

MPI_2INTEGER

public static final int MPI_2INTEGER
See Also:
Constant Field Values

MPI_2COMPLEX

public static final int MPI_2COMPLEX
See Also:
Constant Field Values

MPI_2DOUBLE_COMPLEX

public static final int MPI_2DOUBLE_COMPLEX
See Also:
Constant Field Values

MPI_2REAL

public static final int MPI_2REAL
See Also:
Constant Field Values

MPI_2DOUBLE_PRECISION

public static final int MPI_2DOUBLE_PRECISION
See Also:
Constant Field Values

MPI_CHARACTER

public static final int MPI_CHARACTER
See Also:
Constant Field Values

MPI_REAL4

public static final int MPI_REAL4
See Also:
Constant Field Values

MPI_REAL8

public static final int MPI_REAL8
See Also:
Constant Field Values

MPI_REAL16

public static final int MPI_REAL16
See Also:
Constant Field Values

MPI_COMPLEX8

public static final int MPI_COMPLEX8
See Also:
Constant Field Values

MPI_COMPLEX16

public static final int MPI_COMPLEX16
See Also:
Constant Field Values

MPI_COMPLEX32

public static final int MPI_COMPLEX32
See Also:
Constant Field Values

MPI_INTEGER1

public static final int MPI_INTEGER1
See Also:
Constant Field Values

MPI_INTEGER2

public static final int MPI_INTEGER2
See Also:
Constant Field Values

MPI_INTEGER4

public static final int MPI_INTEGER4
See Also:
Constant Field Values

MPI_INTEGER8

public static final int MPI_INTEGER8
See Also:
Constant Field Values

MPI_INTEGER16

public static final int MPI_INTEGER16
See Also:
Constant Field Values

MPI_TYPECLASS_REAL

public static final int MPI_TYPECLASS_REAL
See Also:
Constant Field Values

MPI_TYPECLASS_INTEGER

public static final int MPI_TYPECLASS_INTEGER
See Also:
Constant Field Values

MPI_TYPECLASS_COMPLEX

public static final int MPI_TYPECLASS_COMPLEX
See Also:
Constant Field Values

MPI_COMM_WORLD

public static final int MPI_COMM_WORLD
See Also:
Constant Field Values

MPI_COMM_SELF

public static final int MPI_COMM_SELF
See Also:
Constant Field Values

MPI_GROUP_EMPTY

public static final int MPI_GROUP_EMPTY
See Also:
Constant Field Values

MPI_WIN_NULL

public static final int MPI_WIN_NULL
See Also:
Constant Field Values

MPI_FILE_NULL

public static final int MPI_FILE_NULL
See Also:
Constant Field Values

MPI_MAX

public static final int MPI_MAX
See Also:
Constant Field Values

MPI_MIN

public static final int MPI_MIN
See Also:
Constant Field Values

MPI_SUM

public static final int MPI_SUM
See Also:
Constant Field Values

MPI_PROD

public static final int MPI_PROD
See Also:
Constant Field Values

MPI_LAND

public static final int MPI_LAND
See Also:
Constant Field Values

MPI_BAND

public static final int MPI_BAND
See Also:
Constant Field Values

MPI_LOR

public static final int MPI_LOR
See Also:
Constant Field Values

MPI_BOR

public static final int MPI_BOR
See Also:
Constant Field Values

MPI_LXOR

public static final int MPI_LXOR
See Also:
Constant Field Values

MPI_BXOR

public static final int MPI_BXOR
See Also:
Constant Field Values

MPI_MINLOC

public static final int MPI_MINLOC
See Also:
Constant Field Values

MPI_MAXLOC

public static final int MPI_MAXLOC
See Also:
Constant Field Values

MPI_REPLACE

public static final int MPI_REPLACE
See Also:
Constant Field Values

MPI_TAG_UB

public static final int MPI_TAG_UB
See Also:
Constant Field Values

MPI_HOST

public static final int MPI_HOST
See Also:
Constant Field Values

MPI_IO

public static final int MPI_IO
See Also:
Constant Field Values

MPI_WTIME_IS_GLOBAL

public static final int MPI_WTIME_IS_GLOBAL
See Also:
Constant Field Values

MPI_UNIVERSE_SIZE

public static final int MPI_UNIVERSE_SIZE
See Also:
Constant Field Values

MPI_LASTUSEDCODE

public static final int MPI_LASTUSEDCODE
See Also:
Constant Field Values

MPI_APPNUM

public static final int MPI_APPNUM
See Also:
Constant Field Values

MPI_WIN_BASE

public static final int MPI_WIN_BASE
See Also:
Constant Field Values

MPI_WIN_SIZE

public static final int MPI_WIN_SIZE
See Also:
Constant Field Values

MPI_WIN_DISP_UNIT

public static final int MPI_WIN_DISP_UNIT
See Also:
Constant Field Values

MPI_COMM_NULL

public static final int MPI_COMM_NULL
See Also:
Constant Field Values

MPI_OP_NULL

public static final int MPI_OP_NULL
See Also:
Constant Field Values

MPI_GROUP_NULL

public static final int MPI_GROUP_NULL
See Also:
Constant Field Values

MPI_DATATYPE_NULL

public static final int MPI_DATATYPE_NULL
See Also:
Constant Field Values

MPI_REQUEST_NULL

public static final int MPI_REQUEST_NULL
See Also:
Constant Field Values

MPI_ERRHANDLER_NULL

public static final int MPI_ERRHANDLER_NULL
See Also:
Constant Field Values

MPI_MAX_PROCESSOR_NAME

public static final int MPI_MAX_PROCESSOR_NAME
See Also:
Constant Field Values

MPI_MAX_ERROR_STRING

public static final int MPI_MAX_ERROR_STRING
See Also:
Constant Field Values

MPI_MAX_NAME_STRING

public static final int MPI_MAX_NAME_STRING
See Also:
Constant Field Values

MPI_MAX_PORT_NAME

public static final int MPI_MAX_PORT_NAME
See Also:
Constant Field Values

MPI_MAX_OBJECT_NAME

public static final int MPI_MAX_OBJECT_NAME
See Also:
Constant Field Values

MPI_UNDEFINED

public static final int MPI_UNDEFINED
See Also:
Constant Field Values

MPI_UNDEFINED_RANK

public static final int MPI_UNDEFINED_RANK
See Also:
Constant Field Values

MPI_KEYVAL_INVALID

public static final int MPI_KEYVAL_INVALID
See Also:
Constant Field Values

MPI_BSEND_OVERHEAD

public static final int MPI_BSEND_OVERHEAD
See Also:
Constant Field Values

MPI_BOTTOM

public static final int MPI_BOTTOM
See Also:
Constant Field Values

MPI_PROC_NULL

public static final int MPI_PROC_NULL
See Also:
Constant Field Values

MPI_ANY_SOURCE

public static final int MPI_ANY_SOURCE
See Also:
Constant Field Values

MPI_ROOT

public static final int MPI_ROOT
See Also:
Constant Field Values

MPI_ANY_TAG

public static final int MPI_ANY_TAG
See Also:
Constant Field Values

MPI_LOCK_EXCLUSIVE

public static final int MPI_LOCK_EXCLUSIVE
See Also:
Constant Field Values

MPI_LOCK_SHARED

public static final int MPI_LOCK_SHARED
See Also:
Constant Field Values

MPI_ERRORS_ARE_FATAL

public static final int MPI_ERRORS_ARE_FATAL
See Also:
Constant Field Values

MPI_ERRORS_RETURN

public static final int MPI_ERRORS_RETURN
See Also:
Constant Field Values

MPI_NULL_COPY_FN

public static final int MPI_NULL_COPY_FN
See Also:
Constant Field Values

MPI_NULL_DELETE_FN

public static final int MPI_NULL_DELETE_FN
See Also:
Constant Field Values

MPI_COMM_NULL_COPY_FN

public static final int MPI_COMM_NULL_COPY_FN
See Also:
Constant Field Values

MPI_COMM_NULL_DELETE_FN

public static final int MPI_COMM_NULL_DELETE_FN
See Also:
Constant Field Values

MPI_WIN_NULL_COPY_FN

public static final int MPI_WIN_NULL_COPY_FN
See Also:
Constant Field Values

MPI_WIN_NULL_DELETE_FN

public static final int MPI_WIN_NULL_DELETE_FN
See Also:
Constant Field Values

MPI_TYPE_NULL_COPY_FN

public static final int MPI_TYPE_NULL_COPY_FN
See Also:
Constant Field Values

MPI_TYPE_NULL_DELETE_FN

public static final int MPI_TYPE_NULL_DELETE_FN
See Also:
Constant Field Values

MPI_VERSION

public static final int MPI_VERSION
See Also:
Constant Field Values

MPI_SUBVERSION

public static final int MPI_SUBVERSION
See Also:
Constant Field Values

MPICH_NAME

public static final int MPICH_NAME
See Also:
Constant Field Values

MPICH2

public static final int MPICH2
See Also:
Constant Field Values

MPICH_HAS_C2F

public static final int MPICH_HAS_C2F
See Also:
Constant Field Values

MPI_INFO_NULL

public static final int MPI_INFO_NULL
See Also:
Constant Field Values

MPI_MAX_INFO_KEY

public static final int MPI_MAX_INFO_KEY
See Also:
Constant Field Values

MPI_MAX_INFO_VAL

public static final int MPI_MAX_INFO_VAL
See Also:
Constant Field Values

MPI_ORDER_C

public static final int MPI_ORDER_C
See Also:
Constant Field Values

MPI_ORDER_FORTRAN

public static final int MPI_ORDER_FORTRAN
See Also:
Constant Field Values

MPI_DISTRIBUTE_BLOCK

public static final int MPI_DISTRIBUTE_BLOCK
See Also:
Constant Field Values

MPI_DISTRIBUTE_CYCLIC

public static final int MPI_DISTRIBUTE_CYCLIC
See Also:
Constant Field Values

MPI_DISTRIBUTE_NONE

public static final int MPI_DISTRIBUTE_NONE
See Also:
Constant Field Values

MPI_DISTRIBUTE_DFLT_DARG

public static final int MPI_DISTRIBUTE_DFLT_DARG
See Also:
Constant Field Values

MPI_IN_PLACE

public static final int MPI_IN_PLACE
See Also:
Constant Field Values

MPI_MODE_NOCHECK

public static final int MPI_MODE_NOCHECK
See Also:
Constant Field Values

MPI_MODE_NOSTORE

public static final int MPI_MODE_NOSTORE
See Also:
Constant Field Values

MPI_MODE_NOPUT

public static final int MPI_MODE_NOPUT
See Also:
Constant Field Values

MPI_MODE_NOPRECEDE

public static final int MPI_MODE_NOPRECEDE
See Also:
Constant Field Values

MPI_MODE_NOSUCCEED

public static final int MPI_MODE_NOSUCCEED
See Also:
Constant Field Values

MPI_STATUS_IGNORE

public static final int MPI_STATUS_IGNORE
See Also:
Constant Field Values

MPI_STATUSES_IGNORE

public static final int MPI_STATUSES_IGNORE
See Also:
Constant Field Values

MPI_ERRCODES_IGNORE

public static final int MPI_ERRCODES_IGNORE
See Also:
Constant Field Values

MPI_ARGV_NULL

public static final int MPI_ARGV_NULL
See Also:
Constant Field Values

MPI_ARGVS_NULL

public static final int MPI_ARGVS_NULL
See Also:
Constant Field Values

MPI_THREAD_SINGLE

public static final int MPI_THREAD_SINGLE
See Also:
Constant Field Values

MPI_THREAD_FUNNELED

public static final int MPI_THREAD_FUNNELED
See Also:
Constant Field Values

MPI_THREAD_SERIALIZED

public static final int MPI_THREAD_SERIALIZED
See Also:
Constant Field Values

MPI_THREAD_MULTIPLE

public static final int MPI_THREAD_MULTIPLE
See Also:
Constant Field Values

MPI_SUCCESS

public static final int MPI_SUCCESS
See Also:
Constant Field Values

MPI_ERR_BUFFER

public static final int MPI_ERR_BUFFER
See Also:
Constant Field Values

MPI_ERR_COUNT

public static final int MPI_ERR_COUNT
See Also:
Constant Field Values

MPI_ERR_TYPE

public static final int MPI_ERR_TYPE
See Also:
Constant Field Values

MPI_ERR_TAG

public static final int MPI_ERR_TAG
See Also:
Constant Field Values

MPI_ERR_COMM

public static final int MPI_ERR_COMM
See Also:
Constant Field Values

MPI_ERR_RANK

public static final int MPI_ERR_RANK
See Also:
Constant Field Values

MPI_ERR_ROOT

public static final int MPI_ERR_ROOT
See Also:
Constant Field Values

MPI_ERR_TRUNCATE

public static final int MPI_ERR_TRUNCATE
See Also:
Constant Field Values

MPI_ERR_GROUP

public static final int MPI_ERR_GROUP
See Also:
Constant Field Values

MPI_ERR_OP

public static final int MPI_ERR_OP
See Also:
Constant Field Values

MPI_ERR_REQUEST

public static final int MPI_ERR_REQUEST
See Also:
Constant Field Values

MPI_ERR_TOPOLOGY

public static final int MPI_ERR_TOPOLOGY
See Also:
Constant Field Values

MPI_ERR_DIMS

public static final int MPI_ERR_DIMS
See Also:
Constant Field Values

MPI_ERR_ARG

public static final int MPI_ERR_ARG
See Also:
Constant Field Values

MPI_ERR_OTHER

public static final int MPI_ERR_OTHER
See Also:
Constant Field Values

MPI_ERR_UNKNOWN

public static final int MPI_ERR_UNKNOWN
See Also:
Constant Field Values

MPI_ERR_INTERN

public static final int MPI_ERR_INTERN
See Also:
Constant Field Values

MPI_ERR_IN_STATUS

public static final int MPI_ERR_IN_STATUS
See Also:
Constant Field Values

MPI_ERR_PENDING

public static final int MPI_ERR_PENDING
See Also:
Constant Field Values

MPI_ERR_FILE

public static final int MPI_ERR_FILE
See Also:
Constant Field Values

MPI_ERR_ACCESS

public static final int MPI_ERR_ACCESS
See Also:
Constant Field Values

MPI_ERR_AMODE

public static final int MPI_ERR_AMODE
See Also:
Constant Field Values

MPI_ERR_BAD_FILE

public static final int MPI_ERR_BAD_FILE
See Also:
Constant Field Values

MPI_ERR_FILE_EXISTS

public static final int MPI_ERR_FILE_EXISTS
See Also:
Constant Field Values

MPI_ERR_FILE_IN_USE

public static final int MPI_ERR_FILE_IN_USE
See Also:
Constant Field Values

MPI_ERR_NO_SPACE

public static final int MPI_ERR_NO_SPACE
See Also:
Constant Field Values

MPI_ERR_NO_SUCH_FILE

public static final int MPI_ERR_NO_SUCH_FILE
See Also:
Constant Field Values

MPI_ERR_IO

public static final int MPI_ERR_IO
See Also:
Constant Field Values

MPI_ERR_READ_ONLY

public static final int MPI_ERR_READ_ONLY
See Also:
Constant Field Values

MPI_ERR_CONVERSION

public static final int MPI_ERR_CONVERSION
See Also:
Constant Field Values

MPI_ERR_DUP_DATAREP

public static final int MPI_ERR_DUP_DATAREP
See Also:
Constant Field Values

MPI_ERR_UNSUPPORTED_DATAREP

public static final int MPI_ERR_UNSUPPORTED_DATAREP
See Also:
Constant Field Values

MPI_ERR_INFO

public static final int MPI_ERR_INFO
See Also:
Constant Field Values

MPI_ERR_INFO_KEY

public static final int MPI_ERR_INFO_KEY
See Also:
Constant Field Values

MPI_ERR_INFO_VALUE

public static final int MPI_ERR_INFO_VALUE
See Also:
Constant Field Values

MPI_ERR_INFO_NOKEY

public static final int MPI_ERR_INFO_NOKEY
See Also:
Constant Field Values

MPI_ERR_NAME

public static final int MPI_ERR_NAME
See Also:
Constant Field Values

MPI_ERR_NO_MEM

public static final int MPI_ERR_NO_MEM
See Also:
Constant Field Values

MPI_ERR_NOT_SAME

public static final int MPI_ERR_NOT_SAME
See Also:
Constant Field Values

MPI_ERR_PORT

public static final int MPI_ERR_PORT
See Also:
Constant Field Values

MPI_ERR_QUOTA

public static final int MPI_ERR_QUOTA
See Also:
Constant Field Values

MPI_ERR_SERVICE

public static final int MPI_ERR_SERVICE
See Also:
Constant Field Values

MPI_ERR_SPAWN

public static final int MPI_ERR_SPAWN
See Also:
Constant Field Values

MPI_ERR_UNSUPPORTED_OPERATION

public static final int MPI_ERR_UNSUPPORTED_OPERATION
See Also:
Constant Field Values

MPI_ERR_WIN

public static final int MPI_ERR_WIN
See Also:
Constant Field Values

MPI_ERR_BASE

public static final int MPI_ERR_BASE
See Also:
Constant Field Values

MPI_ERR_LOCKTYPE

public static final int MPI_ERR_LOCKTYPE
See Also:
Constant Field Values

MPI_ERR_KEYVAL

public static final int MPI_ERR_KEYVAL
See Also:
Constant Field Values

MPI_ERR_RMA_CONFLICT

public static final int MPI_ERR_RMA_CONFLICT
See Also:
Constant Field Values

MPI_ERR_RMA_SYNC

public static final int MPI_ERR_RMA_SYNC
See Also:
Constant Field Values

MPI_ERR_SIZE

public static final int MPI_ERR_SIZE
See Also:
Constant Field Values

MPI_ERR_DISP

public static final int MPI_ERR_DISP
See Also:
Constant Field Values

MPI_ERR_ASSERT

public static final int MPI_ERR_ASSERT
See Also:
Constant Field Values

MPI_ERR_LASTCODE

public static final int MPI_ERR_LASTCODE
See Also:
Constant Field Values

MPICH_ERR_LAST_CLASS

public static final int MPICH_ERR_LAST_CLASS
See Also:
Constant Field Values

MPIIMPL_ADVERTISES_FEATURES

public static final int MPIIMPL_ADVERTISES_FEATURES
See Also:
Constant Field Values

MPIIMPL_HAVE_MPI_INFO

public static final int MPIIMPL_HAVE_MPI_INFO
See Also:
Constant Field Values

MPIIMPL_HAVE_MPI_COMBINER_DARRAY

public static final int MPIIMPL_HAVE_MPI_COMBINER_DARRAY
See Also:
Constant Field Values

MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY

public static final int MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY
See Also:
Constant Field Values

MPIIMPL_HAVE_MPI_COMBINER_SUBARRAY

public static final int MPIIMPL_HAVE_MPI_COMBINER_SUBARRAY
See Also:
Constant Field Values

MPIIMPL_HAVE_MPI_COMBINER_DUP

public static final int MPIIMPL_HAVE_MPI_COMBINER_DUP
See Also:
Constant Field Values

MPIIMPL_HAVE_MPI_GREQUEST

public static final int MPIIMPL_HAVE_MPI_GREQUEST
See Also:
Constant Field Values

MPIIMPL_HAVE_STATUS_SET_BYTES

public static final int MPIIMPL_HAVE_STATUS_SET_BYTES
See Also:
Constant Field Values

MPIIMPL_HAVE_STATUS_SET_INFO

public static final int MPIIMPL_HAVE_STATUS_SET_INFO
See Also:
Constant Field Values
Constructor Detail

MPI

public MPI()
Method Detail

getSize

public int getSize()

getRank

public int getRank()

getEveryoneComm

public int getEveryoneComm()

init

public static void init()

commConnect

public static int commConnect(java.lang.String port_name,
                              int info,
                              int root,
                              int comm)
Make a request to form a new intercommunicator

Parameters:
port_name - network address (string, used only on root)
info - implementation-dependent information (handle, used only on root)
root - rank in comm of root node (integer)
comm - intracommunicator over which call is collective (handle)
Returns:
intercommunicator with server as remote group (handle)

lookupName

public static java.lang.String lookupName(java.lang.String service_name,
                                          int info)
Lookup a port given a service name

Parameters:
service_name - a service name (string)
info - implementation-specific information (handle)
Returns:
a port name (string)

commJoin

public static int commJoin(int fd)
Create a communicator by joining two processes connected by
a socket.

Parameters:
fd - socket file descriptor
Returns:
new intercommunicator (handle)

closePort

public static void closePort(java.lang.String port_name)
close port

Parameters:
port_name - a port name (string)

unpublishName

public static void unpublishName(java.lang.String service_name,
                                 int info,
                                 java.lang.String port_name)
Unpublish a service name published with
MPI_Publish_name

Parameters:
service_name - a service name (string)
info - implementation-specific information (handle)
port_name - a port name (string)

commGetParent

public static int commGetParent()
Return the parent communicator for this process

Returns:
the parent communicator (handle)

commAccept

public static int commAccept(java.lang.String port_name,
                             int info,
                             int root,
                             int IN)
Accept a request to form a new intercommunicator

Parameters:
port_name - port name (string, used only on root)
info - implementation-dependent information (handle, used only on root)
root - rank in comm of root node (integer)
IN - comm intracommunicator over which call is collective (handle)
Returns:
intercommunicator with client as remote group (handle)

commDisconnect

public static void commDisconnect(int comm)
Disconnect from a communicator

Parameters:
comm - communicator (handle)
See Also:
commConnect(java.lang.String, int, int, int), commJoin(int)

publishName

public static void publishName(java.lang.String service_name,
                               int info,
                               java.lang.String port_name)
Publish a service name for use with MPI_Comm_connect

Parameters:
service_name - a service name to associate with the port (string)
info - implementation-specific information (handle)
port_name - a port name (string)

openPort

public static java.lang.String openPort(int info)
Establish an address that can be used to establish
connections between groups of MPI processes

Parameters:
info - implementation-specific information on how to establish a
port for 'MPI_Comm_accept' (handle)
Returns:
newly established port (string)

Reserved Info Key Values

ip_address
Value contains IP address at which to establish a port. If the address is not a valid IP address of the host on which the 'MPI_OPEN_PORT' call is made, the results are undefined.
ip_port
Value contains IP port number at which to establish a port.

getCount

public static int getCount(MPIStatus status,
                           int datatype)
Gets the number of "top level" elements

Parameters:
status - return status of receive operation (Status)
datatype - datatype of each receive buffer element (handle)
Returns:
number of received elements (integer)

typeCommit

public static void typeCommit(int[] datatype)
Commits the datatype

Parameters:
datatype - datatype (handle)

statusSetElements

public static void statusSetElements(MPIStatus status,
                                     int datatype,
                                     int count)
Set the number of elements in a status

Parameters:
status - status to associate count with (Status)
datatype - datatype associated with count (handle)
count - number of elements to associate with status (integer)

typeCreateDarray

public static int typeCreateDarray(int size,
                                   int rank,
                                   int ndims,
                                   int[] array_of_gsizes,
                                   int[] array_of_distribs,
                                   int[] array_of_dargs,
                                   int[] array_of_psizes,
                                   int order,
                                   int oldtype)
Create a datatype representing a distributed array

Parameters:
size - size of process group (positive integer)
rank - rank in process group (nonnegative integer)
ndims - number of array dimensions as well as process grid dimensions (positive integer)
array_of_gsizes - number of elements of type oldtype in each dimension of global array (array of positive integers)
array_of_distribs - distribution of array in each dimension (array of state)
array_of_dargs - distribution argument in each dimension (array of positive integers)
array_of_psizes - size of process grid in each dimension (array of positive integers)
order - array storage order flag (state)
oldtype - old datatype (handle)
Returns:
new datatype (handle)

packSize

public static int packSize(int incount,
                           int datatype,
                           int comm)
Returns the upper bound on the amount of space needed to
pack a message

Parameters:
incount - count argument to packing call (integer)
datatype - datatype argument to packing call (handle)
comm - communicator argument to packing call (handle)
Returns:
upper bound on size of packed message, in bytes (integer)

typeDup

public static int typeDup(int type)
Duplicate a datatype

Parameters:
type - datatype (handle)
Returns:
copy of type (handle)

typeFree

public static void typeFree(int[] datatype)
Frees the datatype

Parameters:
datatype - datatype that is freed (handle)

typeSetName

public static void typeSetName(int type,
                               java.lang.String type_name)
set datatype name

Parameters:
type - datatype whose identifier is to be set (handle)
type_name - the character string which is remembered as the name (string)

unpack

public static void unpack(java.nio.Buffer inbuf,
                          int insize,
                          int[] position,
                          java.nio.Buffer outbuf,
                          int outcount,
                          int datatype,
                          int comm)
Unpack a buffer according to a datatype into contiguous memory

Parameters:
inbuf - input buffer start (choice)
insize - size of input buffer, in bytes (integer)
position - current position in bytes (integer)
outbuf -
outcount - number of items to be unpacked (integer)
datatype - datatype of each output data item (handle)
comm - communicator for packed message (handle)
See Also:
#pack, packSize(int, int, int)

typeGetName

public static int typeGetName(int type,
                              java.lang.String type_name)
Get the print name for a datatype

Parameters:
type - datatype whose name is to be returned (handle)
type_name -
Returns:
length of returned name (integer)

typeSize

public static int typeSize(int datatype)
Return the number of bytes occupied by entries
in the datatype

Parameters:
datatype - datatype (handle)
Returns:
datatype size (integer)

typeVector

public static int typeVector(int count,
                             int blocklength,
                             int stride,
                             int oldtype)
Creates a vector (strided) datatype

Parameters:
count - number of blocks (nonnegative integer)
blocklength - number of elements in each block
(nonnegative integer)
stride - number of elements between start of each block (integer)
oldtype - old datatype (handle)
Returns:
new datatype (handle)

typeCreateIndexedBlock

public static int typeCreateIndexedBlock(int count,
                                         int blocklength,
                                         int[] array_of_displacements,
                                         int oldtype)
Create an indexed
datatype with constant-sized blocks

Parameters:
count - length of array of displacements (integer)
blocklength - size of block (integer)
array_of_displacements - array of displacements (array of integer)
oldtype - old datatype (handle)
Returns:
new datatype (handle)

typeIndexed

public static int typeIndexed(int count,
                              int[] blocklens,
                              int[] indices,
                              int old_type)
Creates an indexed datatype

Parameters:
count - number of blocks -- also number of entries in indices and blocklens
blocklens - number of elements in each block (array of nonnegative integers)
indices - displacement of each block in multiples of old_type (array of
integers)
old_type - old datatype (handle)
Returns:
new datatype (handle)

typeMatchSize

public static int typeMatchSize(int typeclass,
                                int size)
Find an MPI datatype matching a specified size

Parameters:
typeclass - generic type specifier (integer)
size - size, in bytes, of representation (integer)
Returns:
datatype with correct type, size (handle)

typeCreateSubarray

public static int typeCreateSubarray(int ndims,
                                     int[] array_of_sizes,
                                     int[] array_of_subsizes,
                                     int[] array_of_starts,
                                     int order,
                                     int oldtype)
Create a datatype for a subarray of a regular,
multidimensional array

Parameters:
ndims - number of array dimensions (positive integer)
array_of_sizes - number of elements of type oldtype in each dimension of the
full array (array of positive integers)
array_of_subsizes - number of elements of type oldtype in each dimension of
the subarray (array of positive integers)
array_of_starts - starting coordinates of the subarray in each dimension
(array of nonnegative integers)
order - array storage order flag (state)
oldtype - array element datatype (handle)
Returns:
new datatype (handle)

commRemoteGroup

public static int commRemoteGroup(int comm)
Accesses the remote group associated with
the given inter-communicator

Parameters:
comm - Communicator (must be an intercommunicator) (handle)
Returns:
remote group of communicator (handle)
See Also:
#groupFree

commRank

public static int commRank(int comm)
Determines the rank of the calling process in the communicator

Parameters:
comm - communicator (handle)
Returns:
rank of the calling process in the group of 'comm' (integer)

intercommMerge

public static int intercommMerge(int comm,
                                 int high)
Creates an intracommuncator from an intercommunicator

Parameters:
comm - Intercommunicator (handle)
high - Used to order the groups within comm (logical)
when creating the new communicator. This is a boolean value; the group
that sets high true has its processes ordered `after` the group that sets
this value to false. If all processes in the intercommunicator provide
the same value, the choice of which group is ordered first is arbitrary.
Returns:
Created intracommunicator (handle)
See Also:
intercommCreate(int, int, int, int, int), commFree(int)

commCompare

public static int commCompare(int comm1,
                              int comm2)
Compares two communicators

Parameters:
comm1 - comm1 (handle)
comm2 - comm2 (handle)
Returns:
integer which is 'MPI_IDENT' if the contexts and groups are the same, 'MPI_CONGRUENT' if different contexts but identical groups, 'MPI_SIMILAR' if different contexts but similar groups, and 'MPI_UNEQUAL' otherwise Using 'MPI_COMM_NULL' with 'MPI_Comm_compare': It is an error to use 'MPI_COMM_NULL' as one of the arguments to 'MPI_Comm_compare'. The relevant sections of the MPI standard are $(2.4.1 Opaque Objects) A null handle argument is an erroneous 'IN' argument in MPI calls, unless an exception is explicitly stated in the text that defines the function. $(5.4.1. Communicator Accessors)

commSplit

public static int commSplit(int comm,
                            int color,
                            int key)
Creates new communicators based on colors and keys

Parameters:
comm - communicator (handle)
color - control of subset assignment (nonnegative integer). Processes
with the same color are in the same new communicator
key - control of rank assigment (integer)
Returns:
new communicator (handle)
See Also:
commFree(int)

commSetName

public static void commSetName(int comm,
                               java.lang.String MPI_Comm)
Sets the print name for a communicator

Parameters:
comm - communicator to name (handle)
- char *comm_name - Name for communicator
MPI_Comm - communicator to name (handle)

- char *comm_name - Name for communicator

commFree

public static void commFree(int comm)
Marks the communicator object for deallocation

Parameters:
comm - Communicator to be destroyed (handle)

commCreate

public static int commCreate(int comm,
                             int group)
Creates a new communicator

Parameters:
comm - communicator (handle)
group - group, which is a subset of the group of 'comm' (handle)
Returns:
new communicator (handle)
See Also:
commFree(int)

commRemoteSize

public static int commRemoteSize(int comm)
Determines the size of the remote group
associated with an inter-communictor

Parameters:
comm - communicator (handle)
Returns:
number of processes in the remote group of 'comm' (integer)

commSize

public static int commSize(int comm)
Determines the size of the group associated with a communicator

Parameters:
comm - communicator (handle)
Returns:
number of processes in the group of 'comm' (integer)

commTestInter

public static int commTestInter(int comm)
Tests to see if a comm is an inter-communicator

Parameters:
comm - communicator to test (handle)
Returns:
true if this is an inter-communicator(logical)

commDup

public static int commDup(int comm)
Duplicates an existing communicator with all its cached
information

Parameters:
comm - Communicator to be duplicated (handle)
Returns:
A new communicator over the same group as 'comm' but with a new context. See notes. (handle)
See Also:
commFree(int), #keyvalCreate, #attrPut, #attrDelete, #commCreateKeyval, #commSetAttr, #commDeleteAttr

commGroup

public static int commGroup(int comm)
Accesses the group associated with given communicator

Parameters:
comm - Communicator (handle)
Returns:
Group in communicator (handle)

intercommCreate

public static int intercommCreate(int local_comm,
                                  int local_leader,
                                  int peer_comm,
                                  int remote_leader,
                                  int tag)
Creates an intercommuncator from two intracommunicators

Parameters:
local_comm - Local (intra)communicator
local_leader - Rank in local_comm of leader (often 0)
peer_comm - Communicator used to communicate between a
designated process in the other communicator.
Significant only at the process in 'local_comm' with
rank 'local_leader'.
remote_leader - Rank in peer_comm of remote leader (often 0)
tag - Message tag to use in constructing intercommunicator; if multiple
'MPI_Intercomm_creates' are being made, they should use different tags (more
precisely, ensure that the local and remote leaders are using different
tags for each 'MPI_intercomm_create').
Returns:
Created intercommunicator
See Also:
intercommMerge(int, int), commFree(int), commRemoteGroup(int), commRemoteSize(int)

commGetName

public static int commGetName(int comm,
                              java.lang.String comm_name)
Return the print name from the communicator

Parameters:
comm - Communicator to get name of (handle)
comm_name -
Returns:
Number of characters in name

ibsend

public static int ibsend(java.nio.Buffer buf,
                         int count,
                         int datatype,
                         int dest,
                         int tag,
                         int comm)
Starts a nonblocking buffered send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)

wait

public static void wait(int[] request,
                        MPIStatus status)
Waits for an MPI request to complete

Parameters:
request - request (handle)
status -

rsendInit

public static int rsendInit(java.nio.Buffer buf,
                            int count,
                            int datatype,
                            int dest,
                            int tag,
                            int comm)
Creates a persistent request for a ready send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements sent (integer)
datatype - type of each element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)
See Also:
start(int[]), requestFree(int[]), sendInit(java.nio.Buffer, int, int, int, int, int)

bsendInit

public static int bsendInit(java.nio.Buffer buf,
                            int count,
                            int datatype,
                            int dest,
                            int tag,
                            int comm)
Builds a handle for a buffered send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements sent (integer)
datatype - type of each element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)
See Also:
bufferAttach(java.nio.Buffer, int)

ssend

public static void ssend(java.nio.Buffer buf,
                         int count,
                         int datatype,
                         int dest,
                         int tag,
                         int comm)
Blocking synchronous send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (nonnegative integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)

ssendInit

public static int ssendInit(java.nio.Buffer buf,
                            int count,
                            int datatype,
                            int dest,
                            int tag,
                            int comm)
Creates a persistent request for a synchronous send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements sent (integer)
datatype - type of each element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)

grequestComplete

public static void grequestComplete(int request)
Notify MPI that a user-defined request is complete

Parameters:
request - Generalized request to mark as complete
See Also:
#grequestStart

requestFree

public static void requestFree(int[] request)
Frees a communication request object

Parameters:
request - communication request (handle)
See Also:
MPI_Isend, MPI_Irecv, MPI_Issend, MPI_Ibsend, MPI_Irsend,
MPI_Recv_init, MPI_Send_init, MPI_Ssend_init, MPI_Rsend_init, MPI_Wait,
MPI_Test, MPI_Waitall, MPI_Waitany, MPI_Waitsome, MPI_Testall, MPI_Testany,
MPI_Testsome

rsend

public static void rsend(java.nio.Buffer buf,
                         int count,
                         int datatype,
                         int dest,
                         int tag,
                         int comm)
Blocking ready send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (nonnegative integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)

sendrecvReplace

public static void sendrecvReplace(java.nio.Buffer buf,
                                   int count,
                                   int datatype,
                                   int dest,
                                   int sendtag,
                                   int source,
                                   int recvtag,
                                   int comm,
                                   MPIStatus status)
Sends and receives using a single buffer

Parameters:
buf -
count - number of elements in send and receive buffer (integer)
datatype - type of elements in send and receive buffer (handle)
dest - rank of destination (integer)
sendtag - send message tag (integer)
source - rank of source (integer)
recvtag - receive message tag (integer)
comm - communicator (handle)
status -

statusSetCancelled

public static void statusSetCancelled(MPIStatus status,
                                      int flag)
Sets the cancelled state associated with a
Status object

Parameters:
status - status to associate cancel flag with (Status)
flag - if true indicates request was cancelled (logical)

irsend

public static int irsend(java.nio.Buffer buf,
                         int count,
                         int datatype,
                         int dest,
                         int tag,
                         int comm)
Starts a nonblocking ready send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)

sendInit

public static int sendInit(java.nio.Buffer buf,
                           int count,
                           int datatype,
                           int dest,
                           int tag,
                           int comm)
Create a persistent request for a standard send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements sent (integer)
datatype - type of each element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)
See Also:
start(int[]), startall(int, int[]), requestFree(int[])

test

public static int test(int[] request,
                       MPIStatus status)
Tests for the completion of a request

Parameters:
request - MPI request (handle)
status -
Returns:
true if operation completed (logical)

sendrecv

public static void sendrecv(java.nio.Buffer sendbuf,
                            int sendcount,
                            int sendtype,
                            int dest,
                            int sendtag,
                            java.nio.Buffer recvbuf,
                            int recvcount,
                            int recvtype,
                            int source,
                            int recvtag,
                            int comm,
                            MPIStatus status)
Sends and receives a message

Parameters:
sendbuf - initial address of send buffer (choice)
sendcount - number of elements in send buffer (integer)
sendtype - type of elements in send buffer (handle)
dest - rank of destination (integer)
sendtag - send tag (integer)
recvbuf -
recvcount - number of elements in receive buffer (integer)
recvtype - type of elements in receive buffer (handle)
source - rank of source (integer)
recvtag - receive tag (integer)
comm - communicator (handle)
status -

probe

public static void probe(int source,
                         int tag,
                         int comm,
                         MPIStatus status)
Blocking test for a message

Parameters:
source - source rank, or 'MPI_ANY_SOURCE' (integer)
tag - tag value or 'MPI_ANY_TAG' (integer)
comm - communicator (handle)
status -

testany

public static MPI.TestanyResult testany(int count,
                                        int[] array_of_requests,
                                        MPIStatus status)
Tests for completion of any previdously initiated
requests

Parameters:
count - list length (integer)
array_of_requests - array of requests (array of handles)
status -
Returns:
MPI.TestanyResult

requestGetStatus

public static int requestGetStatus(int request,
                                   MPIStatus status)
Nondestructive test for the completion of a Request

Parameters:
request - request (handle)
status -
Returns:
true if operation has completed (logical)

waitany

public static int waitany(int count,
                          int[] array_of_requests,
                          MPIStatus status)
Waits for any specified MPI Request to complete

Parameters:
count - list length (integer)
array_of_requests - array of requests (array of handles)
status -
Returns:
index of handle for operation that completed (integer). In the range '0' to 'count-1'. In Fortran, the range is '1' to 'count'.

irecv

public static int irecv(java.nio.Buffer buf,
                        int count,
                        int datatype,
                        int source,
                        int tag,
                        int comm)
Begins a nonblocking receive

Parameters:
buf - initial address of receive buffer (choice)
count - number of elements in receive buffer (integer)
datatype - datatype of each receive buffer element (handle)
source - rank of source (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)

bufferAttach

public static void bufferAttach(java.nio.Buffer buffer,
                                int size)
Attaches a user-provided buffer for sending

Parameters:
buffer - initial buffer address (choice)
size - buffer size, in bytes (integer)
See Also:
bufferDetach(java.nio.Buffer), bsend(java.nio.Buffer, int, int, int, int, int)

start

public static void start(int[] request)
Initiates a communication with a persistent request handle

Parameters:
request - communication request (handle)

recvInit

public static int recvInit(java.nio.Buffer buf,
                           int count,
                           int datatype,
                           int source,
                           int tag,
                           int comm)
Create a persistent request for a receive

Parameters:
buf - initial address of receive buffer (choice)
count - number of elements received (integer)
datatype - type of each element (handle)
source - rank of source or 'MPI_ANY_SOURCE' (integer)
tag - message tag or 'MPI_ANY_TAG' (integer)
comm - communicator (handle)
Returns:
communication request (handle)
See Also:
start(int[]), startall(int, int[]), requestFree(int[])

bsend

public static void bsend(java.nio.Buffer buf,
                         int count,
                         int datatype,
                         int dest,
                         int tag,
                         int comm)
Basic send with user-provided buffering

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (nonnegative integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
See Also:
bufferAttach(java.nio.Buffer, int), ibsend(java.nio.Buffer, int, int, int, int, int), bsendInit(java.nio.Buffer, int, int, int, int, int)

isend

public static int isend(java.nio.Buffer buf,
                        int count,
                        int datatype,
                        int dest,
                        int tag,
                        int comm)
Begins a nonblocking send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)

testCancelled

public static int testCancelled(MPIStatus status)
Tests to see if a request was cancelled

Parameters:
status - status object (Status)
Returns:
true if the request was cancelled, false otherwise (logical)

recv

public static void recv(java.nio.Buffer buf,
                        int count,
                        int datatype,
                        int source,
                        int tag,
                        int comm,
                        MPIStatus status)
Blocking receive for a message

Parameters:
buf -
count - maximum number of elements in receive buffer (integer)
datatype - datatype of each receive buffer element (handle)
source - rank of source (integer)
tag - message tag (integer)
comm - communicator (handle)
status -

cancel

public static void cancel(int[] request)
Cancels a communication request

Parameters:
request - communication request (handle)

startall

public static void startall(int count,
                            int[] array_of_requests)
Starts a collection of persistent requests

Parameters:
count - list length (integer)
array_of_requests - array of requests (array of handle)

bufferDetach

public static int bufferDetach(java.nio.Buffer buffer)
Removes an existing buffer (for use in MPI_Bsend etc)

Parameters:
buffer -
Returns:
buffer size, in bytes (integer)
See Also:
bufferAttach(java.nio.Buffer, int)

send

public static void send(java.nio.Buffer buf,
                        int count,
                        int datatype,
                        int dest,
                        int tag,
                        int comm)
Performs a blocking send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (nonnegative integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
See Also:
isend(java.nio.Buffer, int, int, int, int, int), bsend(java.nio.Buffer, int, int, int, int, int)

iprobe

public static int iprobe(int source,
                         int tag,
                         int comm,
                         MPIStatus status)
Nonblocking test for a message

Parameters:
source - source rank, or 'MPI_ANY_SOURCE' (integer)
tag - tag value or 'MPI_ANY_TAG' (integer)
comm - communicator (handle)
status -
Returns:
True if a message with the specified source, tag, and communicator is available (logical)

issend

public static int issend(java.nio.Buffer buf,
                         int count,
                         int datatype,
                         int dest,
                         int tag,
                         int comm)
Starts a nonblocking synchronous send

Parameters:
buf - initial address of send buffer (choice)
count - number of elements in send buffer (integer)
datatype - datatype of each send buffer element (handle)
dest - rank of destination (integer)
tag - message tag (integer)
comm - communicator (handle)
Returns:
communication request (handle)

queryThread

public static int queryThread()
Return the level of thread support provided by the MPI
library

Returns:
Level of thread support provided. This is the same value that was returned in the 'provided' argument in 'MPI_Init_thread'.

Finalize

public static void Finalize()
Terminates MPI execution environment


initialized

public static int initialized()
Indicates whether 'MPI_Init' has been called.

Returns:
Flag is true if 'MPI_Init' or 'MPI_Init_thread' has been called and false otherwise.

isThreadMain

public static int isThreadMain()
Returns a flag indicating whether this thread called
'MPI_Init' or 'MPI_Init_thread'

Returns:
Flag is true if 'MPI_Init' or 'MPI_Init_thread' has been called by this thread and false otherwise. (logical)

finalized

public static int finalized()
Indicates whether 'MPI_Finalize' has been called.

Returns:
Flag is true if 'MPI_Finalize' has been called and false otherwise. (logical)

abort

public static void abort(int comm,
                         int errorcode)
Terminates MPI execution environment

Parameters:
comm - communicator of tasks to abort
errorcode - error code to return to invoking environment

gather

public static void gather(java.nio.Buffer sendbuf,
                          int sendcount,
                          int sendtype,
                          java.nio.Buffer recvbuf,
                          int recvcount,
                          int recvtype,
                          int root,
                          int comm)
Gathers together values from a group of processes

Parameters:
sendbuf - starting address of send buffer (choice)
sendcount - number of elements in send buffer (integer)
sendtype - data type of send buffer elements (handle)
recvbuf -
recvcount - number of elements for any single receive (integer,
significant only at root)
recvtype - data type of recv buffer elements
(significant only at root) (handle)
root - rank of receiving process (integer)
comm - communicator (handle)

allgatherv

public static void allgatherv(java.nio.Buffer sendbuf,
                              int sendcount,
                              int sendtype,
                              java.nio.Buffer recvbuf,
                              int[] recvcounts,
                              int[] displs,
                              int recvtype,
                              int comm)
Gathers data from all tasks and deliver the combined data
to all tasks

Parameters:
sendbuf - starting address of send buffer (choice)
sendcount - number of elements in send buffer (integer)
sendtype - data type of send buffer elements (handle)
recvbuf -
recvcounts - integer array (of length group size)
containing the number of elements that are received from each process
displs - integer array (of length group size). Entry
'i' specifies the displacement (relative to recvbuf ) at
which to place the incoming data from process 'i'
recvtype - data type of receive buffer elements (handle)
comm - communicator (handle)

scatterv

public static void scatterv(java.nio.Buffer sendbuf,
                            int[] sendcounts,
                            int[] displs,
                            int sendtype,
                            java.nio.Buffer recvbuf,
                            int recvcount,
                            int recvtype,
                            int root,
                            int comm)
Scatters a buffer in parts to all processes in a communicator

Parameters:
sendbuf - address of send buffer (choice, significant only at 'root')
sendcounts - integer array (of length group size)
specifying the number of elements to send to each processor
displs - integer array (of length group size). Entry
'i' specifies the displacement (relative to sendbuf from
which to take the outgoing data to process 'i'
sendtype - data type of send buffer elements (handle)
recvbuf -
recvcount - number of elements in receive buffer (integer)
recvtype - data type of receive buffer elements (handle)
root - rank of sending process (integer)
comm - communicator (handle)

barrier

public static void barrier(int comm)
Blocks until all processes in the communicator have
reached this routine.

Parameters:
comm - communicator (handle)

bcast

public static void bcast(java.nio.Buffer buffer,
                         int count,
                         int datatype,
                         int root,
                         int comm)
Broadcasts a message from the process with rank "root" to
all other processes of the communicator

Parameters:
buffer - starting address of buffer (choice)
count - number of entries in buffer (integer)
datatype - data type of buffer (handle)
root - rank of broadcast root (integer)
comm - communicator (handle)

allreduce

public static void allreduce(java.nio.Buffer sendbuf,
                             java.nio.Buffer recvbuf,
                             int count,
                             int datatype,
                             int op,
                             int comm)
Combines values from all processes and distributes the result
back to all processes

Parameters:
sendbuf - starting address of send buffer (choice)
recvbuf -
count - number of elements in send buffer (integer)
datatype - data type of elements of send buffer (handle)
op - operation (handle)
comm - communicator (handle)

scatter

public static void scatter(java.nio.Buffer sendbuf,
                           int sendcount,
                           int sendtype,
                           java.nio.Buffer recvbuf,
                           int recvcount,
                           int recvtype,
                           int root,
                           int comm)
Sends data from one process to all other processes in a
communicator

Parameters:
sendbuf - address of send buffer (choice, significant
only at 'root')
sendcount - number of elements sent to each process
(integer, significant only at 'root')
sendtype - data type of send buffer elements (significant only at 'root')
(handle)
recvbuf -
recvcount - number of elements in receive buffer (integer)
recvtype - data type of receive buffer elements (handle)
root - rank of sending process (integer)
comm - communicator (handle)

gatherv

public static void gatherv(java.nio.Buffer sendbuf,
                           int sendcount,
                           int sendtype,
                           java.nio.Buffer recvbuf,
                           int[] recvcounts,
                           int[] displs,
                           int recvtype,
                           int root,
                           int comm)
Gathers into specified locations from all processes in a group

Parameters:
sendbuf - starting address of send buffer (choice)
sendcount - number of elements in send buffer (integer)
sendtype - data type of send buffer elements (handle)
recvbuf -
recvcounts - integer array (of length group size)
containing the number of elements that are received from each process
(significant only at 'root')
displs - integer array (of length group size). Entry
'i' specifies the displacement relative to recvbuf at
which to place the incoming data from process 'i' (significant only
at root)
recvtype - data type of recv buffer elements
(significant only at 'root') (handle)
root - rank of receiving process (integer)
comm - communicator (handle)

allgather

public static void allgather(java.nio.Buffer sendbuf,
                             int sendcount,
                             int sendtype,
                             java.nio.Buffer recvbuf,
                             int recvcount,
                             int recvtype,
                             int comm)
Gathers data from all tasks and distribute the combined
data to all tasks

Parameters:
sendbuf - starting address of send buffer (choice)
sendcount - number of elements in send buffer (integer)
sendtype - data type of send buffer elements (handle)
recvbuf -
recvcount - number of elements received from any process (integer)
recvtype - data type of receive buffer elements (handle)
comm - communicator (handle)

alltoallv

public static void alltoallv(java.nio.Buffer sendbuf,
                             int[] sendcounts,
                             int[] sdispls,
                             int sendtype,
                             java.nio.Buffer recvbuf,
                             int[] recvcounts,
                             int[] rdispls,
                             int recvtype,
                             int comm)
Sends data from all to all processes; each process may
send a different amount of data and provide displacements for the input
and output data.

Parameters:
sendbuf - starting address of send buffer (choice)
sendcounts - integer array equal to the group size
specifying the number of elements to send to each processor
sdispls - integer array (of length group size). Entry
'j' specifies the displacement (relative to sendbuf from
which to take the outgoing data destined for process 'j'
sendtype - data type of send buffer elements (handle)
recvbuf -
recvcounts - integer array equal to the group size
specifying the maximum number of elements that can be received from
each processor
rdispls - integer array (of length group size). Entry
'i' specifies the displacement (relative to recvbuf at
which to place the incoming data from process 'i'
recvtype - data type of receive buffer elements (handle)
comm - communicator (handle)

scan

public static void scan(java.nio.Buffer sendbuf,
                        java.nio.Buffer recvbuf,
                        int count,
                        int datatype,
                        int op,
                        int comm)
Computes the scan (partial reductions) of data on a collection of
processes

Parameters:
sendbuf - starting address of send buffer (choice)
recvbuf -
count - number of elements in input buffer (integer)
datatype - data type of elements of input buffer (handle)
op - operation (handle)
comm - communicator (handle)

reduceScatter

public static void reduceScatter(java.nio.Buffer sendbuf,
                                 java.nio.Buffer recvbuf,
                                 int[] recvcounts,
                                 int datatype,
                                 int op,
                                 int comm)
Combines values and scatters the results

Parameters:
sendbuf - starting address of send buffer (choice)
recvbuf -
recvcounts - integer array specifying the
number of elements in result distributed to each process.
Array must be identical on all calling processes.
datatype - data type of elements of input buffer (handle)
op - operation (handle)
comm - communicator (handle)

opFree

public static void opFree(int[] op)
Frees a user-defined combination function handle

Parameters:
op - operation (handle)
See Also:
#opCreate

reduce

public static void reduce(java.nio.Buffer sendbuf,
                          java.nio.Buffer recvbuf,
                          int count,
                          int datatype,
                          int op,
                          int root,
                          int comm)
Reduces values on all processes to a single value

Parameters:
sendbuf - address of send buffer (choice)
recvbuf -
count - number of elements in send buffer (integer)
datatype - data type of elements of send buffer (handle)
op - reduce operation (handle)
root - rank of root process (integer)
comm - communicator (handle)

exscan

public static void exscan(java.nio.Buffer sendbuf,
                          java.nio.Buffer recvbuf,
                          int count,
                          int datatype,
                          int op,
                          int comm)
Computes the exclusive scan (partial reductions) of data on a
collection of processes

Parameters:
sendbuf - starting address of send buffer (choice)
recvbuf -
count - number of elements in input buffer (integer)
datatype - data type of elements of input buffer (handle)
op - operation (handle)
comm - communicator (handle)

alltoall

public static void alltoall(java.nio.Buffer sendbuf,
                            int sendcount,
                            int sendtype,
                            java.nio.Buffer recvbuf,
                            int recvcount,
                            int recvtype,
                            int comm)
Sends data from all to all processes

Parameters:
sendbuf - starting address of send buffer (choice)
sendcount - number of elements to send to each process (integer)
sendtype - data type of send buffer elements (handle)
recvbuf -
recvcount - number of elements received from any process (integer)
recvtype - data type of receive buffer elements (handle)
comm - communicator (handle)

alltoallw

public static void alltoallw(java.nio.Buffer sendbuf,
                             int[] sendcounts,
                             int[] sdispls,
                             int[] sendtypes,
                             java.nio.Buffer recvbuf,
                             int[] recvcounts,
                             int[] rdispls,
                             int[] recvtypes,
                             int comm)
Generalized all-to-all communication allowing different
datatypes, counts, and displacements for each partner

Parameters:
sendbuf - starting address of send buffer (choice)
sendcounts - integer array equal to the group size specifying the number of
elements to send to each processor (integer)
sdispls - integer array (of length group size). Entry j specifies the
displacement in bytes (relative to sendbuf) from which to take the outgoing
data destined for process j
sendtypes - array of datatypes (of length group size). Entry j specifies the
type of data to send to process j (handle)
recvbuf -
recvcounts - integer array equal to the group size specifying the number of
elements that can be received from each processor (integer)
rdispls - integer array (of length group size). Entry i specifies the
displacement in bytes (relative to recvbuf) at which to place the incoming
data from process i
recvtypes - array of datatypes (of length group size). Entry i specifies
the type of data received from process i (handle)
comm - communicator (handle)