genn
genn copied to clipboard
Pre-synaptic parallelisation for dense connectivity
Pre-synaptic parallelisation is currently available for sparse connectivity only. It is possible to implement a similar methodology for dense/all-to-all connectivity but this requires at least a partial redesign of the parallelisation strategy, or an additional dense connectivity methodology which would not copy presynaptic spikes into the shared memory and use linsyn variable. The lack of this functionality does not alter the functionality of GeNN at the moment, but it is possible that it would speedup the simulations where it would be more appropriate to parallalise over presynaptic rather than postsynaptic neurons.
I am working on just such a network where 20000 presynaptic neurons are densely connected to a small number of postsynaptic neurons. This currently performs terrible so I am going to implement this!
Hi folks: Is this ticket still open?
It is still open, but we don't have any particular idea for an efficient parallelisation strategy in this situation. The naive approach of using atomicAdd
would probably work much worse than it does for sparse matrices as each thread would be trying to update the same memory address at the same time. Reducing via shared memory might be the solution.
@neworderofjamie: Do you have notes for the approach you would like the project should be having or I can implement shared memory?
I'm afraid we haven't made any notes on this yet - reduction via shared memory just seems a sensible idea - in all honesty this would be likely to be quite an involved change...
On Mon, Aug 26, 2019 at 3:35 PM neworderofjamie [email protected] wrote:
I'm afraid we haven't made any notes on this yet - reduction via shared memory just seems a sensible idea - in all honesty this would be likely to be quite an involved change...
no probs! do you have any channel where we can chat?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.
-- Thanks, Tapasweni
Our project is currently quite small and, as you may have realized, not currently fully geared-up for external collaborators! However, we're very keen to do whatever we can to enable people to collaborate in our project so we're thinking about adding a gitter to our organization. Until we get that sorted, email is probably the best bet (our addresses are on the homepage at http://genn-team.github.io/genn/) - maybe send us an email when you've got some thoughts on a potential design or if you have any questions.
Hey @neworderofjamie! It is always nice initiating nice things early, creating Gitter would be cool for interactions, discussions and inviting external contributors. I agree, I can see the org have very less outside contributors; sure, email stands out.