spinn_front_end_common.abstract_models package

Module contents

class spinn_front_end_common.abstract_models.AbstractGeneratesDataSpecification

Bases: object

generate_data_specification(spec, placement)[source]

Generate a data specification.

Parameters:
Return type:

None

class spinn_front_end_common.abstract_models.AbstractHasAssociatedBinary

Bases: object

Marks a machine graph vertex that can be launched on a SpiNNaker core.

get_binary_file_name()[source]

Get the binary name to be run for this vertex.

Return type:str
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

Bases: object

An object that controls the allocation of a machine

close()[source]

Indicate that the use of the machine is complete.

extend_allocation(new_total_run_time)[source]

Extend the allocation of the machine from the original run time.

Parameters:new_total_run_time (float) – The total run time that is now required starting from when the machine was first allocated
where_is_machine(chip_x, chip_y)[source]

Locates and returns cabinet, frame, board for a given chip in a machine allocated to this job.

Parameters:
  • chip_x (int) – chip x location
  • chip_y (int) – chip y location
Returns:

(cabinet, frame, board)

Return type:

tuple(int,int,int)

class spinn_front_end_common.abstract_models.AbstractRewritesDataSpecification

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:
reload_required()[source]

Return true if any data region needs to be reloaded

Return type:bool
set_reload_required(new_value)[source]

Indicate that the regions have been reloaded

Parameters:new_value – the new value
Return type:None
class spinn_front_end_common.abstract_models.AbstractSendMeMulticastCommandsVertex

Bases: object

A 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.

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

Bases: object

Marks a machine vertex as supporting injection of information via a database running on the controlling host.

injection_partition_id

The partition that packets are being injected with

Return type:str
is_in_injection_mode

Whether this vertex is actually in injection mode.

Return type:bool
class spinn_front_end_common.abstract_models.AbstractVertexWithEdgeToDependentVertices

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.AbstractCanReset

Bases: object

Indicates an object that can be reset to time 0.

This is used when AbstractSpinnakerBase.reset is called. All Vertices and all edges in the original graph (the one added to by the user) will be checked and reset.

reset_to_first_timestep()[source]

Reset the object to first time step.

class spinn_front_end_common.abstract_models.AbstractSupportsBitFieldGeneration

Bases: object

Marks a vertex that can provide information about bitfields it wants generated on-chip.

bit_field_base_address(placement)[source]

Returns the SDRAM address for the bit field table data.

Parameters:placement (Placement) –
Returns:the SDRAM address for the bitfield address
Return type:int
bit_field_builder_region(placement)[source]

returns the SDRAM address for the bit field builder data

Parameters:placement (Placement) –
Returns:the SDRAM address for the bitfield builder data
Return type:int
class spinn_front_end_common.abstract_models.AbstractSupportsBitFieldRoutingCompression

Bases: object

Marks a machine vertex that can support having the on-chip bitfield compressor running on its core.

bit_field_base_address(placement)[source]

Returns the SDRAM address for the bit-field table data.

Parameters:placement (Placement) –
Returns:the SDRAM address for the bitfield address
Return type:int
regeneratable_sdram_blocks_and_sizes(placement)[source]

Returns the SDRAM addresses and sizes for the cores’ SDRAM that are available (borrowed) for generating bitfield tables.

Parameters:placement (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)
Return type:list(tuple(int,int))
class spinn_front_end_common.abstract_models.HasCustomAtomKeyMap

Bases: object

An 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.

get_atom_key_map(pre_vertex, partition_id, routing_info)[source]
Get the mapping between atoms and keys for the given partition id,
and for the given machine pre-vertex
Parameters:
  • pre_vertex (MachineVertex) – The machine vertex to get the map for
  • partition_id (str) – The partition to get the map for
  • routing_info (RoutingInfo) – Routing information
Returns:

A list of (atom_id, key)

Return type:

list(tuple(int,int))