Spikey Appendix

Setting up SSH keys on UHEI cluster for github.com

To create a key pair please follow the guide provided by github.com. The configuration file for the ssh connection is located in ~/.ssh/config. For example:

$ cat .ssh/config
Host github.com
    IdentityFile /wang/users/USERNAME/.ssh/my_github.com.id_rsa

The Host github.com describes the ssh connection target, and the following line configures the private key location which will be used for this target host.

To connect via ssh, use the tsocks tool which routes the TCP connection via a local SOCKS proxy, e.g.:

$ tsocks git clone git@github.com:USERNAME/PROJECT.git

Setup software

Preparing the operating system

We consider the newest stable Debian operating system as reference system.

The following additional software packages are required for building the software of the Spikey system:

sudo apt-get install libboost-all-dev libusb-1.0-0-dev liblog4cxx10-dev libqt4-dev libgtest-dev libgsl0-dev python-nose

And for experiment execution:

sudo apt-get install python-numpy python-scipy python-matplotlib

Installing hardware drivers

The software for the Spikey neuromorphic system is managed by a git repository that can be downloaded as follows:

git clone https://github.com/electronicvisions/spikey_demo.git

To install the software follow the instructions in the README.md file. Note that a fork of the official PyNN project is used that builds on PyNN version 0.6.

Allow access to USB device

To access the Spikey system via USB, add your user to the plugdev UNIX group, to which Spikey devices are assigned to. Note that you will need root privileges for adding users to a UNIX group.

  1. Add your user to plugdev group: sudo usermod -aG plugdev USERNAME (replace USERNAME)

  2. Assign Spikey systems to plugdev group (creates a udev config file): sudo sh vmodule/nosudo

  3. Restart udev daemon: service udev restart and (re-)plug-in the Spikey USB device.

Run experiments

Set environment variables (has to be done only once for each environment):

. bin/env.sh

Run PyNN description of a network:

cd networks
python example.py

Miscellaneous

If multiple chips are connected to a single host computer, use environment variables to select the chip:

MY_STAGE1_STATION=stationXXX

Replace XXX with the chip you want to use (e.g. 500).

Setup hardware

Link to internal web page.