Skip to content

SpiNNakerManchester/SpiNNer

Repository files navigation

SpiNNer: SpiNNaker Wiring Tools

Latest Version Documentation Build Status Test Coverage

A wiring diagram for a 1-million core SpiNNaker system

SpiNNer is a collection of tools for assisting with all stages of the process of wiring up large SpiNNaker machines, from design to installation verification.

Installation

SpiNNer has the following external dependencies (aside from Python 2.7+ or 3.4+):

Dependency Ubuntu Package Fedora Package(s) Arch Package
Cairo libcairo2-dev cairo-devel cairo
libffi libffi-dev libffi-devel libffi
Tkinter python-tk, python-imaging-tk tkinter, python-imaging-tk tk
Espeak espeak espeak espeak

NB: the python-imaging-tk package only appeared in more recent Fedora releases; for older releases this package is not needed.

The easiest way to install the latest release of SpiNNer (along with other Python packages it uses) to use use pip:

# pip install spinnaker_spinner

Documentation

You can read the latest version of SpiNNer's documentation on ReadTheDocs.

Quick Demos

Producing a wiring diagram for a 15-board machine:

$ spinner-wiring-diagram -n 15 out.png

A wiring diagram for a 15-board machine

Producing a map from chip-position to physical location for a 24-board machine:

$ spiner-machine-map -n 24 out.png	

A machine map for a 24-board system

Guiding manual installation of wires for a 24-board machine:

$ spinner-wiring-guide -n 24 -l 0.15 0.30 --bmp 0 0 192.168.4.0

The interactive wiring guide GUI

Finally, for a timelapse video of (an early version of) SpiNNer being used to wire up a 120-board machine head over to YouTube.

Author

The SpiNNer code base is the work of Jonathan Heathcote although the wiring techniques used are based nearly in their entirety on extensive discussions with Steve Furber, Jim Garside, Simon Davidson, Steve Temple and Luis Plana.

The default physical machine measurements used by SpiNNer were contributed by Steve Temple.