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: 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-enabled chip for EIEIO. Caller will have to arrange for SpiNNaker to pay attention to the connection.

The coordinates will be job-relative.

Parameters:
  • chip_x (int) – Ethernet-enabled chip X coordinate

  • chip_y (int) – Ethernet-enabled chip Y coordinate

Return type:

EIEIOConnection

open_eieio_listener()[source]

Open an unbound EIEIO connection. This may be used to communicate with any board of the job.

Return type:

EIEIOConnection

open_sdp_connection(chip_x, chip_y, udp_port=17893)[source]

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

The coordinates will be job-relative.

Parameters:
  • chip_x (int) – Ethernet-enabled chip X coordinate

  • chip_y (int) – Ethernet-enabled chip Y coordinate

  • 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: AbstractGeneratesDataSpecification

Support for a vertex that simplifies generating a data specification.

generate_data_specification(spec, placement)[source]

Generate a data specification.

Parameters:
abstract 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: 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)

abstract 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

property tdma_sdram_size_in_bytes

The number of bytes needed by the TDMA data.

Return type:

int