SpiNNakerManchester / sPyNNaker

The SpiNNaker implementation of the PyNN neural networking language
Apache License 2.0
105 stars 44 forks source link

Allow user-defined weight scale / left shift value in ring buffer #434

Open andrewgait opened 6 years ago

andrewgait commented 6 years ago

In synaptic_manager.py, the code in _get_ring_buffer_to_input_left_shifts does a calculation to scale the ring buffer and currently attempts to balance accuracy against too much overflow. There is a user request to be able to bypass this calculation step and set a user-defined value which controls the scaling / left shift from a higher level - either from the model or even from the level of a PyNN script.

chanokin commented 6 years ago

I think it's related to my question/issue Some connectivity patterns end up eliminating STDP parameters due to scaling.

rowleya commented 6 years ago

Yes, this is directly related. Both solutions should help in different ways; this one is about control, the stochastic rounding will help on longer running simulations regardless of the minimum representable value.

andrewgait commented 5 years ago

Noting here that this should probably be dealt with at some point, but it doesn’t need to happen now.