pacman.model.placements package

Module contents

class pacman.model.placements.Placement(vertex, x, y, p)[source]

Bases: object

The placement of a vertex on to a machine chip and core.

Parameters:
  • vertex (MachineVertex) – The vertex that has been placed

  • x (int) – the x-coordinate of the chip on which the vertex is placed

  • y (int) – the y-coordinate of the chip on which the vertex is placed

  • p (int) – the ID of the processor on which the vertex is placed

property location

The (x,y,p) tuple that represents the location of this placement.

Return type:

tuple(int,int,int)

property p

The ID of the processor of the chip where the vertex is placed.

Return type:

int

property vertex

The vertex that was placed.

Return type:

MachineVertex

property x

The X-coordinate of the chip where the vertex is placed.

Return type:

int

property xy

The (x,y) tuple that represents the chip of this placement.

Return type:

tuple(int,int)

property y

The Y-coordinate of the chip where the vertex is placed.

Return type:

int

class pacman.model.placements.Placements(placements=None)[source]

Bases: object

The placements of vertices on the chips of the machine.

Parameters:

placements (iterable(Placement)) – Any initial placements

Raises:
add_placement(placement)[source]

Add a placement.

Parameters:

placement (Placement) – The placement to add

Raises:
add_placements(placements)[source]

Add some placements.

Parameters:

placements (iterable(Placement)) – The placements to add

property chips_with_placements

The chips with placements on them.

Return type:

iterable(tuple(int,int))

get_placement_of_vertex(vertex)[source]

Return the placement information for a vertex.

Parameters:

vertex (MachineVertex) – The vertex to find the placement of

Returns:

The placement

Return type:

Placement

Raises:

PacmanNotPlacedError – If the vertex has not been placed.

get_placement_on_processor(x, y, p)[source]

Get the placement on a specific processor, or raises an exception if the processor has not been allocated.

Parameters:
  • x (int) – the x coordinate of the chip

  • y (int) – the y coordinate of the chip

  • p (int) – the processor on the chip

Returns:

the placement on the given processor

Return type:

Placement

Raises:

PacmanProcessorNotOccupiedError – If the processor is not occupied

is_processor_occupied(x, y, p)[source]

Determine if a processor has a vertex on it.

Parameters:
  • x (int) – x coordinate of processor.

  • y (int) – y coordinate of processor.

  • p (int) – Index of processor.

Return bool:

Whether the processor has an assigned vertex.

is_vertex_placed(vertex)[source]

Determine if a vertex has been placed.

Parameters:

vertex (MachineVertex) – The vertex to determine the status of

Return type:

bool

iterate_placements_by_vertex_type(vertex_type)[source]

Iterate over placements on any chip with this vertex_type.

Parameters:

vertex_type (class) – Class of vertex to find

Return type:

iterable(Placement)

iterate_placements_by_xy_and_type(x, y, vertex_type)[source]

Iterate over placements with this x, y and this vertex_type.

Parameters:
  • x (int) – x coordinate to find placements for.

  • y (int) – y coordinate to find placements for.

  • vertex_type (class) – Class of vertex to find

Return type:

iterable(Placement)

iterate_placements_on_core(x, y)[source]

Iterate over placements with this x and y.

Parameters:
  • x (int) – x coordinate to find placements for.

  • y (int) – y coordinate to find placements for.

Return type:

iterable(Placement)

property n_placements

The number of placements.

Return type:

int

n_placements_on_chip(x, y)[source]

The number of placements on the given chip.

Parameters:
  • x (int) – x coordinate of chip.

  • y (int) – y coordinate of chip.

Return type:

int

property placements

All of the placements.

Returns:

iterable of placements

Return type:

iterable(Placement)

placements_on_chip(x, y)[source]

Get the placements on a specific chip.

Parameters:
  • x (int) – The x-coordinate of the chip

  • y (int) – The y-coordinate of the chip

Return type:

iterable(Placement)