These pages document the python code for the DataSpecification module which is part of the SpiNNaker Project.

This code depends on SpiNNUtils, SpiNNMachine and SpiNNStorageHandlers (Combined_documentation).

Data Specification

Used to generate memory images for a SpiNNaker CPU core from a set of instructions.

The main part of this package is the data_specification.DataSpecificationGenerator class. This is used to generate a “Data Specification”, which can then be executed to produce a memory image. This package also handles this function if required, through the data_specification.DataSpecificationExecutor class.

Functional Requirements

Creation of a Data Specification Language file which can be executed to produce a memory image.

  • Any errors that can be checked during the creation of the specification should throw an exception.
  • It will be impossible to detect all errors at creation time.
  • There should be no assumption of where the data specification will be stored, although a default provision of a way to write the specification to a file is acceptable.

Execution of a Data Specification Language file, producing a memory image.

  • This should detect any errors during execution and report them, halting the execution.
  • There should be no assumption of where the data specification is read from, although a default provision of a way to read the specification from a file is acceptable.

Use Cases

There are a number of use-cases of this library:

  • DataSpecificationGenerator is used to create a compressed memory image which can be expanded later, to reduce the amount of data that needs to be transferred over a slow connection.
  • DataSpecificationExecutor is used to execute a previously generated specification at the receiving end of a slow connection.

Indices and tables