spinn_front_end_common.interface package

Subpackages

Submodules

spinn_front_end_common.interface.abstract_spinnaker_base module

main interface for the SpiNNaker tools

class spinn_front_end_common.interface.abstract_spinnaker_base.AbstractSpinnakerBase(data_writer_cls: Type[FecDataWriter] | None = None)[source]

Bases: ConfigHandler

Main interface into the tools logic flow.

Parameters:

data_writer_cls (FecDataWriter) – The Global data writer class

continue_simulation() None[source]

Continue a simulation that has been started in stepped mode.

exception_handler(exc_type: Type[BaseException], value: BaseException, traceback_obj: TracebackType | None)[source]

Handler of exceptions.

Parameters:
  • exc_type (type) – the type of exception received

  • value (Exception) – the value of the exception

  • traceback_obj (traceback) – the trace back stuff

property get_number_of_available_cores_on_machine: int

The number of available cores on the machine after taking into account preallocated resources.

Returns:

number of available cores

Return type:

int

reset() None[source]

Puts the simulation back at time zero.

run(run_time: float | None, sync_time: float = 0)[source]

Run a simulation for a fixed amount of time.

Parameters:
  • run_time (int) – the run duration in milliseconds.

  • sync_time (float) – If not 0, this specifies that the simulation should pause after this duration. The continue_simulation() method must then be called for the simulation to continue.

run_until_complete(n_steps: int | None = None)[source]

Run a simulation until it completes.

Parameters:

n_steps (int) – If not None, this specifies that the simulation should be requested to run for the given number of steps. The host will still wait until the simulation itself says it has completed.

stop() None[source]

End running of the simulation.

stop_run() None[source]

Request that the current infinite run stop.

Note

This will need to be called from another thread as the infinite run call is blocking.

Raises:

SpiNNUtilsException – If the stop_run was not expected in the current state.

spinn_front_end_common.interface.config_handler module

class spinn_front_end_common.interface.config_handler.ConfigHandler(data_writer_cls: Type[FecDataWriter] | None = None)[source]

Bases: object

Superclass of AbstractSpinnakerBase that handles function only dependent of the configuration and the order its methods are called.

Parameters:

data_writer (FecDataWriter) – The Global data writer object

spinn_front_end_common.interface.config_setup module

spinn_front_end_common.interface.config_setup.add_spinnaker_cfg() None[source]

Add the local configuration and all dependent configuration files.

spinn_front_end_common.interface.config_setup.unittest_setup() None[source]

Does all the steps that may be required before a unit test.

Resets the configurations so only the local default configurations are included.

Unsets any previous simulators and temporary directories.

Note

This file should only be called from spinn_front_end_common/tests

spinn_front_end_common.interface.java_caller module

class spinn_front_end_common.interface.java_caller.JavaCaller[source]

Bases: object

Support class that holds all the stuff for running stuff in Java. This includes the work of preparing data for transmitting to Java and back.

This separates the choices of how to call the Java batch vs streaming, jar locations, parameters, etc. from the rest of the Python code.

Creates a Java caller and checks the user/configuration parameters.

Raises:

ConfigurationException – if simple parameter checking fails.

extract_all_data() None[source]

Gets all the data from the previously set placements and put these in the previously set database.

:raises subprocess.CalledProcessError

On failure of the Java code.

load_app_data_specification(use_monitors: bool) None[source]

Writes all the data specifications for application cores, uploading the result to the machine.

Note

May assume that system cores are already loaded and running if use_monitors is set to True.

Parameters:

use_monitors (bool)

Raises:

subprocess.CalledProcessError – On failure of the Java code.

load_system_data_specification() None[source]

Writes all the data specifications for system cores, uploading the result to the machine.

Raises:

subprocess.CalledProcessError – On failure of the Java code.

set_advanced_monitors() None[source]

Create information describing what’s going on with the monitor cores.

set_placements(used_placements: Iterable[Placement])[source]

Passes in the placements leaving this class to decide pass it to Java.

Currently the extra information extracted is recording region base address but this could change if recording region saved in the database.

Currently this method uses JSON but that may well change to using the database.

Parameters:

used_placements (Placements) – Placements that are recording. May not be all placements

Module contents