spinn_front_end_common.abstract_models.impl package

Module contents

class spinn_front_end_common.abstract_models.impl.MachineAllocationController(thread_name, hostname=None, connection_data=None)[source]

Bases: spinn_front_end_common.abstract_models.abstract_machine_allocation_controller.AbstractMachineAllocationController

How to manage the allocation of a machine so that it gets cleaned up neatly when the script dies.

Parameters:thread_name (str) –
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
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

class spinn_front_end_common.abstract_models.impl.MachineDataSpecableVertex[source]

Bases: spinn_front_end_common.abstract_models.abstract_generates_data_specification.AbstractGeneratesDataSpecification

Support for a vertex that simplifies generating a data specification.

generate_data_specification(spec, placement)[source]

Generate a data specification.

Parameters:
generate_machine_data_specification(spec, placement, iptags, reverse_iptags)[source]
Parameters:
  • spec (DataSpecificationGenerator) – The data specification to write into.
  • placement (Placement) – Where this node is on the SpiNNaker machine.
  • iptags (iterable(IPTag) or None) – The (forward) IP tags for the vertex, if any
  • reverse_iptags (iterable(ReverseIPTag) or None) – The reverse IP tags for the vertex, if any
class spinn_front_end_common.abstract_models.impl.TDMAAwareApplicationVertex(label, max_atoms_per_core, splitter=None)[source]

Bases: pacman.model.graphs.application.application_vertex.ApplicationVertex

An application vertex that contains the code for using TDMA to spread packet transmission to try to avoid overloading any SpiNNaker routers.

Parameters:
  • label (str or None) – The name of the vertex.
  • max_atoms_per_core (int) – The max number of atoms that can be placed on a core, used in partitioning.
generate_tdma_data_specification_data(vertex_index)[source]

Generates the TDMA configuration data needed for the data spec.

Parameters:vertex_index (int) – the machine vertex index in the pop
Returns:array of data to write.
Return type:list(int)
get_n_cores()[source]

Get the number of cores this application vertex is using in the TDMA.

Returns:the number of cores to use in the TDMA
Return type:int
get_n_phases()[source]

Compute the number of phases needed for this application vertex. This is the maximum number of packets any machine vertex created by this application vertex can send in one simulation time step, which defaults to the number of atoms in the graph.

Return type:int
get_tdma_provenance_item(x, y, p, desc_label, tdma_slots_missed)[source]

Get the provenance item used for the TDMA provenance.

Parameters:
  • x (int) – x coordinate of the chip where this core
  • y (int) – y coordinate of the core where this core
  • p (int) – virtual id of the core
  • desc_label (str) – a descriptive label for the vertex
  • tdma_slots_missed (int) – the number of TDMA slots missed
set_initial_offset(new_value)[source]

Sets the initial offset.

Parameters:new_value (int) – the new initial offset, in clock ticks
set_other_timings(clocks_between_cores, n_slots, clocks_between_spikes, n_phases, clocks_per_cycle)[source]

Sets the other timings needed for the TDMA.

Parameters:
  • clocks_between_cores (int) – clock cycles between cores
  • n_slots (int) – the number of slots
  • clocks_between_spikes (int) – the clock cycles to wait between spikes
  • n_phases (int) – the number of phases
  • clocks_per_cycle (int) – the number of clock cycles per TDMA cycle
tdma_sdram_size_in_bytes

The number of bytes needed by the TDMA data.

Return type:int