genn icon indicating copy to clipboard operation
genn copied to clipboard

Pre-synaptic parallelisation for dense connectivity

Open esinyavuz opened this issue 9 years ago • 8 comments

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.

esinyavuz avatar Feb 01 '16 17:02 esinyavuz

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!

neworderofjamie avatar Aug 03 '17 09:08 neworderofjamie

Hi folks: Is this ticket still open?

tapaswenipathak avatar Jul 27 '19 13:07 tapaswenipathak

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 avatar Aug 01 '19 09:08 neworderofjamie

@neworderofjamie: Do you have notes for the approach you would like the project should be having or I can implement shared memory?

tapaswenipathak avatar Aug 24 '19 10:08 tapaswenipathak

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...

neworderofjamie avatar Aug 26 '19 10:08 neworderofjamie

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

tapaswenipathak avatar Aug 26 '19 11:08 tapaswenipathak

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.

neworderofjamie avatar Aug 27 '19 20:08 neworderofjamie

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.

tapaswenipathak avatar Aug 27 '19 23:08 tapaswenipathak