SpiNNakerManchester / sPyNNaker8

The PyNN 0.8 interface to sPyNNaker.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support projections on brain slices

DanielZim opened this issue · comments

Please support projections on brain slices like this:

population = sim.Population(709, sim.EIF_cond_alpha_isfa_ista())

sim.Projection(population[602:603], population[607:608],
connector=sim.AllToAllConnector(),
synapse_type=synapse_red_to_actor,
receptor_type='excitatory')

Note: to start off with, the use cases we know of so far are slices when using either an AllToAllConnector or a OneToOneConnector. It may be easier to think of these connectors first before considering probabilistic connectors.

Hi @DanielZim - I've started working on this. For now there are a few caveats:

  1. it only currently works for the OneToOne, AllToAll and FixedProbability connectors
  2. it only currently works for views that are continuous arrays within the original Population, e.g. pop_view = pop[2:7] will work (as will the equivalent pop_view = pop[2,3,4,5,6]), but e.g. pop_view = pop[2,3,5,8] won't work.

If you wish to test it out yourself you will need the branches "projections_on_popviews" on sPyNNaker8 and sPyNNaker, and to recompile the C code, in order to make it work.

I'm working on making this work across all types of connector and all types of PopulationView, but it will be a little while before I get round to finishing this off, so I thought I'd give you an update now while I remembered to do so.

On top of the above (already merged) PRs, once the following PR is merged SpiNNakerManchester/sPyNNaker#768 this will also work for FixedNumber connectors.

This has now been done for all the on-machine connectors, so this particular issue has definitely been dealt with. Feel free to open a new issue if you have a new use case that isn't covered so far.