I have developed software to aid in the development of neural models, which is available online. Source code for all this software is licensed under the GPL v3, and can be found on GitHub unless stated otherwise.

SpineML logo

SpineML (SPIking NEuron Markup Language) (with Paul Richmond)

SpineML is an XML specification for describing Spiking Neural Network models. It provides a robust and flexible specification format, which can easily be translated into other modelling specifications, and used as the basis for code generation to simulate models. For details see here.  All SpineML project code can be found here.

SpineCreator (with Paul Richmond and Seb James)

In addition we have developed tools for the creation of SpineML models using a graphical frontend: SpineCreator. It be found here also.

SpineML code generators (with Paul Richmond and Seb James)

Code generation from SpineML can target a variety of platforms, including x86 computers (SpineML_2_BRAHMS), Spinnaker neuromorphic hardware (SpineML_2_DAMSON), and GPUs (see below). 

Through SpineML_2_BRAHMS SpineML models can be translated into code that can be simulated on x86 computers using the BRAHMS middleware. These models can utilise multithreading, and can span multiple machines using TCP/IP communication; this allows models to take advantage of all the computing resources available to the user.

SpineML_2_DAMSON allows code to be generated for the intermediate language DAMSON, which can then be compiled for use on the Spinnaker neuromophic computing platform. This platform allows massively parallel computation with highly scalable interprocessor communications.

SpineML_2_GeNN (with Esin Yavuz)

SpineML_2_GeNN translates from SpineML to code that can be used as input to the GeNN code generation framework for NVidia GPUs. This allows access to the 'embarrassingly parallel' GPU architecture, which is will suited for running many classes of neural model.

 Other software


Beeworld is a simple raytracer that can be used to simulate virtual environments for neural models of the honeybee brain. Unlike the SpineML tools listed here it is research code, and therefore may not be supported in the long term. It can be found here.

Old software

ModLIN (Modular Leaky Integrator Neurons), (DEPRECATED)

ModLIN is a toolset for creating rate-coded model of neural systems quickly using Matlab, then running these models efficiently in BRAHMS. I developed it during my PhD. You can find it on sourceforge here.