pacman.data package¶
Submodules¶
pacman.data.pacman_data_writer module¶
-
class
pacman.data.pacman_data_writer.
PacmanDataWriter
(state)[source]¶ Bases:
spinn_machine.data.machine_data_writer.MachineDataWriter
,pacman.data.PacmanDataView
See
spinn_utilities.data.UtilsDataWriter
.This class is designed to only be used directly within the PACMAN repository unit tests as all methods are available to subclasses.
Parameters: state (DataStatus) – State writer should be in -
classmethod
add_edge
(edge, outgoing_edge_partition_name)[source]¶ Adds an Application edge to the user graph.
Syntactic sugar for get_graph().add_edge()
Parameters: - edge (AbstractEdge) – The edge to add
- outgoing_edge_partition_name (str) – The name of the edge partition to add the edge to; each edge partition is the partition of edges that start at the same vertex
Return type: Raises: - PacmanConfigurationException – when both graphs contain vertices
- PacmanInvalidParameterException – If the edge is not of a valid type or if edges have already been added to this partition that start at a different vertex to this one
- SpiNNUtilsException – If the graph is currently unavailable
- SimulatorNotSetupException – If called before sim.setup
- SimulatorShutdownException – If called after sim.end
-
add_monitor_all_chips
(vertex)[source]¶ Reports that a monitor has been added to every Chip.
Should be called once for each monitor added to all Chips.
Should not be called for Ethernet only monitors.
Only affect is to change the numbers reported by the get_monitor methods
Parameters: vertex (MachineVertex) – One of the Vertcies added to each Core
-
classmethod
add_vertex
(vertex)[source]¶ Adds an Application vertex to the user graph.
Syntactic sugar for get_graph().add_vertex()
Parameters: vertex (ApplicationVertex) – The vertex to add to the graph
Raises: - PacmanConfigurationException – when both graphs contain vertices
- PacmanConfigurationException – If there is an attempt to add the same vertex more than once
- SpiNNUtilsException – If the graph is currently unavailable
- SimulatorNotSetupException – If called before sim.setup
- SimulatorShutdownException – If called after sim.end
-
set_placements
(placements)[source]¶ Set the placements.
Parameters: placements (Placements) – Raises: TypeError – if the placements is not a Placements
-
set_plan_n_timesteps
(plan_n_timesteps)[source]¶ Sets the plan_n_timestep. Use None for run forever.
Parameters: Raises: - TypeError – if the plan_n_timesteps are not an int or None
- PacmanConfigurationException – On a negative plan_n_timesteps
-
set_precompressed
(router_tables)[source]¶ Sets the precompressed router_tables value.
Parameters: router_tables (MulticastRoutingTables) – new value Raises: TypeError – if the router_tables is not a MulticastRoutingTables
-
set_routing_infos
(routing_infos)[source]¶ Set the routing_infos.
Parameters: routing_infos (RoutingInfo) – Raises: TypeError – if the routing_infos is not a RoutingInfo
-
set_routing_table_by_partition
(routing_table_by_partition)[source]¶ Sets the _routing_table_by_partition.
Parameters: routing_table_by_partition (MulticastRoutingTableByPartition) – raises TypeError: if routing_table_by_partition is no a MulticastRoutingTableByPartition
-
set_uncompressed
(router_tables)[source]¶ Sets the uncompressed router_tables value.
Parameters: router_tables (MulticastRoutingTables) – new value Raises: TypeError – if the router_tables is not a MulticastRoutingTables
-
classmethod
Module contents¶
-
class
pacman.data.
PacmanDataView
¶ Bases:
spinn_machine.data.machine_data_view.MachineDataView
Adds the extra Methods to the View for PACMAN level.
See
UtilsDataView
for a more detailed description.This class is designed to only be used directly within the PACMAN repository as all methods are available to subclasses
-
classmethod
add_edge
(edge, outgoing_edge_partition_name)[source]¶ Adds an Application edge to the user graph.
Syntactic sugar for get_graph().add_edge()
Parameters: - edge (AbstractEdge) – The edge to add
- outgoing_edge_partition_name (str) – The name of the edge partition to add the edge to; each edge partition is the partition of edges that start at the same vertex
Return type: Raises: - PacmanConfigurationException – when both graphs contain vertices
- PacmanInvalidParameterException – If the edge is not of a valid type or if edges have already been added to this partition that start at a different vertex to this one
- SpiNNUtilsException – If the graph is currently unavailable
- SimulatorNotSetupException – If called before sim.setup
- SimulatorShutdownException – If called after sim.end
-
classmethod
add_vertex
(vertex)[source]¶ Adds an Application vertex to the user graph.
Syntactic sugar for get_graph().add_vertex()
Parameters: vertex (ApplicationVertex) – The vertex to add to the graph
Raises: - PacmanConfigurationException – when both graphs contain vertices
- PacmanConfigurationException – If there is an attempt to add the same vertex more than once
- SpiNNUtilsException – If the graph is currently unavailable
- SimulatorNotSetupException – If called before sim.setup
- SimulatorShutdownException – If called after sim.end
-
classmethod
get_edges
()[source]¶ Get all the edges in the graph.
Syntactic sugar for get_graph().edges
Return type: list(AbstractEdge)
-
classmethod
get_monitor_cores
()[source]¶ The number of cores on every Chip reported to be used by monitors.
Ethernet Chips may have more.
Does not include the system core reserved by the machine itself
Return type: int
-
classmethod
get_monitor_sdram
()[source]¶ The amount of sdram on every Chip reported to be used by monitors.
Ethernet Chips may have more.
Does not include the system sdram reserved by the machine itself
Return type: int
-
classmethod
get_n_machine_vertices
()[source]¶ Gets the number of machine vertices via the application graph.
Return type: int
-
classmethod
get_n_partitions
()[source]¶ The partitions in the user application graph.
Syntactic sugar for get_graph().n_outgoing_edge_partitions
Return type: int Raises: SpiNNUtilsException – If the graph is currently unavailable
-
classmethod
get_n_placements
()[source]¶ The number of placements.
Return type: int Raises: SpiNNUtilsException – If the placements are currently unavailable
-
classmethod
get_n_vertices
()[source]¶ The number of vertices in the user application graph.
Syntactic sugar for get_graph().n_vertices
Return type: int Raises: SpiNNUtilsException – If the graph is currently unavailable
-
classmethod
get_outgoing_edge_partitions_starting_at_vertex
(vertex)[source]¶ Get all the edge partitions that start at the given vertex.
Syntactic sugar for get_graph().get_outgoing_edge_partitions_starting_at_vertex()
Parameters: vertex (AbstractVertex) – The vertex at which the edge partitions to find starts Return type: iterable(AbstractEdgePartition)
-
classmethod
get_placement_of_vertex
(vertex)[source]¶ Return the placement information for a vertex.
Syntactic sugar for get_placements().get_placement_of_vertex(vertex). Optimised for speed
Parameters: vertex (MachineVertex) – The vertex to find the placement of
Returns: The placement
Return type: Raises: - PacmanNotPlacedError – If the vertex has not been placed.
- SpiNNUtilsException – If the placements is currently unavailable
-
classmethod
get_placement_on_processor
(x, y, p)[source]¶ Get the vertex on a specific processor, or raise an exception if the processor has not been allocated.
Parameters: Returns: the vertex placed on the given processor
Return type: Raises: - PacmanProcessorNotOccupiedError – If the processor is not occupied
- SpiNNUtilsException – If the placements are currently unavailable
-
classmethod
get_plan_n_timestep
()[source]¶ The number of timesteps to plan for in an auto-pause-resume cycle.
Use by partitioners and such, but not to reserve data regions.
Return type: int or None Returns: The planned number of timesteps, or None if run forever.
-
classmethod
get_precompressed
()[source]¶ Get the pre-compressed routing tables.
This may be the same object as the uncompressed ones if precompression is skipped or determined to be not needed.
Return type: MulticastRoutingTables Returns: The routing tables after the range compressor or if not to be run the original tables Raises: SpiNNUtilsException – If the tables is currently unavailable
-
classmethod
get_routing_infos
()[source]¶ The routing information, if known.
Raises: SpiNNUtilsException – If the routing_infos is currently unavailable
-
classmethod
get_routing_table_by_partition
()[source]¶ The MulticastRoutingTableByPartition, if it has been set.
Return type: MulticastRoutingTableByPartition Raises: SpiNNUtilsException – If the tables is currently unavailable
The Tags object if known.
Return type: Tags Raises: SpiNNUtilsException – If the tags is currently unavailable
-
classmethod
get_uncompressed
()[source]¶ Get the uncompressed routing tables.
Return type: MulticastRoutingTables Returns: The original routing tables Raises: SpiNNUtilsException – If the tables is currently unavailable
-
classmethod
get_vertices_by_type
(vertex_type)[source]¶ The application vertices in the graph of the specific type.
Syntactic sugar for:
for vertex in get_graph().vertices if isinstance(vertex, vertex_type) ...
Note
The result is a generator so can only be used in a single loop
Parameters: vertex_type (type or iterable(type)) – The type(s) to filter the vertices on (can be anything acceptable to the isinstance built-in). Return type: iterable(AbstractVertex) Raises: SpiNNUtilsException – If the graph is currently unavailable
-
classmethod
iterate_machine_vertices
()[source]¶ Iterate over the Machine vertices via the application graph.
Return type: iterable(MachineVertex)
-
classmethod
iterate_partitions
()[source]¶ The partitions in the user application graphs as an iterator.
Syntactic sugar for get_graph().outgoing_edge_partitions
Return type: iterable(ApplicationEdgePartition) Raises: SpiNNUtilsException – If the graph is currently unavailable
-
classmethod
iterate_placemements
()[source]¶ Iterates over the Placement objects.
Syntactic sugar for get_placements().placements
Return type: iterable(Placement)
-
classmethod
iterate_placements_by_vertex_type
(vertex_type)[source]¶ Iterate over placements on any chip with this vertex_type.
Parameters: vertex_type (type) – Class of vertex to find Return type: iterable(Placement) Raises: SpiNNUtilsException – If the placements are currently unavailable
-
classmethod
iterate_placements_by_xy_and_type
(x, y, vertex_type)[source]¶ Iterate over placements with this x, y and type.
Parameters: Return type: iterable(Placement)
Raises: SpiNNUtilsException – If the placements are currently unavailable
-
classmethod
iterate_placements_on_core
(x, y)[source]¶ Iterate over placements with this x and y.
Parameters: Return type: iterable(Placement)
Raises: SpiNNUtilsException – If the placements are currently unavailable
-
classmethod
iterate_vertices
()[source]¶ The vertices in the user application graph.
Syntactic sugar for get_graph().vertices except that the result is an iterable and not a list.
Return type: iterable(AbstractVertex) Raises: SpiNNUtilsException – If the graph is currently unavailable
-
classmethod