Developer Reference

  • 2020 Update 2
  • 07/15/2020
  • Public Content

Java* Bindings for MPI-2 Routines

Intel® MPI Library provides an experimental feature to enable support for Java* MPI applications. Intel MPI Library provides Java bindings for a subset of MPI-2 routines.
You can find all supported MPI routines in the table below. All the classes below belong to the
mpi
package.
  • For static methods, parameters fully correspond to the ones of C routines.
  • For non-static methods, the object that calls the method corresponds to the
    OUT
    parameter of the original C routine.
Java* Bindings for MPI-2 Routines
Java Class
Public Fields and Methods
Original C Routine
MPI
static int Init(String[] args)
MPI_Init
static void Finalize()
MPI_Finalize
static double wTime()
MPI_Wtime
static void abort(Comm comm, int errorCode)
MPI_Abort
String getProcessorName()
MPI_Get_processor_name
Aint
static void getExtent(Datatype dt, Aint lb, Aint extent)
MPI_Type_get_extent
static void getTrueExtent(Datatype dt, Aint true_lb, Aint true_extent)
MPI_Type_get_true_extent
static void getAddress(long location, Aint address)
MPI_Get_address
static void getContents(Datatype dt, int maxIntegers, int maxAddresses, int maxDatatypes, int[] integers, Aint[] addresses, Datatype[] datatypes)
MPI_Type_get_contents
Collective
static void allToAll(Object sendbuf, int sendcount, Datatype sendtype, Object recvbuf, int recvcount, Datatype recvtype, Comm comm)
MPI_Alltoall
static void reduce(Object sendbuf, Object recvbuf, int count, Datatype type, Op op, int root, Comm comm)
MPI_Reduce
static void bcast(Object buffer, int count, Datatype type, int root, Comm comm)
MPI_Bcast
static void gather(Object sendBuffer, int sendCount, Datatype sendType, Object recvBuffer, int recvCount, Datatype recvType, int root, Comm comm)
MPI_Gather
static void gatherv(Object sendBuffer, int sendCount, Datatype sendType, Object recvBuffer, Object recvCount, Object displs, Datatype recvType, int root, Comm comm)
MPI_Gatherv
static void allGather(Object sendBuffer, int sendCount, Datatype sendType, Object recvBuffer, int recvCount, Datatype recvType, Comm comm)
MPI_Allgather
static void allGatherv(Object sendBuffer, int sendCount, Datatype sendType, Object recvBuffer, Object recvCount, Object displs, Datatype recvType, Comm comm)
MPI_Allgatherv
static void allReduce(Object sendbuf, Object recvbuf, int count, Datatype type, Op op, Comm comm)
MPI_Allreduce
static void allToAllv(Object sendbuf, Object sendCount, Object sdispls, Datatype sendType, Object recvbuf, Object recvCount, Object rdispls, Datatype recvType, Comm comm)
MPI_Alltoallv
static void reduceScatter(Object sendbuf, Object recvbuf, Object recvcounts, Datatype type, Op op, Comm comm)
MPI_Reduce_scatter
static void scatter(Object sendBuffer, int sendCount, Datatype sendType, Object recvBuffer, int recvCount, Datatype recvType, int root, Comm comm)
MPI_Scatter
static void scatterv(Object sendBuffer, Object sendCount, Object displs, Datatype sendType, Object recvBuffer, int recvCount, Datatype recvType, int root, Comm comm)
MPI_Scatterv
static void barrier(Comm comm)
MPI_Barrier
Comm
Static field:
Comm WORLD
MPI_COMM_WORLD
Static field:
Comm SELF
MPI_COMM_SELF
int getSize()
MPI_Comm_size
int getRank()
MPI_Comm_rank
Comm create(Group group)
MPI_Comm_create
static Comm create(Comm comm, Group group)
MPI_Comm_create
Comm dup()
MPI_Comm_dup
Comm split(int color, int key)
MPI_Comm_split
Group
Static field:
int MPI_PROC_NULL
MPI_PROC_NULL
Static field:
int MPI_IDENT
MPI_IDENT
Static field:
int MPI_CONGRUENT
MPI_CONGRUENT
Static field:
int MPI_SIMILAR
MPI_SIMILAR
Static field:
int MPI_UNEQUAL
MPI_UNEQUAL
Static field:
Group WORLD
MPI_GROUP_WORLD
void group(Comm comm)
MPI_Comm_group
int getSize()
MPI_Group_size
int getRank()
MPI_Group_rank
int MPI_Group_translate_ranks(int[] ranks1, Group group2, int[] ranks2)
MPI_Group_translate_ranks
static int MPI_Group_translate_ranks(Group group1, int[] ranks1, Group group2, int[] ranks2)
MPI_Group_translate_ranks
int MPI_Group_compare(Group group2)
MPI_Group_compare
int MPI_Group_union(Group group1, Group group2)
MPI_Group_union
int MPI_Group_intersection(Group group1, Group group2)
MPI_Group_intersection
int MPI_Group_difference(Group group1, Group group2)
MPI_Group_difference
int MPI_Group_incl(Group group, int n, int[] ranks)
MPI_Group_incl
int MPI_Group_excl(Group group, int n, int[] ranks)
MPI_Group_excl
Datatype
Static field:
Datatype NULL
MPI_DATATYPE_NULL
Static field:
Datatype BYTE
MPI_UINT8_T
Static field:
Datatype CHAR
MPI_CHAR
Static field:
Datatype SHORT
MPI_INT16_T
Static field:
Datatype BOOLEAN
MPI_UINT8_T
Static field:
Datatype INT
MPI_INT32_T
Static field:
Datatype LONG
MPI_INT64_T
Static field:
Datatype FLOAT
MPI_FLOAT
Static field:
Datatype DOUBLE
MPI_DOUBLE
Static field:
Datatype PACKED
MPI_PACKED
Static field:
Datatype INT2
MPI_2INT
Static field:
Datatype SHORT_INT
MPI_SHORT_INT
Static field:
Datatype LONG_INT
MPI_LONG_INT
Static field:
Datatype FLOAT_INT
MPI_FLOAT_INT
Static field:
Datatype DOUBLE_INT
MPI_DOUBLE_INT
Static field:
Datatype FLOAT_COMPLEX
MPI_C_FLOAT_COMPLEX
Static field:
Datatype DOUBLE_COMPLEX
MPI_C_DOUBLE_COMPLEX
void contiguous(int count, Datatype type)
MPI_Type_contiguous
void commit()
MPI_Type_commit
int getTypeSize()
MPI_Type_size
void free()
MPI_Type_free
void vector(int count, int blockLength, int stride, Datatype baseType)
MPI_Type_vector
void hvector(int count, int blockLength, int stride, Datatype oldType)
MPI_Type_create_hvector
void indexed(int count, int[] blockLength, int[] displacement, Datatype oldType)
MPI_Type_indexed
void hindexed(int count, int[] blockLength, Aint[] displacement, Datatype oldType)
MPI_Type_create_hindexed
void struct(int count, int[] blockLength, Aint[] displacement, Datatype[] oldTypes)
MPI_Type_struct
Op
Static field:
Op MPI_OP_NULL
MPI_OP_NULL
Static field:
Op MPI_MAX
MPI_MAX
Static field:
Op MPI_MIN
MPI_MIN
Static field:
Op MPI_SUM
MPI_SUM
Static field:
Op MPI_PROD
MPI_PROD
Static field:
Op MPI_LAND
MPI_LAND
Static field:
Op MPI_BAND
MPI_BAND
Static field:
Op MPI_LOR
MPI_LOR
Static field:
Op MPI_BOR
MPI_BOR
Static field:
Op MPI_LXOR
MPI_LXOR
Static field:
Op MPI_BXOR
MPI_BXOR
Static field:
Op MPI_MINLOC
MPI_MINLOC
Static field:
Op MPI_MAXLOC
MPI_MAXLOC
Op(UserFunction uf)
-
void setUserFunction(UserFunction userFunction)
-
void createOP(boolean commute)
MPI_Op_Create
UserFunction
(abstract)
UserFunction(Datatype type, int length)
-
void setInoutvec(ByteBuffer inoutvec)
-
void setInvec(ByteBuffer invec)
-
abstract void call(int type, int length)
-
PTP
static void send(Buffer buffer, int count, Datatype type, int dest, int tag, Comm comm)
MPI_Send
static void send(<java array> buffer, int count, Datatype type, int dest, int tag, Comm comm)
MPI_Send
static Status recv(Buffer buf, int count, Datatype type, int source, int tag, Comm comm)
MPI_Recv
static Status recv(<java array> buf, int count, Datatype type, int source, int tag, Comm comm)
MPI_Recv
static Request isend(Buffer buffer, int count, Datatype type, int dest, int tag, Comm comm)
MPI_Isend
static Request isend(<java array> buffer, int count, Datatype type, int dest, int tag, Comm comm)
MPI_Isend
static Request irecv(Buffer buf, int count, Datatype type, int source, int tag, Comm comm)
MPI_Irecv
static Request irecv(<java array> buf, int count, Datatype type, int source, int tag, Comm comm)
MPI_Irecv
static Status sendRecv(Buffer sendbuf, int sendcount, Datatype sendtype, int senddest, int sendtag, Buffer recvbuf, int recvcount, Datatype recvtype, int recvsource, int recvtag, Comm comm)
MPI_Sendrecv
Request
Status Wait()
MPI_Wait
static Status[] waitAll(int count, Request[] reqs)
MPI_Waitall
static Status waitAny(int count, Request[] reqs, int[] index)
MPI_Waitany
static Status[] waitSome(int count, Request[] reqs, int[] outcount, int[] indexes)
MPI_Waitsome
boolean test(Status status)
MPI_Test

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804