pacman.operations.placer_algorithms package

Module contents

class pacman.operations.placer_algorithms.RadialPlacer[source]

Bases: object

A placement algorithm that can place a machine graph onto a machine choosing chips radiating in a circle from the boot chip

__call__(machine_graph, machine, plan_n_timesteps)[source]
Parameters:
  • machine_graph (MachineGraph) – The machine_graph to place
  • machine (Machine) – The machine with respect to which to partition the application graph
  • plan_n_timesteps (int) – number of timesteps to plan for
Returns:

A set of placements

Return type:

Placements

Raises:

PacmanPlaceException – If something goes wrong with the placement

class pacman.operations.placer_algorithms.OneToOnePlacer[source]

Bases: pacman.operations.placer_algorithms.radial_placer.RadialPlacer

Placer that puts vertices which are directly connected to only its destination on the same chip

__call__(machine_graph, machine, plan_n_timesteps)[source]
Parameters:
  • machine_graph (MachineGraph) – The machine_graph to place
  • machine (Machine) – The machine with respect to which to partition the application graph
  • plan_n_timesteps (int) – number of timesteps to plan for
Returns:

A set of placements

Return type:

Placements

Raises:

PacmanPlaceException – If something goes wrong with the placement

class pacman.operations.placer_algorithms.SpreaderPlacer[source]

Bases: pacman.operations.placer_algorithms.one_to_one_placer.OneToOnePlacer

Places vertices on as many chips as available with a effort to reduce the number of packets being received by the router in total.

Parameters:
Returns:

placements.

Return type:

Placements

ITERATIONS = 4
STEPS = 4
__call__(machine_graph, machine, n_keys_map, plan_n_timesteps)[source]
Parameters:
Returns:

placements.

Return type:

Placements

class pacman.operations.placer_algorithms.ConnectiveBasedPlacer[source]

Bases: pacman.operations.placer_algorithms.radial_placer.RadialPlacer

A radial algorithm that can place a machine graph onto a machine using a circle out behaviour from a Ethernet at a given point and which will place things that are most connected closest to each other

__call__(machine_graph, machine, plan_n_timesteps)[source]
Parameters:
  • machine_graph (MachineGraph) – The machine_graph to place
  • machine (Machine) – The machine with respect to which to partition the application graph
  • plan_n_timesteps (int) – number of timesteps to plan for
Returns:

A set of placements

Return type:

Placements

Raises:

PacmanPlaceException – If something goes wrong with the placement