pacman.model.graphs package¶
Subpackages¶
Module contents¶
-
class
pacman.model.graphs.AbstractEdge[source]¶ Bases:
objectA directed edge in a graph between two vertices.
-
post_vertex¶ The vertex at the end of the edge.
Return type: AbstractVertex
-
pre_vertex¶ The vertex at the start of the edge.
Return type: AbstractVertex
-
-
class
pacman.model.graphs.AbstractEdgePartition(identifier, allowed_edge_types)[source]¶ Bases:
objectA collection of edges which start at a single vertex which have the same semantics and so can share a single key or block of SDRAM (depending on edge type).
Parameters: -
add_edge(edge)[source]¶ Add an edge to the edge partition.
Parameters: edge (AbstractEdge) – the edge to add Raises: PacmanInvalidParameterException – If the edge does not belong in this edge partition
-
edges¶ The edges in this edge partition.
Note
The order in which the edges are added is preserved for when they are requested later. If not, please talk to the software team.
Return type: iterable(AbstractEdge)
-
pre_vertices¶ The vertices associated with this partition.
Note
Most edge partitions will be
AbstractSingleSourcePartitionand therefore provide thepre_vertexmethod.Return type: iterable(AbstractVertex)
-
-
class
pacman.model.graphs.AbstractMultiplePartition(pre_vertices, identifier, allowed_edge_types)[source]¶ Bases:
pacman.model.graphs.abstract_edge_partition.AbstractEdgePartitionAn edge partition that has multiple source vertices.
-
add_edge(edge)[source]¶ Add an edge to the edge partition.
Parameters: edge (AbstractEdge) – the edge to add Raises: PacmanInvalidParameterException – If the edge does not belong in this edge partition
-
pre_vertices¶ The vertices associated with this partition.
Note
Most edge partitions will be
AbstractSingleSourcePartitionand therefore provide thepre_vertexmethod.Return type: iterable(AbstractVertex)
-
-
class
pacman.model.graphs.AbstractSingleSourcePartition(pre_vertex, identifier, allowed_edge_types)[source]¶ Bases:
pacman.model.graphs.abstract_edge_partition.AbstractEdgePartitionAn edge partition that has a single source vertex.
-
add_edge(edge)[source]¶ Add an edge to the edge partition.
Parameters: edge (AbstractEdge) – the edge to add Raises: PacmanInvalidParameterException – If the edge does not belong in this edge partition
-
pre_vertex¶ The vertex at which all edges in this outgoing edge partition start.
Return type: AbstractVertex
-
pre_vertices¶ The vertices associated with this partition.
Note
Most edge partitions will be
AbstractSingleSourcePartitionand therefore provide thepre_vertexmethod.Return type: iterable(AbstractVertex)
-
-
class
pacman.model.graphs.AbstractSupportsSDRAMEdges[source]¶ Bases:
objectMarks a machine vertex that can have SDRAM edges attached to it.
-
sdram_requirement(sdram_machine_edge)[source]¶ Asks a machine vertex for the SDRAM requirement it needs.
Parameters: sdram_machine_edge (SDRAMMachineEdge) – The SDRAM edge in question Returns: The size in bytes this vertex needs for the SDRAM edge. Return type: int (most likely a multiple of 4)
-
-
class
pacman.model.graphs.AbstractVertex(label=None)[source]¶ Bases:
objectA vertex in a graph.
Parameters: label (str) – The optional name of the vertex -
addedToGraph()[source]¶ Records that the vertex has been added to a graph.
Raises: PacmanConfigurationException – If there is an attempt to add the same vertex more than once
-
get_fixed_location()[source]¶ The x, y and possibly p the vertex must be placed on.
Typically None! Does not have the value of a normal placements.
Used instead of ChipAndCoreConstraint.
Return type: None or ChipAndCore
-
label¶ The current label to the vertex.
This label could change when the vertex is added to the graph.
Return type: str
-
set_fixed_location(x, y, p=None)[source]¶ Set the location where the vertex must be placed.
Note
If called, must be called prior to the placement algorithms.
Parameters: Raises: PacmanConfigurationException – If a fixed location has already been set to a different location.
-
set_label(label)[source]¶ Changes the label for a vertex not yet added to a graph.
Parameters: label (str) – new value for the label Raises: PacmanConfigurationException – If there is an attempt to change the label once the vertex has been added to a graph
-
-
class
pacman.model.graphs.AbstractVirtual[source]¶ Bases:
objectA vertex which exists outside of the machine, allowing a graph to formally participate in I/O.
Note
Everything that is an instance of
AbstractVirtualis also an instance ofAbstractVertex.-
board_address¶ The IP address of the board to which the device is connected, or
Nonefor the boot board, or when using linked chip coordinates.Return type: str or None
-
get_link_data(machine)[source]¶ Get link data from the machine.
Parameters: machine (Machine) – The machine to get the data from Return type: AbstractLinkData
-
linked_chip_coordinates¶ The coordinates of the chip to which the device is connected, or
Nonefor the boot board, or when using a board address.Return type: tuple(int, int) or None
-
outgoing_keys_and_masks()[source]¶ Get the keys sent by the device or None if there aren’t any explicitly defined.
Return type: list(BaseKeyAndMask) or None
-