Hi Luke,
Looking through this, I think in the first instance what you need to try to do is convert your Brian2 script into PyNN - so, for example, "NeuronGroup" becomes "Population", "Synapses" becomes "Projection", and recording is done at the population level, so
once you've defined a population, you do pop.record('v') or pop.record('spikes') as required. A look at the PyNN documentation [
http://neuralensemble.org/docs/PyNN/index.html] on
each of these should tell you which objects you need to pass into each of them - glancing over your code suggests (I think) that you have all the details already, so you just need to work out how to pass them in to the PyNN objects. Within each Projection
you'll also need to define a connector that tells you how the two populations are connected to each other (e.g. OneToOne, AllToAll, FromList, etc. - there's a list of what's available there on the PyNN site).
Another consideration you need to take into account is the neuron models you're using as well - your "EN" model, being a LIF neuron model, should be easily portable to SpiNNaker; I am less sure about your "PN" and "KC" models as they appear to involve adaptive
thresholding (are they adaptive exponential integrate and fire neurons?), which we do not currently have on SpiNNaker due to various reasons [anyone else: are we still looking into this at the moment, or are we waiting for SpiNNaker-2?], and so you would have
to consider changing to a different standard neuron model to approximate this model, or we do incorporate the capability for you to write your own model via a new model template. Our thoughts on adaptive exponential at the moment are that it's only possible
to accurately do this model using floats, and these are not available on SpiNNaker hardware (only software), and therefore there may be issues with running in real-time (but, it might be possible to run at a slow-down which is still overall better than Brian2
can currently manage).
[If you reply to this email can you make sure it goes to the group mailing list rather than just to me, as there may be other people who are interested in joining in with the conversation - thanks.]