spinn_front_end_common.interface.interface_functions package

Module contents

class spinn_front_end_common.interface.interface_functions.ApplicationFinisher[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.ApplicationRunner[source]

Bases: object

Ensures all cores are initialised correctly, ran, and completed successfully.

run_application(buffer_manager, notifier, executable_types, app_id, txrx, runtime, time_scale_factor, no_sync_changes, time_threshold, run_until_complete)[source]
class spinn_front_end_common.interface.interface_functions.BufferExtractor[source]

Bases: object

Extracts data in between runs

class spinn_front_end_common.interface.interface_functions.BufferManagerCreator[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.ChipIOBufClearer[source]

Bases: object

Clears the logging output buffer of an application running on a SpiNNaker machine.

class spinn_front_end_common.interface.interface_functions.ChipIOBufExtractor(recovery_mode=False, filename_template='iobuf_for_chip_{}_{}_processor_id_{}.txt')[source]

Bases: object

Extract the logging output buffers from the machine, and separates lines based on their prefix.

class spinn_front_end_common.interface.interface_functions.ChipProvenanceUpdater[source]

Bases: object

Forces all cores to generate provenance data, and then exit

class spinn_front_end_common.interface.interface_functions.ChipRuntimeUpdater[source]

Bases: object

Updates the runtime of an application running on a SpiNNaker machine.

class spinn_front_end_common.interface.interface_functions.DatabaseInterface[source]

Bases: object

Writes a database of the graph(s) and other information

database_file_path
needs_database
class spinn_front_end_common.interface.interface_functions.DataInMulticastRoutingGenerator[source]

Bases: object

Generates routing table entries used by the data in processes with the extra monitor cores.

class spinn_front_end_common.interface.interface_functions.DSGRegionReloader[source]

Bases: object

Regenerates and reloads the data specifications.

class spinn_front_end_common.interface.interface_functions.EdgeToNKeysMapper[source]

Bases: object

Works out the number of keys needed for each edge.

class spinn_front_end_common.interface.interface_functions.GraphBinaryGatherer[source]

Bases: object

Extracts binaries to be executed.

class spinn_front_end_common.interface.interface_functions.GraphDataSpecificationWriter[source]

Bases: object

Executes the data specification generation step.

class spinn_front_end_common.interface.interface_functions.GraphMeasurer[source]

Bases: object

Works out how many chips a machine graph needs.

class spinn_front_end_common.interface.interface_functions.GraphProvenanceGatherer[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.HBPAllocator[source]

Bases: object

Request a machine from the HBP remote access server that will fit a number of chips.

class spinn_front_end_common.interface.interface_functions.HBPMaxMachineGenerator[source]

Bases: object

Generates the width and height of the maximum machine a given HBP server can generate.

class spinn_front_end_common.interface.interface_functions.HostExecuteDataSpecification[source]

Bases: object

Executes the host based data specification.

execute_application_data_specs(transceiver, machine, app_id, dsg_targets, uses_advanced_monitors, executable_targets, placements=None, extra_monitor_cores=None, extra_monitor_cores_to_ethernet_connection_map=None, report_folder=None, java_caller=None, processor_to_app_data_base_address=None, disable_advanced_monitor_usage=False)[source]

Execute the data specs for all non-system targets.

Parameters:
  • machine – the python representation of the SpiNNaker machine
  • transceiver – the spinnman instance
  • app_id – the application ID of the simulation
  • dsg_targets – map of placement to file path
  • uses_advanced_monitors – whether to use fast data in protocol
  • executable_targets – what core will running what binary
  • placements – where vertices are located
  • extra_monitor_cores – the deployed extra monitors, if any
  • extra_monitor_cores_to_ethernet_connection_map – how to talk to extra monitor cores
  • processor_to_app_data_base_address – map of placement and DSG data
  • disable_advanced_monitor_usage – whether to avoid using advanced monitors even if they’re available
Returns:

map of placement and DSG data

execute_system_data_specs(transceiver, machine, app_id, dsg_targets, executable_targets, report_folder=None, java_caller=None, processor_to_app_data_base_address=None)[source]

Execute the data specs for all system targets.

Parameters:
  • machine (Machine) – the python representation of the spinnaker machine
  • transceiver (Transceiver) – the spinnman instance
  • app_id (int) – the application ID of the simulation
  • dsg_targets (dict(tuple(int,int,int),str)) – map of placement to file path
  • executable_targets (ExecutableTargets) – the map between binaries and locations and executable types
Returns:

map of placement and DSG data, and loaded data flag.

Return type:

dict(tuple(int,int,int), DataWritten)

first = True
class spinn_front_end_common.interface.interface_functions.InsertChipPowerMonitorsToGraphs[source]

Bases: object

Adds chip power monitors into a given graph.

class spinn_front_end_common.interface.interface_functions.InsertEdgesToExtraMonitorFunctionality[source]

Bases: object

Inserts edges between vertices who use MC speed up and its local MC data gatherer.

class spinn_front_end_common.interface.interface_functions.InsertEdgesToLivePacketGatherers[source]

Bases: object

Add edges from the recorded vertices to the local Live PacketGatherers.

class spinn_front_end_common.interface.interface_functions.InsertExtraMonitorVerticesToGraphs[source]

Bases: object

Inserts the extra monitor vertices into the graph that correspond to the extra monitor cores required.

class spinn_front_end_common.interface.interface_functions.InsertLivePacketGatherersToGraphs[source]

Bases: object

Adds LPGs as required into a given graph

class spinn_front_end_common.interface.interface_functions.LoadExecutableImages[source]

Bases: object

Go through the executable targets and load each binary to everywhere and then send a start request to the cores that actually use it.

load_app_images(executable_targets, app_id, transceiver)[source]
load_sys_images(executable_targets, app_id, transceiver)[source]
class spinn_front_end_common.interface.interface_functions.LocateExecutableStartType[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.LoadFixedRoutes[source]

Bases: object

Load a set of fixed routes onto a SpiNNaker machine.

class spinn_front_end_common.interface.interface_functions.MachineGenerator[source]

Bases: object

Makes a transceiver and a Machine object.

class spinn_front_end_common.interface.interface_functions.NotificationProtocol[source]

Bases: object

The notification protocol for external device interaction

send_read_notification(database_directory)[source]

Send the read notifications via the notification protocol

Parameters:database_directory – the path to the database
Return type:None:
send_start_resume_notification()[source]

Send the start notifications via the notification protocol

Return type:None:
send_stop_pause_notification()[source]

Send the stop or pause notifications via the notification protocol

Return type:None:
stop()[source]

Ends the notification protocol

Return type:None:
wait_for_confirmation()[source]

Waits for devices to confirm they have read the database via the notification protocol

Return type:None:
class spinn_front_end_common.interface.interface_functions.PlacementsProvenanceGatherer[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.PreAllocateResourcesForChipPowerMonitor[source]

Bases: object

Adds chip power monitor resources as required for a machine

class spinn_front_end_common.interface.interface_functions.PreAllocateResourcesForExtraMonitorSupport[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.PreAllocateResourcesForLivePacketGatherers[source]

Bases: object

Adds Live Packet Gatherer resources as required for a machine

class spinn_front_end_common.interface.interface_functions.ProcessPartitionConstraints[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.ProfileDataGatherer[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.ProvenanceJSONWriter[source]

Bases: object

Write provenance data into JSON

class spinn_front_end_common.interface.interface_functions.ProvenanceXMLWriter[source]

Bases: object

Write provenance data into XML

class spinn_front_end_common.interface.interface_functions.RouterProvenanceGatherer[source]

Bases: object

Gathers diagnostics from the routers.

class spinn_front_end_common.interface.interface_functions.RoutingSetup[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.RoutingTableLoader[source]

Bases: object

class spinn_front_end_common.interface.interface_functions.SpallocAllocator[source]

Bases: object

Request a machine from a SPALLOC server that will fit the given number of chips

class spinn_front_end_common.interface.interface_functions.SpallocMaxMachineGenerator[source]

Bases: object

Generates a maximum virtual machine a given allocation server can generate

class spinn_front_end_common.interface.interface_functions.TagsLoader[source]

Bases: object

Loads tags onto the machine

static load_iptags(iptags, transceiver, progress_bar)[source]

Loads all the IP tags individually.

Parameters:
  • iptags – the IP tags to be loaded.
  • transceiver – the transceiver object
Return type:

None

static load_reverse_iptags(reverse_ip_tags, transceiver, progress_bar)[source]

Loads all the reverse IP tags individually.

Parameters:
  • reverse_ip_tags – the reverse IP tags to be loaded
  • transceiver – the transceiver object
Return type:

None

class spinn_front_end_common.interface.interface_functions.TDMAAgendaBuilder[source]

Bases: object

Algorithm that builds an agenda for transmissions. It uses a TDMA (time-division multiple access) system and graph colouring to deduce the agenda set up. Ensures parallel transmissions so that the destination should never be overloaded.

class spinn_front_end_common.interface.interface_functions.VirtualMachineGenerator[source]

Bases: object

Generates a virtual machine with given dimensions and configuration.