spinn_front_end_common.abstract_models package

Module contents

class spinn_front_end_common.abstract_models.AbstractGeneratesDataSpecification[source]

Bases: object

generate_data_specification(spec, placement)[source]

Generate a data specification.

Parameters:
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_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[source]

Bases: object

An object that controls the allocation of a machine

close()[source]

Indicate that the use of the machine is complete.

create_transceiver()[source]

Create a transceiver for talking to the allocated machine, and make sure everything is ready for use (i.e. boot and discover connections if needed).

Return type:Transceiver
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
make_report(filename)[source]

Asks the controller to make a report of details of allocations. By default, this does nothing.

open_eieio_connection(chip_x, chip_y)[source]

Open a connection to a specific ethernet chip for EIEIO. Caller will have to arrange for SpiNNaker to pay attention to the connection.

Parameters:
  • chip_x (int) – ethernet chip x location
  • chip_y (int) – ethernet chip y location
Return type:

EIEIOConnection

open_eieio_listener()[source]

Open an unbound EIEIO connection.

Return type:EIEIOConnection
open_sdp_connection(chip_x, chip_y, udp_port=17893)[source]

Open a connection to a specific ethernet chip. Caller will have to arrange for SpiNNaker to pay attention to the connection.

Parameters:
  • chip_x (int) – ethernet chip x location
  • chip_y (int) – ethernet chip y location
  • udp_port (int) – the UDP port on the chip to connect to; connecting to a non-SCP port will result in a connection that can’t easily be configured.
Return type:

SDPConnection

proxying

Whether this is a proxying connection. False unless overridden.

Return type:bool
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[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:
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
class spinn_front_end_common.abstract_models.AbstractSendMeMulticastCommandsVertex[source]

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[source]

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[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.AbstractCanReset[source]

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[source]

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[source]

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[source]

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))