How to parallelize short-term plasticity STP
To parallelize short-term plasticity efficiently Auryn allows the transmission of spike attributes. This way presynaptic properties of synaptic use can be computed at the presynaptic node and then transmitted with the spikes to the nodes storing the postsynaptic cells. Most scaling of STP thus remains O(N). These attributes are floats which can be “attached” to a spike and which are also synced across nodes. Spike attributes are still under development, but I am putting some handwritten notes here to remind myself of how one can think of them being attached to individual spikes and how multiple attributes (imagine a single presynaptic NeuronGroup sends spikes via two different Connections with short-term plasticity to some downstream groups) are to be stored in the attribute buffer which is synced along with the spikes across nodes.
See STPConnection for an example implementation.