Support projections on brain slices
DanielZim opened this issue · 4 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:
- it only currently works for the OneToOne, AllToAll and FixedProbability connectors
- 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.