spinn_front_end_common.abstract_models package¶
Subpackages¶
Submodules¶
spinn_front_end_common.abstract_models.abstract_supports_bit_field_routing_compression module¶
- class spinn_front_end_common.abstract_models.abstract_supports_bit_field_routing_compression.AbstractSupportsBitFieldRoutingCompression[source]¶
Bases:
objectMarks a machine vertex that can support having the on-chip bitfield compressor running on its core.
- abstractmethod bit_field_base_address(placement: Placement) int[source]¶
Returns the SDRAM address for the bit-field table data.
- Parameters:
placement
- Returns:
the SDRAM address for the bitfield address
- abstractmethod regeneratable_sdram_blocks_and_sizes(placement: Placement) List[Tuple[int, int]][source]¶
Returns the SDRAM addresses and sizes for the cores’ SDRAM that are available (borrowed) for generating bitfield tables.
- Parameters:
placement
- Returns:
list of tuples containing (the SDRAM address for the cores SDRAM address’s for the core’s SDRAM that can be used to generate bitfield tables loaded, and the size of memory chunks located there)
Module contents¶
- class spinn_front_end_common.abstract_models.AbstractGeneratesDataSpecification¶
Bases:
objectA machine vertex that generates a data specification that describes what its binary’s initialisation data is.
- abstractmethod generate_data_specification(spec: DataSpecificationGenerator, placement: Placement) None[source]¶
Generate a data specification.
- Parameters:
spec – The data specification to write to
placement – The placement the vertex is located at
- abstract property label: str | None¶
The current label to the vertex.
This label could change when the vertex is added to the graph.
See MachineVertex.label
Defined here too so can be called on object known to be this type
- abstract property sdram_required: AbstractSDRAM¶
The SDRAM space required by the vertex.
See MachineVertex.sdram_required
Defined here too so can be called on object known to be this type
- class spinn_front_end_common.abstract_models.AbstractHasAssociatedBinary¶
Bases:
objectMarks a machine graph vertex that can be launched on a SpiNNaker core.
- class spinn_front_end_common.abstract_models.AbstractRewritesDataSpecification¶
Bases:
objectIndicates an object that allows data to be changed after run, and so can rewrite the data specification.
- abstractmethod regenerate_data_specification(spec: DataSpecificationReloader, placement: Placement) None[source]¶
Regenerate the data specification, only generating regions that have changed and need to be reloaded.
- Parameters:
spec – Where to write the regenerated spec
placement – Where are we regenerating for?
- class spinn_front_end_common.abstract_models.AbstractSendMeMulticastCommandsVertex¶
Bases:
objectA device that may be a virtual vertex which wants to commands to be sent to it as multicast packets at fixed points in the simulation.
Note
The device might not be a vertex at all. It could instead be instantiated entirely host side, in which case these methods will never be called.
- abstract property pause_stop_commands: Iterable[MultiCastCommand]¶
The commands needed when pausing or stopping simulation.
- abstract property start_resume_commands: Iterable[MultiCastCommand]¶
The commands needed when starting or resuming simulation.
- abstract property timed_commands: List[MultiCastCommand]¶
The commands to be sent at given times in the simulation.
- class spinn_front_end_common.abstract_models.AbstractSupportsDatabaseInjection¶
Bases:
objectMarks a machine vertex as supporting injection of information via a database running on the controlling host.
- class spinn_front_end_common.abstract_models.AbstractVertexWithEdgeToDependentVertices¶
Bases:
objectA vertex with a dependent vertices, which should be connected to this vertex by an edge directly to each of them.
- class spinn_front_end_common.abstract_models.HasCustomAtomKeyMap¶
Bases:
objectAn object that can provide a custom atom-key mapping for a partition. Useful when there isn’t a one-to-one correspondence between atoms and keys for a given partition.
- abstractmethod get_atom_key_map(pre_vertex: MachineVertex, partition_id: str, routing_info: RoutingInfo) Iterable[Tuple[int, int]][source]¶
Get the mapping between atoms and keys for the given partition id, and for the given machine pre-vertex.
- Parameters:
pre_vertex – The machine vertex to get the map for
partition_id – The partition to get the map for
routing_info – Routing information
- Returns:
A list of (atom_id, key)
- class spinn_front_end_common.abstract_models.LiveOutputDevice¶
Bases:
objectIndicates a device that will live-output other vertices, and so has a different mapping of keys to atoms.
- abstractmethod get_device_output_keys() Dict[MachineVertex, List[Tuple[int, int]]][source]¶
Get the atom key mapping to be output for each machine vertex received by the device to be output. Note that the device may change the keys as they pass through it, and this needs to be recognised here.
- Returns:
Mapping of machine vertex to list of (atom_id, key)