Package mpi

Class MPI


  • public final class MPI
    extends java.lang.Object
    MPI environment.
    • Field Detail

      • COMM_WORLD

        public static final Intracomm COMM_WORLD
      • COMM_SELF

        public static final Intracomm COMM_SELF
      • THREAD_SINGLE

        public static final int THREAD_SINGLE
      • THREAD_FUNNELED

        public static final int THREAD_FUNNELED
      • THREAD_SERIALIZED

        public static final int THREAD_SERIALIZED
      • THREAD_MULTIPLE

        public static final int THREAD_MULTIPLE
      • GRAPH

        public static final int GRAPH
      • DIST_GRAPH

        public static final int DIST_GRAPH
      • CART

        public static final int CART
      • ANY_SOURCE

        public static final int ANY_SOURCE
      • ANY_TAG

        public static final int ANY_TAG
      • MAX

        public static final Op MAX
      • MIN

        public static final Op MIN
      • SUM

        public static final Op SUM
      • PROD

        public static final Op PROD
      • LAND

        public static final Op LAND
      • BAND

        public static final Op BAND
      • LOR

        public static final Op LOR
      • BOR

        public static final Op BOR
      • LXOR

        public static final Op LXOR
      • BXOR

        public static final Op BXOR
      • REPLACE

        public static final Op REPLACE
      • NO_OP

        public static final Op NO_OP
      • MAXLOC

        public static final Op MAXLOC
        Global maximum operator. See MINLOC.
      • DATATYPE_NULL

        public static final Datatype DATATYPE_NULL
      • BYTE

        public static final Datatype BYTE
      • CHAR

        public static final Datatype CHAR
      • SHORT

        public static final Datatype SHORT
      • BOOLEAN

        public static final Datatype BOOLEAN
      • LONG

        public static final Datatype LONG
      • FLOAT

        public static final Datatype FLOAT
      • DOUBLE

        public static final Datatype DOUBLE
      • PACKED

        public static final Datatype PACKED
      • FLOAT_COMPLEX

        public static final Datatype FLOAT_COMPLEX
      • DOUBLE_COMPLEX

        public static final Datatype DOUBLE_COMPLEX
      • INT2

        public static final Datatype INT2
        Struct which must be used with int2.
      • SHORT_INT

        public static final Datatype SHORT_INT
        Struct which must be used with shortInt.
      • LONG_INT

        public static final Datatype LONG_INT
        Struct which must be used with longInt.
      • FLOAT_INT

        public static final Datatype FLOAT_INT
        Struct which must be used with floatInt.
      • DOUBLE_INT

        public static final Datatype DOUBLE_INT
        Struct which must be used with doubleInt.
      • int2

        public static final Int2 int2
        Struct object for INT2 datatype.
      • shortInt

        public static final ShortInt shortInt
        Struct object for SHORT_INT datatype.
      • longInt

        public static final LongInt longInt
        Struct object for LONG_INT datatype.
      • floatInt

        public static final FloatInt floatInt
        Struct object for FLOAT_INT datatype.
      • REQUEST_NULL

        public static final Request REQUEST_NULL
      • GROUP_EMPTY

        public static final Group GROUP_EMPTY
      • INFO_ENV

        public static final Info INFO_ENV
      • INFO_NULL

        public static final Info INFO_NULL
      • PROC_NULL

        public static final int PROC_NULL
      • UNDEFINED

        public static final int UNDEFINED
      • IDENT

        public static final int IDENT
      • CONGRUENT

        public static final int CONGRUENT
      • SIMILAR

        public static final int SIMILAR
      • UNEQUAL

        public static final int UNEQUAL
      • TAG_UB

        public static final int TAG_UB
      • HOST

        public static final int HOST
      • IO

        public static final int IO
      • WTIME_IS_GLOBAL

        public static final int WTIME_IS_GLOBAL
      • APPNUM

        public static final int APPNUM
      • LASTUSEDCODE

        public static final int LASTUSEDCODE
      • UNIVERSE_SIZE

        public static final int UNIVERSE_SIZE
      • WIN_BASE

        public static final int WIN_BASE
      • WIN_SIZE

        public static final int WIN_SIZE
      • WIN_DISP_UNIT

        public static final int WIN_DISP_UNIT
      • VERSION

        public static final int VERSION
      • SUBVERSION

        public static final int SUBVERSION
      • ROOT

        public static final int ROOT
      • KEYVAL_INVALID

        public static final int KEYVAL_INVALID
      • BSEND_OVERHEAD

        public static final int BSEND_OVERHEAD
      • MAX_OBJECT_NAME

        public static final int MAX_OBJECT_NAME
      • MAX_PORT_NAME

        public static final int MAX_PORT_NAME
      • MAX_DATAREP_STRING

        public static final int MAX_DATAREP_STRING
      • MAX_INFO_KEY

        public static final int MAX_INFO_KEY
      • MAX_INFO_VAL

        public static final int MAX_INFO_VAL
      • ORDER_C

        public static final int ORDER_C
      • ORDER_FORTRAN

        public static final int ORDER_FORTRAN
      • DISTRIBUTE_BLOCK

        public static final int DISTRIBUTE_BLOCK
      • DISTRIBUTE_CYCLIC

        public static final int DISTRIBUTE_CYCLIC
      • DISTRIBUTE_NONE

        public static final int DISTRIBUTE_NONE
      • DISTRIBUTE_DFLT_DARG

        public static final int DISTRIBUTE_DFLT_DARG
      • MODE_CREATE

        public static final int MODE_CREATE
      • MODE_RDONLY

        public static final int MODE_RDONLY
      • MODE_WRONLY

        public static final int MODE_WRONLY
      • MODE_RDWR

        public static final int MODE_RDWR
      • MODE_DELETE_ON_CLOSE

        public static final int MODE_DELETE_ON_CLOSE
      • MODE_UNIQUE_OPEN

        public static final int MODE_UNIQUE_OPEN
      • MODE_EXCL

        public static final int MODE_EXCL
      • MODE_APPEND

        public static final int MODE_APPEND
      • MODE_SEQUENTIAL

        public static final int MODE_SEQUENTIAL
      • DISPLACEMENT_CURRENT

        public static final int DISPLACEMENT_CURRENT
      • SEEK_SET

        public static final int SEEK_SET
      • SEEK_CUR

        public static final int SEEK_CUR
      • SEEK_END

        public static final int SEEK_END
      • MODE_NOCHECK

        public static final int MODE_NOCHECK
      • MODE_NOPRECEDE

        public static final int MODE_NOPRECEDE
      • MODE_NOPUT

        public static final int MODE_NOPUT
      • MODE_NOSTORE

        public static final int MODE_NOSTORE
      • MODE_NOSUCCEED

        public static final int MODE_NOSUCCEED
      • LOCK_EXCLUSIVE

        public static final int LOCK_EXCLUSIVE
      • LOCK_SHARED

        public static final int LOCK_SHARED
      • ERRORS_ARE_FATAL

        public static final Errhandler ERRORS_ARE_FATAL
      • ERRORS_RETURN

        public static final Errhandler ERRORS_RETURN
      • SUCCESS

        public static final int SUCCESS
      • ERR_BUFFER

        public static final int ERR_BUFFER
      • ERR_COUNT

        public static final int ERR_COUNT
      • ERR_TYPE

        public static final int ERR_TYPE
      • ERR_TAG

        public static final int ERR_TAG
      • ERR_COMM

        public static final int ERR_COMM
      • ERR_RANK

        public static final int ERR_RANK
      • ERR_REQUEST

        public static final int ERR_REQUEST
      • ERR_ROOT

        public static final int ERR_ROOT
      • ERR_GROUP

        public static final int ERR_GROUP
      • ERR_OP

        public static final int ERR_OP
      • ERR_TOPOLOGY

        public static final int ERR_TOPOLOGY
      • ERR_DIMS

        public static final int ERR_DIMS
      • ERR_ARG

        public static final int ERR_ARG
      • ERR_UNKNOWN

        public static final int ERR_UNKNOWN
      • ERR_TRUNCATE

        public static final int ERR_TRUNCATE
      • ERR_OTHER

        public static final int ERR_OTHER
      • ERR_INTERN

        public static final int ERR_INTERN
      • ERR_IN_STATUS

        public static final int ERR_IN_STATUS
      • ERR_PENDING

        public static final int ERR_PENDING
      • ERR_ACCESS

        public static final int ERR_ACCESS
      • ERR_AMODE

        public static final int ERR_AMODE
      • ERR_ASSERT

        public static final int ERR_ASSERT
      • ERR_BAD_FILE

        public static final int ERR_BAD_FILE
      • ERR_BASE

        public static final int ERR_BASE
      • ERR_CONVERSION

        public static final int ERR_CONVERSION
      • ERR_DISP

        public static final int ERR_DISP
      • ERR_DUP_DATAREP

        public static final int ERR_DUP_DATAREP
      • ERR_FILE_EXISTS

        public static final int ERR_FILE_EXISTS
      • ERR_FILE_IN_USE

        public static final int ERR_FILE_IN_USE
      • ERR_FILE

        public static final int ERR_FILE
      • ERR_INFO_KEY

        public static final int ERR_INFO_KEY
      • ERR_INFO_NOKEY

        public static final int ERR_INFO_NOKEY
      • ERR_INFO_VALUE

        public static final int ERR_INFO_VALUE
      • ERR_INFO

        public static final int ERR_INFO
      • ERR_IO

        public static final int ERR_IO
      • ERR_KEYVAL

        public static final int ERR_KEYVAL
      • ERR_LOCKTYPE

        public static final int ERR_LOCKTYPE
      • ERR_NAME

        public static final int ERR_NAME
      • ERR_NO_MEM

        public static final int ERR_NO_MEM
      • ERR_NOT_SAME

        public static final int ERR_NOT_SAME
      • ERR_NO_SPACE

        public static final int ERR_NO_SPACE
      • ERR_NO_SUCH_FILE

        public static final int ERR_NO_SUCH_FILE
      • ERR_PORT

        public static final int ERR_PORT
      • ERR_QUOTA

        public static final int ERR_QUOTA
      • ERR_READ_ONLY

        public static final int ERR_READ_ONLY
      • ERR_RMA_CONFLICT

        public static final int ERR_RMA_CONFLICT
      • ERR_RMA_SYNC

        public static final int ERR_RMA_SYNC
      • ERR_SERVICE

        public static final int ERR_SERVICE
      • ERR_SIZE

        public static final int ERR_SIZE
      • ERR_SPAWN

        public static final int ERR_SPAWN
      • ERR_UNSUPPORTED_DATAREP

        public static final int ERR_UNSUPPORTED_DATAREP
      • ERR_UNSUPPORTED_OPERATION

        public static final int ERR_UNSUPPORTED_OPERATION
      • ERR_WIN

        public static final int ERR_WIN
      • ERR_LASTCODE

        public static final int ERR_LASTCODE
      • ERR_SYSRESOURCE

        public static final int ERR_SYSRESOURCE
    • Constructor Detail

      • MPI

        public MPI()
    • Method Detail

      • Init

        public static java.lang.String[] Init​(java.lang.String[] args)
                                       throws MPIException
        Initialize MPI.

        Java binding of the MPI operation MPI_INIT.

        Parameters:
        args - arguments to the main method.
        Returns:
        arguments
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • InitThread

        public static int InitThread​(java.lang.String[] args,
                                     int required)
                              throws MPIException
        Initialize MPI with threads.

        Java binding of the MPI operation MPI_INIT_THREAD.

        Parameters:
        args - arguments to the main method.
        required - desired level of thread support
        Returns:
        provided level of thread support
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • queryThread

        public static int queryThread()
                               throws MPIException
        Java binding of the MPI operation MPI_QUERY_THREAD.
        Returns:
        provided level of thread support
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • isThreadMain

        public static boolean isThreadMain()
                                    throws MPIException
        Java binding of the MPI operation MPI_IS_THREAD_MAIN.
        Returns:
        true if it is the main thread
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • Finalize

        public static void Finalize()
                             throws MPIException
        Finalize MPI.

        Java binding of the MPI operation MPI_FINALIZE.

        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • wtime

        public static double wtime()
                            throws MPIException
        Returns an elapsed time on the calling processor.

        Java binding of the MPI operation MPI_WTIME.

        Returns:
        time in seconds since an arbitrary time in the past.
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • wtick

        public static double wtick()
                            throws MPIException
        Returns resolution of timer.

        Java binding of the MPI operation MPI_WTICK.

        Returns:
        resolution of wtime in seconds.
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • getVersion

        public static Version getVersion()
        Returns a version object representing the version of MPI being used.

        Java binding of the MPI operation MPI_GET_VERSION.

        Returns:
        A version object representing the version and subversion of MPI being used.
      • getLibVersion

        public static java.lang.String getLibVersion()
        Returns the version of the MPI Library

        Java binding of the MPI operation MPI_GET_LIBRARY_VERSION.

        Returns:
        A string representation of the MPI Library
      • getProcessorName

        public static java.lang.String getProcessorName()
                                                 throws MPIException
        Returns the name of the processor on which it is called.

        Java binding of the MPI operation MPI_GET_PROCESSOR_NAME.

        Returns:
        A unique specifier for the actual node.
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • isInitialized

        public static boolean isInitialized()
                                     throws MPIException
        Test if MPI has been initialized.

        Java binding of the MPI operation MPI_INITIALIZED.

        Returns:
        true if Init has been called, false otherwise.
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • isFinalized

        public static boolean isFinalized()
                                   throws MPIException
        Test if MPI has been finalized.

        Java binding of the MPI operation MPI_FINALIZED.

        Returns:
        true if Finalize has been called, false otherwise.
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • attachBuffer

        public static void attachBuffer​(byte[] buffer)
                                 throws MPIException
        Attaches a user-provided buffer for sending.

        Java binding of the MPI operation MPI_BUFFER_ATTACH.

        Parameters:
        buffer - initial buffer
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • detachBuffer

        public static byte[] detachBuffer()
                                   throws MPIException
        Removes an existing buffer (for use in sending).

        Java binding of the MPI operation MPI_BUFFER_DETACH.

        Returns:
        initial buffer
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • check

        protected static void check()
                             throws MPIException
        Check if MPI has been initialized and hasn't been finalized.
        Throws:
        MPIException - Signals that an MPI exception of some sort has occurred.
      • newByteBuffer

        public static java.nio.ByteBuffer newByteBuffer​(int capacity)
        Allocates a new direct byte buffer.
        Parameters:
        capacity - The new buffer's capacity, in bytes
        Returns:
        The new byte buffer
      • newCharBuffer

        public static java.nio.CharBuffer newCharBuffer​(int capacity)
        Allocates a new direct char buffer.
        Parameters:
        capacity - The new buffer's capacity, in chars
        Returns:
        The new char buffer
      • newShortBuffer

        public static java.nio.ShortBuffer newShortBuffer​(int capacity)
        Allocates a new direct short buffer.
        Parameters:
        capacity - The new buffer's capacity, in shorts
        Returns:
        The new short buffer
      • newIntBuffer

        public static java.nio.IntBuffer newIntBuffer​(int capacity)
        Allocates a new direct int buffer.
        Parameters:
        capacity - The new buffer's capacity, in ints
        Returns:
        The new int buffer
      • newLongBuffer

        public static java.nio.LongBuffer newLongBuffer​(int capacity)
        Allocates a new direct long buffer.
        Parameters:
        capacity - The new buffer's capacity, in longs
        Returns:
        The new long buffer
      • newFloatBuffer

        public static java.nio.FloatBuffer newFloatBuffer​(int capacity)
        Allocates a new direct float buffer.
        Parameters:
        capacity - The new buffer's capacity, in floats
        Returns:
        The new float buffer
      • newDoubleBuffer

        public static java.nio.DoubleBuffer newDoubleBuffer​(int capacity)
        Allocates a new direct double buffer.
        Parameters:
        capacity - The new buffer's capacity, in doubles
        Returns:
        The new double buffer
      • assertDirectBuffer

        protected static void assertDirectBuffer​(java.nio.Buffer buf)
        Asserts that a buffer is direct.
        Parameters:
        buf - buffer
      • assertDirectBuffer

        protected static void assertDirectBuffer​(java.nio.Buffer sendbuf,
                                                 java.nio.Buffer recvbuf)
        Asserts that buffers are direct.
        Parameters:
        sendbuf - The send buffer
        recvbuf - The receive buffer
      • isDirectBuffer

        protected static boolean isDirectBuffer​(java.lang.Object obj)
        Checks if an object is a direct buffer.
        Parameters:
        obj - object
        Returns:
        true if the object is a direct buffer
      • isHeapBuffer

        protected static boolean isHeapBuffer​(java.lang.Object obj)
        Checks if an object is a heap buffer.
        Parameters:
        obj - object
        Returns:
        true if the object is a heap buffer
      • slice

        public static java.nio.ByteBuffer slice​(java.nio.ByteBuffer buf,
                                                int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.CharBuffer slice​(java.nio.CharBuffer buf,
                                                int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.ShortBuffer slice​(java.nio.ShortBuffer buf,
                                                 int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.IntBuffer slice​(java.nio.IntBuffer buf,
                                               int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.LongBuffer slice​(java.nio.LongBuffer buf,
                                                int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.FloatBuffer slice​(java.nio.FloatBuffer buf,
                                                 int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.DoubleBuffer slice​(java.nio.DoubleBuffer buf,
                                                  int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.ByteBuffer slice​(byte[] buf,
                                                int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.CharBuffer slice​(char[] buf,
                                                int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.ShortBuffer slice​(short[] buf,
                                                 int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.IntBuffer slice​(int[] buf,
                                               int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.LongBuffer slice​(long[] buf,
                                                int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.FloatBuffer slice​(float[] buf,
                                                 int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.
      • slice

        public static java.nio.DoubleBuffer slice​(double[] buf,
                                                  int offset)
        Creates a new buffer whose content is a shared subsequence of a buffer.

        The content of the new buffer will start at the specified offset.

        Parameters:
        buf - buffer
        offset - offset
        Returns:
        the new buffer.