The SpiNNakerGraphFrontEnd is a interface to the SpiNNaker software stack that is designed with the intention of allowing developers / users to build applications that run on SpiNNaker machines without having to worry about the low level support of:
- Booting/powering on the SpiNNaker machine.
- Mapping the application onto the SpiNNaker machine.
- Loading the application onto the SpiNNaker machine.
- Buffering data in/out from/to to the SpiNNaker machine during an application run.
- Verifying that the application is running on the SpiNNaker machine.
- Implementing a interface for interacting with the SpiNNaker machine.
- Acquiring Provenance data from the SpiNNaker machine after an application run.
- Acquiring debug data from the SpiNNaker machine after / during an application run.
- Shutting down the SpiNNaker machine correctly after an application run.
How the SpiNNakerGraphFrontEnd supports the developer/user
The SpiNNakerGraphFrontEnd allows a developer / user to write applications by representing the problem as a graph, where the nodes in the graph represent a collection of computation and edges represent communication between these computations.
The developer should read the following presentations to learn how to exploit the software stack to it’s most potential:
A summary is that a developer needs to develop both a Python and c representation of any computation nodes (vertices) and often just a Python version for any unique communication requirements.
The SpiNNakerGraphFrontEnd supports the following interface for developers to use.
||This is the first call that needs to be executed at all times. It sets up all the basic data structures the software stack requires|
||This adds a vertex that can be split over multiple computational nodes|
||This adds a vertex that can only reside on one computational node|
||This adds a edge between vertices that can be split over multiple computational nodes|
||This adds a edge between vertices that can only reside on individual computational nodes|
||This function supports inquiring the SpiNNaker machine and being given the dimensions of the machine|
||This function returns the Python representation of the SpiNNaker machine|
||This function returns the Python communication interface to the SpiNNaker machine|
||This function executes: mapping, loading, running, extraction of provenance and debug data on the SpiNNaker machine|
||This function shuts down the SpiNNaker machine cleanly|
To be extended in the future.