Class Intracomm
-
Field Summary
Fields inherited from class mpi.Comm
handle, SELF, TYPE_SHARED, WORLD
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Intercomm
Java binding ofMPI_COMM_ACCEPT
usingMPI_INFO_NULL
.final Intercomm
Java binding ofMPI_COMM_ACCEPT
.clone()
Duplicates this communicator.static void
Java binding ofMPI_CLOSE_PORT
.final Intercomm
Java binding ofMPI_COMM_CONNECT
usingMPI_INFO_NULL
.final Intercomm
Java binding ofMPI_COMM_CONNECT
.final Intracomm
Create a new communicator.final CartComm
createCart
(int[] dims, boolean[] periods, boolean reorder) Creates a communicator to which the Cartesian topology information is attached.final GraphComm
createDistGraph
(int[] sources, int[] degrees, int[] destinations, int[] weights, Info info, boolean reorder) Creates a communicator to which the distributed graph topology information is attached.final GraphComm
createDistGraph
(int[] sources, int[] degrees, int[] destinations, Info info, boolean reorder) Creates a communicator to which the distributed graph topology information is attached.final GraphComm
createDistGraphAdjacent
(int[] sources, int[] sourceWeights, int[] destinations, int[] destWeights, Info info, boolean reorder) Creates a communicator to which the distributed graph topology information is attached.final GraphComm
createDistGraphAdjacent
(int[] sources, int[] destinations, Info info, boolean reorder) Creates a communicator to which the distributed graph topology information is attached.final GraphComm
createGraph
(int[] index, int[] edges, boolean reorder) Creates a communicator to which the graph topology information is attached.final Intracomm
createGroup
(Group group, int tag) Create a new intracommunicator for the given group.dup()
Duplicates this communicator.dupWithInfo
(Info info) Duplicates this communicator with the info object used in the call.final void
Perform a prefix reduction on data distributed across the group.final void
Perform a prefix reduction on data distributed across the group.iDup()
Duplicates this communicator.final Request
Perform a prefix reduction on data distributed across the group.final Request
Perform a prefix reduction on data distributed across the group.final Request
Perform a prefix reduction on data distributed across the group.final Request
Perform a prefix reduction on data distributed across the group.static String
lookupName
(String service) Java binding ofMPI_LOOKUP_NAME
usingMPI_INFO_NULL
.static String
lookupName
(String service, Info info) Java binding ofMPI_LOOKUP_NAME
.static String
openPort()
Java binding ofMPI_OPEN_PORT
usingMPI_INFO_NULL
.static String
Java binding ofMPI_OPEN_PORT
.static void
publishName
(String service, String port) Java binding ofMPI_PUBLISH_NAME
usingMPI_INFO_NULL
.static void
publishName
(String service, Info info, String port) Java binding ofMPI_PUBLISH_NAME
.final void
Perform a prefix reduction on data distributed across the group.final void
Perform a prefix reduction on data distributed across the group.final Intercomm
Java binding ofMPI_COMM_SPAWN
.final Intercomm
spawnMultiple
(String[] commands, String[][] argv, int[] maxprocs, Info[] info, int root, int[] errcodes) Java binding ofMPI_COMM_SPAWN_MULTIPLE
.final Intracomm
split
(int colour, int key) Partition the group associated with this communicator and create a new communicator within each subgroup.final Intracomm
Partition the group associated with this communicator and create a new communicator within each subgroup.static void
unpublishName
(String service, String port) Java binding ofMPI_UNPUBLISH_NAME
usingMPI_INFO_NULL
.static void
unpublishName
(String service, Info info, String port) Java binding ofMPI_UNPUBLISH_NAME
.Methods inherited from class mpi.Comm
abort, allGather, allGather, allGatherv, allGatherv, allReduce, allReduce, allToAll, allToAllv, allToAllw, barrier, bcast, bSend, bSendInit, callErrhandler, compare, createIntercomm, createKeyval, deleteAttr, disconnect, dup, dupWithInfo, free, freeKeyval, gather, gather, gatherv, gatherv, gatherv, getAttr, getErrhandler, getGroup, getInfo, getName, getRank, getRequest, getSize, getTopology, iAllGather, iAllGather, iAllGatherv, iAllGatherv, iAllReduce, iAllReduce, iAllToAll, iAllToAllv, iAllToAllw, iBarrier, iBcast, ibSend, iDup, iGather, iGather, iGatherv, iGatherv, iGatherv, iNeighborAllGather, iNeighborAllGatherv, iNeighborAllToAll, iNeighborAllToAllv, iProbe, iRecv, iReduce, iReduce, iReduceScatter, iReduceScatter, iReduceScatterBlock, iReduceScatterBlock, irSend, iScatter, iScatter, iScatterv, iScatterv, iScatterv, iSend, isInter, isNull, isSend, neighborAllGather, neighborAllGatherv, neighborAllToAll, neighborAllToAllv, pack, packSize, probe, recv, recvInit, reduce, reduce, reduceLocal, reduceScatter, reduceScatter, reduceScatterBlock, reduceScatterBlock, rSend, rSendInit, scatter, scatter, scatterv, scatterv, scatterv, send, sendInit, sendRecv, sendRecvReplace, setAttr, setErrhandler, setInfo, setName, setType, sSend, sSendInit, unpack
-
Constructor Details
-
Intracomm
protected Intracomm() -
Intracomm
protected Intracomm(long handle) -
Intracomm
protected Intracomm(long[] commRequest)
-
-
Method Details
-
clone
Duplicates this communicator.Java binding of
MPI_COMM_DUP
.It is recommended to use
dup()
instead ofclone()
because the last can't throw anMPIException
. -
dup
Duplicates this communicator.Java binding of
MPI_COMM_DUP
.- Overrides:
dup
in classComm
- Returns:
- copy of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iDup
Duplicates this communicator.Java binding of
MPI_COMM_IDUP
.The new communicator can't be used before the operation completes. The request object must be obtained calling
Comm.getRequest()
.- Overrides:
iDup
in classComm
- Returns:
- copy of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
dupWithInfo
Duplicates this communicator with the info object used in the call.Java binding of
MPI_COMM_DUP_WITH_INFO
.- Overrides:
dupWithInfo
in classComm
- Parameters:
info
- info object to associate with the new communicator- Returns:
- copy of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
split
Partition the group associated with this communicator and create a new communicator within each subgroup.Java binding of the MPI operation
MPI_COMM_SPLIT
.- Parameters:
colour
- control of subset assignmentkey
- control of rank assignment- Returns:
- new communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
splitType
Partition the group associated with this communicator and create a new communicator within each subgroup.Java binding of the MPI operation
MPI_COMM_SPLIT_TYPE
.- Parameters:
splitType
- type of processes to be grouped togetherkey
- control of rank assignmentinfo
- info argument- Returns:
- new communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
create
Create a new communicator.Java binding of the MPI operation
MPI_COMM_CREATE
.- Parameters:
group
- group which is a subset of the group of this communicator- Returns:
- new communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createGroup
Create a new intracommunicator for the given group.Java binding of the MPI operation
MPI_COMM_CREATE_GROUP
.- Parameters:
group
- group which is a subset of the group of this communicatortag
- an integer tag- Returns:
- new communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createCart
public final CartComm createCart(int[] dims, boolean[] periods, boolean reorder) throws MPIException Creates a communicator to which the Cartesian topology information is attached. Create a cartesian topology communicator whose group is a subset of the group of this communicator.Java binding of the MPI operation
MPI_CART_CREATE
.The number of dimensions of the Cartesian grid is taken to be the size of the
dims
argument. The arrayperiods
must be the same size.- Parameters:
dims
- the number of processes in each dimensionperiods
-true
if grid is periodic,false
if not, in each dimensionreorder
-true
if ranking may be reordered,false
if not- Returns:
- new cartesian topology communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createGraph
Creates a communicator to which the graph topology information is attached.Java binding of the MPI operation
MPI_GRAPH_CREATE
.The number of nodes in the graph, nnodes, is taken to be size of the
index
argument.- Parameters:
index
- node degreesedges
- graph edgesreorder
-true
if ranking may be reordered,false
if not- Returns:
- new graph topology communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createDistGraph
public final GraphComm createDistGraph(int[] sources, int[] degrees, int[] destinations, int[] weights, Info info, boolean reorder) throws MPIException Creates a communicator to which the distributed graph topology information is attached.Java binding of the MPI operation
MPI_DIST_GRAPH_CREATE
.The number of source nodes is the size of the
sources
argument.- Parameters:
sources
- source nodes for which this process specifies edgesdegrees
- number of destinations for each source nodedestinations
- destination nodes for the source nodesweights
- weights for source to destination edgesinfo
- hints on optimization and interpretation of weightsreorder
- the process may be reordered (true) or not (false)- Returns:
- communicator with distributed graph topology
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createDistGraph
public final GraphComm createDistGraph(int[] sources, int[] degrees, int[] destinations, Info info, boolean reorder) throws MPIException Creates a communicator to which the distributed graph topology information is attached.Java binding of the MPI operation
MPI_DIST_GRAPH_CREATE
usingMPI_UNWEIGHTED
.The number of source nodes is the size of the
sources
argument.- Parameters:
sources
- source nodes for which this process specifies edgesdegrees
- number of destinations for each source nodedestinations
- destination nodes for the source nodesinfo
- hints on optimization and interpretation of weightsreorder
- the process may be reordered (true) or not (false)- Returns:
- communicator with distributed graph topology
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createDistGraphAdjacent
public final GraphComm createDistGraphAdjacent(int[] sources, int[] sourceWeights, int[] destinations, int[] destWeights, Info info, boolean reorder) throws MPIException Creates a communicator to which the distributed graph topology information is attached.Java binding of the MPI operation
MPI_DIST_GRAPH_CREATE_ADJACENT
.The number of source/destination nodes is the size of the
sources
/destinations
argument.- Parameters:
sources
- ranks of processes for which the calling process is a destinationsourceWeights
- weights of the edges into the calling processdestinations
- ranks of processes for which the calling process is a sourcedestWeights
- weights of the edges out of the calling processinfo
- hints on optimization and interpretation of weightsreorder
- the process may be reordered (true) or not (false)- Returns:
- communicator with distributed graph topology
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createDistGraphAdjacent
public final GraphComm createDistGraphAdjacent(int[] sources, int[] destinations, Info info, boolean reorder) throws MPIException Creates a communicator to which the distributed graph topology information is attached.Java binding of the MPI operation
MPI_DIST_GRAPH_CREATE_ADJACENT
usingMPI_UNWEIGHTED
.The number of source/destination nodes is the size of the
sources
/destinations
argument.- Parameters:
sources
- ranks of processes for which the calling process is a destinationdestinations
- ranks of processes for which the calling process is a sourceinfo
- hints on optimization and interpretation of weightsreorder
- the process may be reordered (true) or not (false)- Returns:
- communicator with distributed graph topology
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
scan
public final void scan(Object sendbuf, Object recvbuf, int count, Datatype type, Op op) throws MPIException Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_SCAN
.- Parameters:
sendbuf
- send buffer arrayrecvbuf
- receive buffer arraycount
- number of items in input buffertype
- data type of each item in input bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
scan
Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_SCAN
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
recvbuf
- receive buffer arraycount
- number of items in input buffertype
- data type of each item in input bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iScan
public final Request iScan(Buffer sendbuf, Buffer recvbuf, int count, Datatype type, Op op) throws MPIException Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_ISCAN
.- Parameters:
sendbuf
- send buffer arrayrecvbuf
- receive buffer arraycount
- number of items in input buffertype
- data type of each item in input bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iScan
Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_ISCAN
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- send/receive buffer arraycount
- number of items in buffertype
- data type of each item in bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
exScan
public final void exScan(Object sendbuf, Object recvbuf, int count, Datatype type, Op op) throws MPIException Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_EXSCAN
.- Parameters:
sendbuf
- send buffer arrayrecvbuf
- receive buffer arraycount
- number of items in input buffertype
- data type of each item in input bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
exScan
Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_EXSCAN
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffer arraycount
- number of items in input buffertype
- data type of each item in input bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iExScan
public final Request iExScan(Buffer sendbuf, Buffer recvbuf, int count, Datatype type, Op op) throws MPIException Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_IEXSCAN
.- Parameters:
sendbuf
- send buffer arrayrecvbuf
- receive buffer arraycount
- number of items in input buffertype
- data type of each item in input bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iExScan
Perform a prefix reduction on data distributed across the group.Java binding of the MPI operation
MPI_IEXSCAN
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffer arraycount
- number of items in input buffertype
- data type of each item in input bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
openPort
Java binding ofMPI_OPEN_PORT
usingMPI_INFO_NULL
.- Returns:
- port name
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
openPort
Java binding ofMPI_OPEN_PORT
.- Parameters:
info
- implementation-specific information- Returns:
- port name
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
closePort
Java binding ofMPI_CLOSE_PORT
.- Parameters:
name
- port name- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
accept
Java binding ofMPI_COMM_ACCEPT
usingMPI_INFO_NULL
.- Parameters:
port
- port nameroot
- rank in comm of root node- Returns:
- intercommunicator with client as remote group
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
accept
Java binding ofMPI_COMM_ACCEPT
.- Parameters:
port
- port nameinfo
- implementation-specific informationroot
- rank in comm of root node- Returns:
- intercommunicator with client as remote group
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
connect
Java binding ofMPI_COMM_CONNECT
usingMPI_INFO_NULL
.- Parameters:
port
- port nameroot
- rank in comm of root node- Returns:
- intercommunicator with server as remote group
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
connect
Java binding ofMPI_COMM_CONNECT
.- Parameters:
port
- port nameinfo
- implementation-specific informationroot
- rank in comm of root node- Returns:
- intercommunicator with server as remote group
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
publishName
Java binding ofMPI_PUBLISH_NAME
usingMPI_INFO_NULL
.- Parameters:
service
- service nameport
- port name- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
publishName
Java binding ofMPI_PUBLISH_NAME
.- Parameters:
service
- service nameinfo
- implementation-specific informationport
- port name- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
unpublishName
Java binding ofMPI_UNPUBLISH_NAME
usingMPI_INFO_NULL
.- Parameters:
service
- service nameport
- port name- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
unpublishName
Java binding ofMPI_UNPUBLISH_NAME
.- Parameters:
service
- service nameinfo
- implementation-specific informationport
- port name- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
lookupName
Java binding ofMPI_LOOKUP_NAME
usingMPI_INFO_NULL
.- Parameters:
service
- service name- Returns:
- port name
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
lookupName
Java binding ofMPI_LOOKUP_NAME
.- Parameters:
service
- service nameinfo
- mplementation-specific information- Returns:
- port name
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
spawn
public final Intercomm spawn(String command, String[] argv, int maxprocs, Info info, int root, int[] errcodes) throws MPIException Java binding ofMPI_COMM_SPAWN
. This intracommunicator will contain the group of spawned processes.- Parameters:
command
- name of program to be spawnedargv
- arguments to command; if this parameter is null,MPI_ARGV_NULL
will be used.maxprocs
- maximum number of processes to startinfo
- info object telling the runtime where and how to start the processesroot
- rank of process in which previous arguments are examinederrcodes
- one code per process; if this parameter is null,MPI_ERRCODES_IGNORE
will be used.- Returns:
- intercommunicator between original group and the newly spawned group
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
spawnMultiple
public final Intercomm spawnMultiple(String[] commands, String[][] argv, int[] maxprocs, Info[] info, int root, int[] errcodes) throws MPIException Java binding ofMPI_COMM_SPAWN_MULTIPLE
. This intracommunicator will contain the group of spawned processes.- Parameters:
commands
- programs to be executedargv
- arguments for commands; if this parameter is null,MPI_ARGVS_NULL
will be used.maxprocs
- maximum number of processes to start for each commandinfo
- info objects telling the runtime where and how to start the processesroot
- rank of process in which previous arguments are examinederrcodes
- one code per process; if this parameter is null,MPI_ERRCODES_IGNORE
will be used.- Returns:
- intercommunicator between original group and the newly spawned group
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-