Toolchain‎ > ‎

Mapper and Loader

The DAMSON loader is responsible for loading and executing a DAMSON program on SpiNNaker hardware. Internally this requires DAMSON nodes to mapped to appropriate cores, interrupt vectors to be created, cores to be initialised with the correct data and code and coordination of executing the DAMSON program on the SpiNNaker hardware device. The result of executing the loader will be that any debug (printf) output will be relayed to the host machine (and displayed in the console) and any logs will be generated in the current working directory with a format equivalent to the DAMSON emulator.

Linking of DAMSON objects with DAMSONlib

Before the DAMSON loader can be executed the prototype object files from code generation must be linked with the DAMSONlib runtime environment for SpiNNaker. The code generation stage will have generated a make file (dmake) to carry out this operation as follows;

make -f dmake

The result will be that each DAMSON prototype object will be linked and rearranged ready for loading to a file with the *.aplx extension.

Loading and Execution of DAMSON on SpiNNaker

The DAMSON loader executable expects a single argument, a loader file (*.ldr) output by the DAMSON code generator. This loader file will expect that any DAMSON prototype objects will have been linked using the provided make file (dmake). Two additional files are required by the loader which must be in the working directory;

  1. spinnaker.ini - An additional configuration file (spinnaker.ini) is also required in the working directory of the loader executable. This file is expected to contain the IP address of the SpiNNaker hardware and the x and y dimension of the chip layout (space separated on the first line). Future versions will allow a subsequent line separated set of dead cores which should be ignored during the mapping process.  For the 4 chip SpiNNaker boards this file will contain the plain text 2 2. This specifies the address of the SpiNNaker board and 2D chip layout (e.g. 2x2).
  2. boot.bin - The latest version of the SpiNNaker SCAMP boot image.
An example of executing the loader is;

loader helloworld.ldr

The following output should be provided by the console;

Connected to SpiNNaker version 0.96

1   Hello World...

Node (1) exit 1

SpiNNaker ticks: 0

SpiNNaker time: 1000 ms

Loading time: 2000 ms