brian-team / brian2cuda

A brian2 extension to simulate spiking neural networks on GPUs
https://brian2cuda.readthedocs.io/
GNU General Public License v3.0
61 stars 12 forks source link

Investigate and document performance effects when working with `Subgroup`s #283

Open denisalevi opened 2 years ago

denisalevi commented 2 years ago

Eventspaces are always defined per NeuronGroup (not per Subgroup). This means any kernel that has to work with neurons in the eventspace but perform some operation only on a Subgroup has to perform additional operations to determine which neurons in the eventspace belong to a Subgroup. This is relevant for the following operations:

The effects of using too many (or any) subgroups should be investigated for Brian2CUDA, since the effects are likely worse than for C++ Standalone. And this should be documented.

denisalevi commented 2 years ago

EDIT: Current implementation of synaptic events is independent of whether subgroups are connected or just subsets of indices between the full neurongroups, see discussion in #284