mpi4py.MPI.Comm
- class mpi4py.MPI.Comm
Bases:
object
Communicator
Methods Summary
Abort
([errorcode])Terminate MPI execution environment
Allgather
(sendbuf, recvbuf)Gather to All, gather data from all processes and distribute it to all other processes in a group
Allgather_init
(sendbuf, recvbuf[, info])Persistent Gather to All
Allgatherv
(sendbuf, recvbuf)Gather to All Vector, gather data from all processes and distribute it to all other processes in a group providing different amount of data and displacements
Allgatherv_init
(sendbuf, recvbuf[, info])Persistent Gather to All Vector
Allreduce
(sendbuf, recvbuf[, op])Reduce to All
Allreduce_init
(sendbuf, recvbuf[, op, info])Persistent All Reduce
Alltoall
(sendbuf, recvbuf)All to All Scatter/Gather, send data from all to all processes in a group
Alltoall_init
(sendbuf, recvbuf[, info])Persistent All to All Scatter/Gather
Alltoallv
(sendbuf, recvbuf)All to All Scatter/Gather Vector, send data from all to all processes in a group providing different amount of data and displacements
Alltoallv_init
(sendbuf, recvbuf[, info])Persistent All to All Scatter/Gather Vector
Alltoallw
(sendbuf, recvbuf)Generalized All-to-All communication allowing different counts, displacements and datatypes for each partner
Alltoallw_init
(sendbuf, recvbuf[, info])Persistent Generalized All-to-All
Barrier
()Barrier synchronization
Barrier_init
([info])Persistent Barrier
Bcast
(buf[, root])Broadcast a message from one process to all other processes in a group
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
Disconnect from a communicator
Dup
([info])Duplicate an existing communicator
Dup_with_info
(info)Duplicate an existing communicator
Free
()Free a communicator
Free_keyval
(keyval)Free an attribute key for communicators
Gather
(sendbuf, recvbuf[, root])Gather together values from a group of processes
Gather_init
(sendbuf, recvbuf[, root, info])Persistent Gather
Gatherv
(sendbuf, recvbuf[, root])Gather Vector, gather data to one process from all other processes in a group providing different amount of data and displacements at the receiving sides
Gatherv_init
(sendbuf, recvbuf[, root, info])Persistent Gather Vector
Get_attr
(keyval)Retrieve attribute value by key
Get the error handler for a communicator
Access the group associated with a communicator
Get_info
()Return the hints for a communicator that are currently in use
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
Determine the type of topology (if any) associated with a communicator
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 Generalized All-to-All
Ibarrier
()Nonblocking Barrier
Ibcast
(buf[, root])Nonblocking Broadcast
Ibsend
(buf, dest[, tag])Nonblocking send in buffered mode
Idup
([info])Nonblocking duplicate an existing communicator
Idup_with_info
(info)Duplicate an existing communicator
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
()Test to see if a comm is an intercommunicator
Is_intra
()Test to see if a comm is an intracommunicator
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
Issend
(buf, dest[, tag])Nonblocking send in synchronous mode
Join
(fd)Create a intercommunicator by joining 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
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)
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 in a group
Scatter_init
(sendbuf, recvbuf[, root, info])Persistent Scatter
Scatterv
(sendbuf, recvbuf[, root])Scatter Vector, scatter data from one process to all other processes in a group providing different amount of data and displacements at the sending side
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
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)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
sendrecv
(sendobj, dest[, sendtag, recvbuf, ...])Send and Receive
ssend
(obj, dest[, tag])Send in synchronous mode
Attributes Summary
communicator group
communicator info
is intercommunicator
is intracommunicator
is a topology communicator
communicator name
rank of this process in communicator
number of processes in communicator
communicator topology type
Methods Documentation
- Abort(errorcode=0)
Terminate MPI execution environment
Warning
This is a direct call, use it with care!!!.
- Allgather(sendbuf, recvbuf)
Gather to All, gather data from all processes and distribute it to all other processes in a group
- Allgather_init(sendbuf, recvbuf, info=INFO_NULL)
Persistent Gather to All
- Allgatherv(sendbuf, recvbuf)
Gather to All Vector, gather data from all processes and distribute it to all other processes in a group providing different amount 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 All Reduce
- Alltoall(sendbuf, recvbuf)
All to All Scatter/Gather, send data from all to all processes in a group
- Alltoall_init(sendbuf, recvbuf, info=INFO_NULL)
Persistent All to All Scatter/Gather
- Alltoallv(sendbuf, recvbuf)
All to All Scatter/Gather Vector, send data from all to all processes in a group providing different amount of data and displacements
- Alltoallv_init(sendbuf, recvbuf, info=INFO_NULL)
Persistent All to All Scatter/Gather Vector
- Alltoallw(sendbuf, recvbuf)
Generalized All-to-All communication allowing different counts, displacements and datatypes for each partner
- Alltoallw_init(sendbuf, recvbuf, info=INFO_NULL)
Persistent Generalized All-to-All
- Bcast(buf, root=0)
Broadcast a message from one process to all other processes in a group
- 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
- Dup(info=None)
Duplicate an existing communicator
- classmethod Free_keyval(keyval)
Free an attribute key for communicators
- Gather(sendbuf, recvbuf, root=0)
Gather together values from a group of 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 in a group providing different amount of data and displacements at the receiving sides
- 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()
Determine 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 Generalized All-to-All
- Ibcast(buf, root=0)
Nonblocking Broadcast
- Ibsend(buf, dest, tag=0)
Nonblocking send in buffered mode
- Idup(info=None)
Nonblocking duplicate an existing communicator
- Idup_with_info(info)
Duplicate an existing communicator
- 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.
- Issend(buf, dest, tag=0)
Nonblocking send in synchronous mode
- classmethod Join(fd)
Create a intercommunicator by joining 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
- 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 in a group
- 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 in a group providing different amount of data and displacements at the sending side
- 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 or not
Send
blocks 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
- barrier()
Barrier synchronization
Note
This method is equivalent to
Comm.Barrier()
- Return type:
- bsend(obj, dest, tag=0)
Send in buffered mode
- gather(sendobj, root=0)
Gather
- 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
- 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
communicator group
- info
communicator info
- is_inter
is intercommunicator
- is_intra
is intracommunicator
- is_topo
is a topology communicator
- name
communicator name
- rank
rank of this process in communicator
- size
number of processes in communicator
- topology
communicator topology type