mpi4py.MPI.Comm
- classmpi4py.MPI.Comm
Bases:
objectCommunication 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
Freeif not null or predefined.fromhandle(handle)Create object from MPI handle.
fromint(arg, /)Translate integer handle to object.
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.
toint()Translate object to integer handle.
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 ofvarious Python exit and cleanup mechanisms. Use this method as alast resort to prevent parallel deadlocks in case of unrecoverableerrors.
- 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 allother 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 processesproviding 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 processesproviding 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 ofdifferent 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.
- classmethodCreate_errhandler(errhandler_fn)
Create a new error handler for communicators.
- Parameters:
- Return type:
- classmethodCreate_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.
- classmethodFree_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 processesproviding different amounts of data and displacements.
- Gatherv_init(sendbuf,recvbuf,root=0,info=INFO_NULL)
Persistent Gather Vector.
- Get_errhandler()
Get the error handler for 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.
- 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 situationswhere pairs of blocking sends and receives may deadlock.
Caution
A common mistake when using this function is to mismatchthe tags with the source and destination ranks, which can result indeadlock.
- Ishrink()
Nonblocking shrink a communicator to remove all failed processes.
- Issend(buf,dest,tag=0)
Nonblocking send in synchronous mode.
- classmethodJoin(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 processesproviding 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
Sendblocks or not depends on several factors and isimplementation 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 situationswhere pairs of blocking sends and receives may deadlock.
Caution
A common mistake when using this function is to mismatchthe tags with the source and destination ranks, which can result indeadlock.
- 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 situationswhere pairs of blocking sends and receives may deadlock.
Caution
A common mistake when using this function is to mismatchthe tags with the source and destination ranks, which can result indeadlock.
- 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.
- 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.
- 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.
- 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.