Hi,
In general, most neuron models use the spikes arriving at them to calculate the neuron voltage. Each of these spikes is linked to a weight which is then mathematically linked to the neuron voltage. This is done on a timestep-by-timestep basis, so the calculation happens over time rather than all at once. If the weight is set to 1 and a delta model is used, you will get simply a count of spikes arriving from prior neurons at each time step, which you can then use to calculate the voltage “now” so to speak.
If you are looking for some more complex relationship, it is indeed hard to map back from a weight arriving and which exact neuron this arrived from. This would likely require some sort of additional storage to be passed forward from the spike processing. Note this would be somewhat limiting since you would need to now keep every spike that arrives; most of the current code keeps a sum of weights from spikes in a ring buffer which saves quite a lot of memory space, especially if you also want to consider delays. In that case you would need a buffer big enough to hold each source neuron identifier that you might receive in each delay slot. This might become very big very quickly and so exceed the available local memory.
If you have more details on what you might need I might be able to give more ideas…
Andrew :)
From: spinnak...@googlegroups.com <spinnak...@googlegroups.com>
On Behalf Of Alfonso Yamamoto
Sent: Wednesday, May 15, 2024 2:03 PM
To: SpiNNaker Users Group <spinnak...@googlegroups.com>
Subject: [SpiNNaker Mailing List] Spiking history
Hi Spinnaker team. I am currently building a model that uses the spiking history for the calculation of neuron's voltage. By spiking history I mean a neuron would keep a history of the spikes it produced (maybe as a timestamp?) and it would
ZjQcmQRYFpfptBannerStart
|
ZjQcmQRYFpfptBannerEnd
--
You received this message because you are subscribed to the Google Groups "SpiNNaker Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
spinnakeruser...@googlegroups.com.
To view this discussion on the web, visit
https://groups.google.com/d/msgid/spinnakerusers/5cdacfc2-fea5-4766-a7ab-f4a9535f3a51n%40googlegroups.com [groups.google.com].
But for the simple case where you’ve actually got two populations of source neurons that you want to distinguish between and don’t actually need to know the individual neurons, that can be handled by a two-excitatory input neuron model (which we have an example of, if I remember the source code right). If you’re only looking to pick out a single neuron, that becomes a very simple input population with the other input neurons remaining a standard population. At that point, it is just a matter of setting up an efficient mapping. (There will be some configurations where that’s very easy indeed.)
The details matter very much.
Donal Fellows
Senior Research Software Engineer
University of Manchester, UK


Hi,
The first error seems to be that you don’t have enough space on the board you are using for what you have requested. This might be in terms of run time or possibly in terms of your models. I am unsure what you are trying to run in this case, but it might be that you have a calculation of SDRAM incorrect somewhere?
The second error appears to be that what you are trying to run has crashed out on the machine with an error. This probably indicates something wrong in the SpiNNaker code. You can likely debug by adding log_info statements to the code and then trying to work out where it has gone wrong. These can then be read from the reports folder, under the date and time of execution, and then in the run_1/provenance_data/app_provenance_data folder there will be a txt file for each core containing any log messages.
Andrew :)
From: spinnak...@googlegroups.com <spinnak...@googlegroups.com>
On Behalf Of Alfonso Yamamoto
Sent: Friday, May 24, 2024 10:03 AM
To: SpiNNaker Users Group <spinnak...@googlegroups.com>
Subject: Re: [SpiNNaker Mailing List] Spiking history
Hi Donal and Andrew, Thank you for the inputs. To be precise I wanted a model that would keep track of certain amount arriving spikes/weights over a period of time. You could imagine an array holding timestamps, and each array would correspond
ZjQcmQRYFpfptBannerStart
|
ZjQcmQRYFpfptBannerEnd
Hi Donal and Andrew,
Thank you for the inputs. To be precise I wanted a model that would keep track of certain amount arriving spikes/weights over a period of time. You could imagine an array holding timestamps, and each array would correspond to a connection with a pre synaptic neuron.
I have to rethink my approach.
But in the meantime I have the following error with spinnman. Each image correspond to a different run. The KeyError was run first
Alfonso Yamamoto
Fraunhofer HHI, DE


On Thursday, May 16, 2024 at 2:29:55 PM UTC+2 Donal Fellows wrote:
But for the simple case where you’ve actually got two populations of source neurons that you want to distinguish between and don’t actually need to know the individual neurons, that can be handled by a two-excitatory input neuron model (which we have an example of, if I remember the source code right). If you’re only looking to pick out a single neuron, that becomes a very simple input population with the other input neurons remaining a standard population. At that point, it is just a matter of setting up an efficient mapping. (There will be some configurations where that’s very easy indeed.)
The details matter very much.
Donal Fellows
Senior Research Software Engineer
University of Manchester, UK
From: spinnak...@googlegroups.com <spinnak...@googlegroups.com> On Behalf Of Andrew Rowley
Sent: Thursday, May 16, 2024 8:26 AM
To: Alfonso Yamamoto <alfyama...@gmail.com>; SpiNNaker Users Group <spinnak...@googlegroups.com>
Subject: RE: [SpiNNaker Mailing List] Spiking history
If you are looking for some more complex relationship, it is indeed hard to map back from a weight arriving and which exact neuron this arrived from. This would likely require some sort of additional storage to be passed forward from the spike processing. Note this would be somewhat limiting since you would need to now keep every spike that arrives; most of the current code keeps a sum of weights from spikes in a ring buffer which saves quite a lot of memory space, especially if you also want to consider delays. In that case you would need a buffer big enough to hold each source neuron identifier that you might receive in each delay slot. This might become very big very quickly and so exceed the available local memory.
--
You received this message because you are subscribed to the Google Groups "SpiNNaker Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
spinnakeruser...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/spinnakerusers/db800fc5-c90c-4dc1-9c2d-3533cbaee061n%40googlegroups.com [groups.google.com].
Hi,
There is a way to link debugging to gdb:
https://github.com/SpiNNakerManchester/spinnaker_tools/blob/master/tools/gdb-spin
I haven’t tried it in quite a while so I don’t know if it still works. Note though that debugging multiple parallel processes at the same time can be quite tricky, so using log_info output works better in my experience.
Andrew :)
From: spinnak...@googlegroups.com <spinnak...@googlegroups.com>
On Behalf Of Alfonso Yamamoto
Sent: Tuesday, June 4, 2024 7:54 AM
To: SpiNNaker Users Group <spinnak...@googlegroups.com>
Subject: Re: [SpiNNaker Mailing List] Spiking history
To view this discussion on the web, visit https://groups.google.com/d/msgid/spinnakerusers/6ad440b6-6f75-4047-b708-95dc7e7d5bccn%40googlegroups.com [groups.google.com].