Spiking Neural Networks

Your project sounds very interesting, but indeed it is a talk and quite specific to a type of network and supervised learning scheme.
Instead, I was thinking about a more broad discussion that reflects the opening of this thread, the opening talk structure would look like this:

  • What an SNN simulator in Julia is supposed to achieve (experimenting with new neuron models and protocols versus large scale simulations), can Conductor.jl cover the whole spectrum of simulation types? Or a different, compatible package would rather do the job?

  • What would such a simulator look like (I personally really like the ideas behind AStupidBear/SNN [2])? How do you instantiate new models and define the equations such that it stays flexible and fast?

  • And how do you achieve it? Is EqDiff.jl support the best for all models, or when we move towards more abstract types of neurons we better have time-step-based models? and can we use shared memory parallelism or Cuda in that case?

I think that there are several people who are more competent than me for opening this discussion (like many of the people who answered this thread), but I would really like to build it up and see if we can get to a community consensus on what is worth to work on.

So I will wrap up the discussion that has been going on here and hope that the same people will join during the BoF. I will keep this thread posted on the talk I intend to prepare to open the discussion so that we can keep in it all the relevant discussion points.

Best,
Alessio

[1] W. Nicola and C. Clopath, ‘Supervised learning in spiking neural networks with FORCE training’, Nature Communications, vol. 8, no. 1, p. 2208, Dec. 2017, doi: 10/gcr4j2.
[2] GitHub - AStupidBear/SpikingNeuralNetworks.jl: Julia Spiking Neural Network Simulator