mpi4py.MPI.Comm¶
- class mpi4py.MPI.Comm¶
Bases:
object
Communication context.
Methods Summary
Abort
([errorcode])Terminate the MPI execution environment.
Ack_failed
([num_to_ack])Acknowledge failures on a communicator.
Agree
(flag)Blocking agreement.
Allgather
(sendbuf, recvbuf)Gather to All.
Allgather_init
(sendbuf, recvbuf[, info])Persistent Gather to All.
Allgatherv
(sendbuf, recvbuf)Gather to All Vector.
Allgatherv_init
(sendbuf, recvbuf[, info])Persistent Gather to All Vector.
Allreduce
(sendbuf, recvbuf[, op])Reduce to All.
Allreduce_init
(sendbuf, recvbuf[, op, info])Persistent Reduce to All.
Alltoall
(sendbuf, recvbuf)All to All Scatter/Gather.
Alltoall_init
(sendbuf, recvbuf[, info])Persistent All to All Scatter/Gather.
Alltoallv
(sendbuf, recvbuf)All to All Scatter/Gather Vector.
Alltoallv_init
(sendbuf, recvbuf[, info])Persistent All to All Scatter/Gather Vector.
Alltoallw
(sendbuf, recvbuf)All to All Scatter/Gather General.
Alltoallw_init
(sendbuf, recvbuf[, info])Persistent All to All Scatter/Gather General.
Attach_buffer
(buf)Attach a user-provided buffer for sending in buffered mode.
Barrier
()Barrier synchronization.
Barrier_init
([info])Persistent Barrier.
Bcast
(buf[, root])Broadcast data from one process to all other processes.
Bcast_init
(buf[, root, info])Persistent Broadcast.
Bsend
(buf, dest[, tag])Blocking send in buffered mode.
Bsend_init
(buf, dest[, tag])Persistent request for a send in buffered mode.
Call_errhandler
(errorcode)Call the error handler installed on a communicator.
Clone
()Clone an existing communicator.
Compare
(comm)Compare two communicators.
Create
(group)Create communicator from group.
Create_errhandler
(errhandler_fn)Create a new error handler for communicators.
Create_keyval
([copy_fn, delete_fn, nopython])Create a new attribute key for communicators.
Delete_attr
(keyval)Delete attribute value associated with a key.
Remove an existing attached buffer.
Disconnect from a communicator.
Dup
([info])Duplicate a communicator.
Dup_with_info
(info)Duplicate a communicator with hints.
Block until all buffered messages have been transmitted.
Free
()Free a communicator.
Free_keyval
(keyval)Free an attribute key for communicators.
Gather
(sendbuf, recvbuf[, root])Gather data to one process from all other processes.
Gather_init
(sendbuf, recvbuf[, root, info])Persistent Gather.
Gatherv
(sendbuf, recvbuf[, root])Gather Vector.
Gatherv_init
(sendbuf, recvbuf[, root, info])Persistent Gather Vector.
Get_attr
(keyval)Retrieve attribute value by key.
Get the error handler for a communicator.
Extract the group of failed processes.
Access the group associated with a communicator.
Get_info
()Return the current hints for a communicator.
Get_name
()Get the print name for this communicator.
Return the parent intercommunicator for this process.
Get_rank
()Return the rank of this process in a communicator.
Get_size
()Return the number of processes in a communicator.
Return the type of topology (if any) associated with a communicator.
Iagree
(flag)Nonblocking agreement.
Iallgather
(sendbuf, recvbuf)Nonblocking Gather to All.
Iallgatherv
(sendbuf, recvbuf)Nonblocking Gather to All Vector.
Iallreduce
(sendbuf, recvbuf[, op])Nonblocking Reduce to All.
Ialltoall
(sendbuf, recvbuf)Nonblocking All to All Scatter/Gather.
Ialltoallv
(sendbuf, recvbuf)Nonblocking All to All Scatter/Gather Vector.
Ialltoallw
(sendbuf, recvbuf)Nonblocking All to All Scatter/Gather General.
Ibarrier
()Nonblocking Barrier.
Ibcast
(buf[, root])Nonblocking Broadcast.
Ibsend
(buf, dest[, tag])Nonblocking send in buffered mode.
Idup
([info])Nonblocking duplicate a communicator.
Idup_with_info
(info)Nonblocking duplicate a communicator with hints.
Nonblocking flush for buffered messages.
Igather
(sendbuf, recvbuf[, root])Nonblocking Gather.
Igatherv
(sendbuf, recvbuf[, root])Nonblocking Gather Vector.
Improbe
([source, tag, status])Nonblocking test for a matched message.
Iprobe
([source, tag, status])Nonblocking test for a message.
Irecv
(buf[, source, tag])Nonblocking receive.
Ireduce
(sendbuf, recvbuf[, op, root])Nonblocking Reduce to Root.
Ireduce_scatter
(sendbuf, recvbuf[, ...])Nonblocking Reduce-Scatter (vector version).
Ireduce_scatter_block
(sendbuf, recvbuf[, op])Nonblocking Reduce-Scatter Block (regular, non-vector version).
Irsend
(buf, dest[, tag])Nonblocking send in ready mode.
Is_inter
()Return whether the communicator is an intercommunicator.
Is_intra
()Return whether the communicator is an intracommunicator.
Indicate whether the communicator has been revoked.
Iscatter
(sendbuf, recvbuf[, root])Nonblocking Scatter.
Iscatterv
(sendbuf, recvbuf[, root])Nonblocking Scatter Vector.
Isend
(buf, dest[, tag])Nonblocking send.
Isendrecv
(sendbuf, dest[, sendtag, recvbuf, ...])Nonblocking send and receive.
Isendrecv_replace
(buf, dest[, sendtag, ...])Send and receive a message.
Ishrink
()Nonblocking shrink a communicator to remove all failed processes.
Issend
(buf, dest[, tag])Nonblocking send in synchronous mode.
Join
(fd)Interconnect two processes connected by a socket.
Mprobe
([source, tag, status])Blocking test for a matched message.
Precv_init
(buf, partitions[, source, tag, info])Create request for a partitioned recv operation.
Probe
([source, tag, status])Blocking test for a message.
Psend_init
(buf, partitions, dest[, tag, info])Create request for a partitioned send operation.
Recv
(buf[, source, tag, status])Blocking receive.
Recv_init
(buf[, source, tag])Create a persistent request for a receive.
Reduce
(sendbuf, recvbuf[, op, root])Reduce to Root.
Reduce_init
(sendbuf, recvbuf[, op, root, info])Persistent Reduce to Root.
Reduce_scatter
(sendbuf, recvbuf[, ...])Reduce-Scatter (vector version).
Reduce_scatter_block
(sendbuf, recvbuf[, op])Reduce-Scatter Block (regular, non-vector version).
Reduce_scatter_block_init
(sendbuf, recvbuf)Persistent Reduce-Scatter Block (regular, non-vector version).
Reduce_scatter_init
(sendbuf, recvbuf[, ...])Persistent Reduce-Scatter (vector version).
Revoke
()Revoke a communicator.
Rsend
(buf, dest[, tag])Blocking send in ready mode.
Rsend_init
(buf, dest[, tag])Persistent request for a send in ready mode.
Scatter
(sendbuf, recvbuf[, root])Scatter data from one process to all other processes.
Scatter_init
(sendbuf, recvbuf[, root, info])Persistent Scatter.
Scatterv
(sendbuf, recvbuf[, root])Scatter Vector.
Scatterv_init
(sendbuf, recvbuf[, root, info])Persistent Scatter Vector.
Send
(buf, dest[, tag])Blocking send.
Send_init
(buf, dest[, tag])Create a persistent request for a standard send.
Sendrecv
(sendbuf, dest[, sendtag, recvbuf, ...])Send and receive a message.
Sendrecv_replace
(buf, dest[, sendtag, ...])Send and receive a message.
Set_attr
(keyval, attrval)Store attribute value associated with a key.
Set_errhandler
(errhandler)Set the error handler for a communicator.
Set_info
(info)Set new values for the hints associated with a communicator.
Set_name
(name)Set the print name for this communicator.
Shrink
()Shrink a communicator to remove all failed processes.
Split
([color, key])Split communicator by color and key.
Split_type
(split_type[, key, info])Split communicator by split type.
Ssend
(buf, dest[, tag])Blocking send in synchronous mode.
Ssend_init
(buf, dest[, tag])Persistent request for a send in synchronous mode.
allgather
(sendobj)Gather to All.
allreduce
(sendobj[, op])Reduce to All.
alltoall
(sendobj)All to All Scatter/Gather.
barrier
()Barrier synchronization.
bcast
(obj[, root])Broadcast.
bsend
(obj, dest[, tag])Send in buffered mode.
f2py
(arg)free
()Call
Free
if not null or predefined.fromhandle
(handle)Create object from MPI handle.
gather
(sendobj[, root])Gather.
ibsend
(obj, dest[, tag])Nonblocking send in buffered mode.
improbe
([source, tag, status])Nonblocking test for a matched message.
iprobe
([source, tag, status])Nonblocking test for a message.
irecv
([buf, source, tag])Nonblocking receive.
isend
(obj, dest[, tag])Nonblocking send.
issend
(obj, dest[, tag])Nonblocking send in synchronous mode.
mprobe
([source, tag, status])Blocking test for a matched message.
probe
([source, tag, status])Blocking test for a message.
py2f
()recv
([buf, source, tag, status])Receive.
reduce
(sendobj[, op, root])Reduce to Root.
scatter
(sendobj[, root])Scatter.
send
(obj, dest[, tag])Send in standard mode.
sendrecv
(sendobj, dest[, sendtag, recvbuf, ...])Send and Receive.
ssend
(obj, dest[, tag])Send in synchronous mode.
Attributes Summary
Group.
MPI handle.
Info hints.
Is intercommunicator.
Is intracommunicator.
Is a topology.
Print name.
Rank of this process.
Number of processes.
Topology type.
Methods Documentation
- Abort(errorcode=0)¶
Terminate the MPI execution environment.
Warning
The invocation of this method prevents the execution of various Python exit and cleanup mechanisms. Use this method as a last resort to prevent parallel deadlocks in case of unrecoverable errors.
- Ack_failed(num_to_ack=None)¶
Acknowledge failures on a communicator.
- Allgather(sendbuf, recvbuf)¶
Gather to All.
Gather data from all processes and broadcast the combined data to all other processes.
- Allgather_init(sendbuf, recvbuf, info=INFO_NULL)¶
Persistent Gather to All.
- Allgatherv(sendbuf, recvbuf)¶
Gather to All Vector.
Gather data from all processes and send it to all other processes providing different amounts of data and displacements.
- Allgatherv_init(sendbuf, recvbuf, info=INFO_NULL)¶
Persistent Gather to All Vector.
- Allreduce(sendbuf, recvbuf, op=SUM)¶
Reduce to All.
- Allreduce_init(sendbuf, recvbuf, op=SUM, info=INFO_NULL)¶
Persistent Reduce to All.
- Alltoall(sendbuf, recvbuf)¶
All to All Scatter/Gather.
Send data to all processes and recv data from all processes.
- Alltoall_init(sendbuf, recvbuf, info=INFO_NULL)¶
Persistent All to All Scatter/Gather.
- Alltoallv(sendbuf, recvbuf)¶
All to All Scatter/Gather Vector.
Send data to all processes and recv data from all processes providing different amounts of data and displacements.
- Alltoallv_init(sendbuf, recvbuf, info=INFO_NULL)¶
Persistent All to All Scatter/Gather Vector.
- Alltoallw(sendbuf, recvbuf)¶
All to All Scatter/Gather General.
Send/recv data to/from all processes allowing the specification of different counts, displacements, and datatypes for each dest/source.
- Alltoallw_init(sendbuf, recvbuf, info=INFO_NULL)¶
Persistent All to All Scatter/Gather General.
- Attach_buffer(buf)¶
Attach a user-provided buffer for sending in buffered mode.
- Bcast(buf, root=0)¶
Broadcast data from one process to all other processes.
- Bcast_init(buf, root=0, info=INFO_NULL)¶
Persistent Broadcast.
- Bsend(buf, dest, tag=0)¶
Blocking send in buffered mode.
- Bsend_init(buf, dest, tag=0)¶
Persistent request for a send in buffered mode.
- Call_errhandler(errorcode)¶
Call the error handler installed on a communicator.
- classmethod Create_errhandler(errhandler_fn)¶
Create a new error handler for communicators.
- Parameters:
- Return type:
- classmethod Create_keyval(copy_fn=None, delete_fn=None, nopython=False)¶
Create a new attribute key for communicators.
- Delete_attr(keyval)¶
Delete attribute value associated with a key.
- classmethod Free_keyval(keyval)¶
Free an attribute key for communicators.
- Gather(sendbuf, recvbuf, root=0)¶
Gather data to one process from all other processes.
- Gather_init(sendbuf, recvbuf, root=0, info=INFO_NULL)¶
Persistent Gather.
- Gatherv(sendbuf, recvbuf, root=0)¶
Gather Vector.
Gather data to one process from all other processes providing different amounts of data and displacements.
- Gatherv_init(sendbuf, recvbuf, root=0, info=INFO_NULL)¶
Persistent Gather Vector.
- Get_attr(keyval)¶
Retrieve attribute value by key.
- Get_errhandler()¶
Get the error handler for a communicator.
- Return type:
- classmethod Get_parent()¶
Return the parent intercommunicator for this process.
- Return type:
- Get_topology()¶
Return the type of topology (if any) associated with a communicator.
- Return type:
- Iallgather(sendbuf, recvbuf)¶
Nonblocking Gather to All.
- Iallgatherv(sendbuf, recvbuf)¶
Nonblocking Gather to All Vector.
- Iallreduce(sendbuf, recvbuf, op=SUM)¶
Nonblocking Reduce to All.
- Ialltoall(sendbuf, recvbuf)¶
Nonblocking All to All Scatter/Gather.
- Ialltoallv(sendbuf, recvbuf)¶
Nonblocking All to All Scatter/Gather Vector.
- Ialltoallw(sendbuf, recvbuf)¶
Nonblocking All to All Scatter/Gather General.
- Ibcast(buf, root=0)¶
Nonblocking Broadcast.
- Ibsend(buf, dest, tag=0)¶
Nonblocking send in buffered mode.
- Idup(info=None)¶
Nonblocking duplicate a communicator.
- Idup_with_info(info)¶
Nonblocking duplicate a communicator with hints.
- Igather(sendbuf, recvbuf, root=0)¶
Nonblocking Gather.
- Igatherv(sendbuf, recvbuf, root=0)¶
Nonblocking Gather Vector.
- Improbe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Nonblocking test for a matched message.
- Iprobe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Nonblocking test for a message.
- Irecv(buf, source=ANY_SOURCE, tag=ANY_TAG)¶
Nonblocking receive.
- Ireduce(sendbuf, recvbuf, op=SUM, root=0)¶
Nonblocking Reduce to Root.
- Ireduce_scatter(sendbuf, recvbuf, recvcounts=None, op=SUM)¶
Nonblocking Reduce-Scatter (vector version).
- Ireduce_scatter_block(sendbuf, recvbuf, op=SUM)¶
Nonblocking Reduce-Scatter Block (regular, non-vector version).
- Irsend(buf, dest, tag=0)¶
Nonblocking send in ready mode.
- Iscatter(sendbuf, recvbuf, root=0)¶
Nonblocking Scatter.
- Iscatterv(sendbuf, recvbuf, root=0)¶
Nonblocking Scatter Vector.
- Isend(buf, dest, tag=0)¶
Nonblocking send.
- Isendrecv(sendbuf, dest, sendtag=0, recvbuf=None, source=ANY_SOURCE, recvtag=ANY_TAG)¶
Nonblocking send and receive.
- Isendrecv_replace(buf, dest, sendtag=0, source=ANY_SOURCE, recvtag=ANY_TAG)¶
Send and receive a message.
Note
This function is guaranteed not to deadlock in situations where pairs of blocking sends and receives may deadlock.
Caution
A common mistake when using this function is to mismatch the tags with the source and destination ranks, which can result in deadlock.
- Ishrink()¶
Nonblocking shrink a communicator to remove all failed processes.
- Issend(buf, dest, tag=0)¶
Nonblocking send in synchronous mode.
- classmethod Join(fd)¶
Interconnect two processes connected by a socket.
- Mprobe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Blocking test for a matched message.
- Precv_init(buf, partitions, source=ANY_SOURCE, tag=ANY_TAG, info=INFO_NULL)¶
Create request for a partitioned recv operation.
- Probe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Blocking test for a message.
Note
This function blocks until the message arrives.
- Psend_init(buf, partitions, dest, tag=0, info=INFO_NULL)¶
Create request for a partitioned send operation.
- Recv(buf, source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Blocking receive.
Note
This function blocks until the message is received.
- Recv_init(buf, source=ANY_SOURCE, tag=ANY_TAG)¶
Create a persistent request for a receive.
- Reduce(sendbuf, recvbuf, op=SUM, root=0)¶
Reduce to Root.
- Reduce_init(sendbuf, recvbuf, op=SUM, root=0, info=INFO_NULL)¶
Persistent Reduce to Root.
- Reduce_scatter(sendbuf, recvbuf, recvcounts=None, op=SUM)¶
Reduce-Scatter (vector version).
- Reduce_scatter_block(sendbuf, recvbuf, op=SUM)¶
Reduce-Scatter Block (regular, non-vector version).
- Reduce_scatter_block_init(sendbuf, recvbuf, op=SUM, info=INFO_NULL)¶
Persistent Reduce-Scatter Block (regular, non-vector version).
- Reduce_scatter_init(sendbuf, recvbuf, recvcounts=None, op=SUM, info=INFO_NULL)¶
Persistent Reduce-Scatter (vector version).
- Rsend(buf, dest, tag=0)¶
Blocking send in ready mode.
- Rsend_init(buf, dest, tag=0)¶
Persistent request for a send in ready mode.
- Scatter(sendbuf, recvbuf, root=0)¶
Scatter data from one process to all other processes.
- Scatter_init(sendbuf, recvbuf, root=0, info=INFO_NULL)¶
Persistent Scatter.
- Scatterv(sendbuf, recvbuf, root=0)¶
Scatter Vector.
Scatter data from one process to all other processes providing different amounts of data and displacements.
- Scatterv_init(sendbuf, recvbuf, root=0, info=INFO_NULL)¶
Persistent Scatter Vector.
- Send(buf, dest, tag=0)¶
Blocking send.
Note
This function may block until the message is received. Whether
Send
blocks or not depends on several factors and is implementation dependent.
- Send_init(buf, dest, tag=0)¶
Create a persistent request for a standard send.
- Sendrecv(sendbuf, dest, sendtag=0, recvbuf=None, source=ANY_SOURCE, recvtag=ANY_TAG, status=None)¶
Send and receive a message.
Note
This function is guaranteed not to deadlock in situations where pairs of blocking sends and receives may deadlock.
Caution
A common mistake when using this function is to mismatch the tags with the source and destination ranks, which can result in deadlock.
- Sendrecv_replace(buf, dest, sendtag=0, source=ANY_SOURCE, recvtag=ANY_TAG, status=None)¶
Send and receive a message.
Note
This function is guaranteed not to deadlock in situations where pairs of blocking sends and receives may deadlock.
Caution
A common mistake when using this function is to mismatch the tags with the source and destination ranks, which can result in deadlock.
- Set_attr(keyval, attrval)¶
Store attribute value associated with a key.
- Set_errhandler(errhandler)¶
Set the error handler for a communicator.
- Parameters:
errhandler (Errhandler)
- Return type:
- Set_info(info)¶
Set new values for the hints associated with a communicator.
- Split(color=0, key=0)¶
Split communicator by color and key.
- Split_type(split_type, key=0, info=INFO_NULL)¶
Split communicator by split type.
- Ssend(buf, dest, tag=0)¶
Blocking send in synchronous mode.
- Ssend_init(buf, dest, tag=0)¶
Persistent request for a send in synchronous mode.
- allreduce(sendobj, op=SUM)¶
Reduce to All.
- alltoall(sendobj)¶
All to All Scatter/Gather.
- bsend(obj, dest, tag=0)¶
Send in buffered mode.
- classmethod fromhandle(handle)¶
Create object from MPI handle.
- ibsend(obj, dest, tag=0)¶
Nonblocking send in buffered mode.
- improbe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Nonblocking test for a matched message.
- iprobe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Nonblocking test for a message.
- irecv(buf=None, source=ANY_SOURCE, tag=ANY_TAG)¶
Nonblocking receive.
- isend(obj, dest, tag=0)¶
Nonblocking send.
- issend(obj, dest, tag=0)¶
Nonblocking send in synchronous mode.
- mprobe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Blocking test for a matched message.
- probe(source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Blocking test for a message.
- recv(buf=None, source=ANY_SOURCE, tag=ANY_TAG, status=None)¶
Receive.
- reduce(sendobj, op=SUM, root=0)¶
Reduce to Root.
- scatter(sendobj, root=0)¶
Scatter.
- send(obj, dest, tag=0)¶
Send in standard mode.
- sendrecv(sendobj, dest, sendtag=0, recvbuf=None, source=ANY_SOURCE, recvtag=ANY_TAG, status=None)¶
Send and Receive.
- ssend(obj, dest, tag=0)¶
Send in synchronous mode.
Attributes Documentation
- group¶
Group.
- handle¶
MPI handle.
- info¶
Info hints.
- is_inter¶
Is intercommunicator.
- is_intra¶
Is intracommunicator.
- is_topo¶
Is a topology.
- name¶
Print name.
- rank¶
Rank of this process.
- size¶
Number of processes.
- topology¶
Topology type.