spux.executors.mpi4py.connectors package

Submodules

spux.executors.mpi4py.connectors.legacy module

class spux.executors.mpi4py.connectors.legacy.Legacy(verbosity=0)[source]

Bases: spux.executors.mpi4py.connectors.split.Split

Class to establish workers MPI processes when dealing with legacy MPI implementations.

static accept(remote_leader, verbosity)[source]

Establish connection on manager side.

bootup(contract, task, resource, root, verbosity)[source]

Inter-connect manager with the number of requested workers by returning leader rank.

static connect(remote_leader, peers)[source]

Establish connection on worker side.

static disconnect(workers, verbosity)[source]

Interrupt connection.

static shutdown(port, verbosity)[source]

Finalize connector.

spux.executors.mpi4py.connectors.spawn module

class spux.executors.mpi4py.connectors.spawn.Spawn(verbosity=0)[source]

Bases: object

Class to establish workers MPI processes by spawning of new processes.

static accept(port, verbosity)[source]

Establish connection.

barrier()[source]
bootup(contract, task, resource, root=0, verbosity=0)[source]

Return means of inter-communication along a possible hierarchy of processes.

static connect(port, peers)[source]

Establish connection on worker side.

static disconnect(workers, verbosity)[source]

Interrupt connection.

init(resources)[source]
static shutdown(port, verbosity)[source]

Finalize connector.

spux.executors.mpi4py.connectors.split module

class spux.executors.mpi4py.connectors.split.Split(verbosity=0)[source]

Bases: object

Class to establish workers MPI processes by using server/client mode through ports.

static accept(port, verbosity)[source]

Establish connection on manager side.

barrier()[source]

Split workers from manager, split workers into pools, wait for tasks.

bootup(contract, task, resource, root, verbosity)[source]

Inter-connect manager with the number of requested workers by returning a port.

static connect(port, peers)[source]

Establish connection on worker side.

static disconnect(workers, verbosity)[source]

Interrupt connection.

init(resources)[source]

Initialization for manager: bcast resources and split away from pool slots.

static shutdown(port, verbosity)[source]

Finalize connector.

split()[source]

Split workers recursively into several pools of workers.

spux.executors.mpi4py.connectors.split.get_ranks(resource, root=None, manager=0)[source]

Compute worker ranks for the current level of resources

spux.executors.mpi4py.connectors.utils module

spux.executors.mpi4py.connectors.utils.select(name='auto', verbosity=0)[source]

Automatically select the connector, or specify it manually by its name.

spux.executors.mpi4py.connectors.utils.universe_address()[source]

Return rank in MPI COMM_WORLD

spux.executors.mpi4py.connectors.worker module

spux.executors.mpi4py.connectors.worker.universe_address()[source]

Return rank in MPI COMM_WORLD