lava-nc / lava

A Software Framework for Neuromorphic Computing
https://lava-nc.org
Other
555 stars 144 forks source link

Synaptic delays in Dense Process #237

Closed a-t-0 closed 1 year ago

a-t-0 commented 2 years ago

User story

As a user, I want to be able to specify synaptic delays in the Dense Process to enable algorithmic work.

Note: @a-t-0 suggests dense = Dense(.., delay=5) as an interface to generate a synaptic connection that induces a delay of 5 timesteps before submitting a spike to the output neuron.

Note: A PR has already been filed by another external community member.

Conditions of satisfaction

Acceptance tests

Tasks

Excerpt from original issue by @a-t-0

Thank you everyone for your work on this wonderful platform!

kds300 commented 2 years ago

Hello,

I have been working on implementing synaptic delays for lava, and have a working version of it. Instead of directly modifying the Dense() process, I copied the code for that and made a modified I called Delay(). I use a 2D matrix of delays similar to how the weights are input into the Dense() process. I'd be more than happy to share the code that I have so far, and submit a pull request for implementing it once it is finished (it still needs to be tested and optimized).

awintel commented 2 years ago

This sounds great. We haven't been able to prioritize support for delays ourselves so far. Thus we are glad that community members are adding new such features. Submitting a PR is the way to move this forward. Once submitted, members of our team will take a look and give feedback on the PR. It might make sense to either factor our shared code with DENSE or simply merge it with DENSE.

frothga commented 1 year ago

Here are some things I'd like to add to the user story:

PhilippPlank commented 1 year ago

@frothga Thanks for the suggestions. These features will not be part of this story, but we will add them to existing user stories or create new ones. We are currently implementing support for delays in software simulation for Dense as a start.