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 xcoordinate of the chip on which the vertex is placed
 y (int) – the ycoordinate of the chip on which the vertex is placed
 p (int) – the ID of the processor on which the vertex is placed

location
¶ The (x,y,p) tuple that represents the location of this placement.
Return type: tuple(int,int,int)

vertex
¶ The vertex that was placed.
Return type: MachineVertex

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:  PacmanAlreadyPlacedError – If there is any vertex with more than one placement.
 PacmanProcessorAlreadyOccupiedError – If two placements are made to the same processor.

add_placement
(placement)[source]¶ Add a placement.
Parameters: placement (Placement) – The placement to add
Raises:  PacmanAlreadyPlacedError – If there is any vertex with more than one placement.
 PacmanProcessorAlreadyOccupiedError – If two placements are made to the same processor.

add_placements
(placements)[source]¶ Add some placements.
Parameters: placements (iterable(Placement)) – The placements to add

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: Returns: the placement on the given processor
Return type: 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: 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: Return type: iterable(Placement)

iterate_placements_on_core
(x, y)[source]¶ Iterate over placements with this x and y.
Parameters: Return type: iterable(Placement)