spinn_front_end_common.abstract_models package¶
Module contents¶
-
class
spinn_front_end_common.abstract_models.
AbstractChangableAfterRun
[source]¶ Bases:
object
An item that can be changed after a call to run, the changes to which might or might not require mapping or data generation.
-
mark_no_changes
()[source]¶ Marks the point after which changes are reported, so that new changes can be detected before the next check.
-
requires_data_generation
¶ True if changes that have been made require that data generation be performed. By default this returns False but can be overridden to indicate changes that require data regeneration.
Return type: bool
-
requires_mapping
¶ True if changes that have been made require that mapping be performed. By default this returns False but can be overridden to indicate changes that require mapping.
Return type: bool
-
-
class
spinn_front_end_common.abstract_models.
AbstractGeneratesDataSpecification
[source]¶ Bases:
object
-
generate_data_specification
(spec, placement)[source]¶ Generate a data specification.
Parameters: - spec (DataSpecificationGenerator) – The data specification to write to
- placement (Placement) – the placement the vertex is located at
Return type: None
-
-
class
spinn_front_end_common.abstract_models.
AbstractHasAssociatedBinary
[source]¶ Bases:
object
Marks a machine graph vertex that can be launched on a SpiNNaker core.
-
get_binary_start_type
()[source]¶ Get the start type of the binary to be run.
Return type: ExecutableType
-
-
class
spinn_front_end_common.abstract_models.
AbstractMachineAllocationController
[source]¶ Bases:
object
An object that controls the allocation of a machine
-
class
spinn_front_end_common.abstract_models.
AbstractProvidesIncomingPartitionConstraints
[source]¶ Bases:
object
A vertex that can provide constraints for its incoming edge partitions.
-
get_incoming_partition_constraints
(partition)[source]¶ Get constraints to be added to the given edge that goes in to a vertex of this vertex.
Parameters: partition (AbstractOutgoingEdgePartition) – An partition that goes in to this vertex Returns: A list of constraints Return type: list(AbstractConstraint)
-
-
class
spinn_front_end_common.abstract_models.
AbstractProvidesKeyToAtomMapping
[source]¶ Bases:
object
Interface to provide a mapping between routing key partitions and atom IDs
-
routing_key_partition_atom_mapping
(routing_info, partition)[source]¶ Returns a list of atom to key mapping.
Parameters: - routing_info (RoutingInfo) – the routing info object to consider
- partition (AbstractOutgoingEdgePartition) – the routing partition to handle.
Returns: a iterable of tuples of atom IDs to keys.
Return type: iterable(tuple(int,int))
-
-
class
spinn_front_end_common.abstract_models.
AbstractProvidesNKeysForPartition
[source]¶ Bases:
object
Allows a vertex to provide the number of keys for a partition of edges, rather than relying on the number of atoms in the pre-vertex.
-
get_n_keys_for_partition
(partition, graph_mapper)[source]¶ Get the number of keys required by the given partition of edges.
Parameters: - partition (AbstractOutgoingEdgePartition) – An partition that comes out of this vertex
- graph_mapper (
GraphMapper
) – A mapper between the graphs
Returns: A list of constraints
Return type: list(AbstractConstraint)
-
-
class
spinn_front_end_common.abstract_models.
AbstractProvidesOutgoingPartitionConstraints
[source]¶ Bases:
object
A vertex that can provide constraints for its outgoing edge partitions.
-
get_outgoing_partition_constraints
(partition)[source]¶ Get constraints to be added to the given edge that comes out of this vertex.
Parameters: partition (AbstractOutgoingEdgePartition) – An edge that comes out of this vertex Returns: A list of constraints Return type: list(AbstractConstraint)
-
-
class
spinn_front_end_common.abstract_models.
AbstractRecordable
[source]¶ Bases:
object
Indicates that an object might record some data in to SDRAM
-
class
spinn_front_end_common.abstract_models.
AbstractRewritesDataSpecification
[source]¶ Bases:
object
Indicates an object that allows data to be changed after run, and so can rewrite the data specification
-
regenerate_data_specification
(spec, placement)[source]¶ Regenerate the data specification, only generating regions that have changed and need to be reloaded
Parameters: - spec (DataSpecificationGenerator) – Where to write the regenerated spec
- placement (Placement) – Where are we regenerating for?
-
-
class
spinn_front_end_common.abstract_models.
AbstractSendMeMulticastCommandsVertex
[source]¶ Bases:
object
A vertex which wants to commands to be sent to it as multicast packets at fixed points in the simulation
-
pause_stop_commands
¶ The commands needed when pausing or stopping simulation
Return type: iterable(MultiCastCommand)
-
start_resume_commands
¶ The commands needed when starting or resuming simulation
Return type: iterable(MultiCastCommand)
-
timed_commands
¶ The commands to be sent at given times in the simulation
Return type: iterable(MultiCastCommand)
-
-
class
spinn_front_end_common.abstract_models.
AbstractSupportsDatabaseInjection
[source]¶ Bases:
object
Marks a machine vertex as supporting injection of information via a database running on the controlling host.
-
is_in_injection_mode
¶ Whether this vertex is actually in injection mode.
Return type: bool
-
-
class
spinn_front_end_common.abstract_models.
AbstractVertexWithEdgeToDependentVertices
[source]¶ Bases:
object
A vertex with a dependent vertices, which should be connected to this vertex by an edge directly to each of them
-
dependent_vertices
()[source]¶ Return the vertices which this vertex depends upon
Return type: iterable(ApplicationVertex)
-
edge_partition_identifiers_for_dependent_vertex
(vertex)[source]¶ Return the dependent edge identifiers for a particular dependent vertex.
Parameters: vertex (ApplicationVertex) – Return type: iterable(str)
-
-
class
spinn_front_end_common.abstract_models.
AbstractUsesMemoryIO
[source]¶ Bases:
object
Indicates that the class will write data using the
MemoryIO
interface.