mpi.Communicator

Module Contents

class mpi.Communicator.Communicator(capsule, **kwds)

Bases: mpi.Object.Object

An encapsulation of MPI communicators

rank = 0
size = 1
capsule
restrict(self, group)

Build a new communicator with the process in {group}, which is expected to be a communicator group

include(self, processes)

Build a new communicator with the processes in the iterable {processes} as its members

exclude(self, processes)

Build a new communicator with all my processes except those in {processes}

cartesian(self, axes, periods, reorder=1)

Build a cartesian communicator; see the MPI documentation for details

barrier(self)

Establish a synchronization point: all processes in this communicator must call this method, and they all block until the last one makes the call

group(self)

Build a group that contains all my processes

port(self, peer, tag=Port.tag)

Establish a point-to-point communication conduit with {peer}; all messages sent through this port will be tagged with {tag}

bcast(self, item=None, source=0)

Broadcast {item} from {source} to every task; only {source} has to pass an {item}

sum(self, item, destination=None)

Perform a sum reduction of {item} using {exemplar} to deduce the type and deliver the result to the MPI task whose rank is given in {destination} If {destination} is not provided, deliver the results to all processes

product(self, item, destination=None)

Perform a product reduction of {item} If {destination} is not provided, deliver the results to all processes

max(self, item, destination=None)

Perform a max reduction of {item} If {destination} is not provided, deliver the results to all processes

min(self, item, destination=None)

Perform a min reduction of {item} If {destination} is not provided, deliver the results to all processes