-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
heterogeneous delays #109
Comments
@tnowotny, @neworderofjamie: it seems that GeNN supports heterogeneous delays since version 3.2, but after a quick look at the documentation, I did not immediately see how to specify them. If it is straightforward, it would be great to support the feature in Brian2GeNN. |
So, on the GeNN side you use heterogeneous delays by modifying your weight update model e.g. class StaticPulseDendriticDelay : public Base
{
public:
DECLARE_WEIGHT_UPDATE_MODEL(StaticPulseDendriticDelay, 0, 2, 0, 0);
SET_VARS({{"g", "scalar", VarAccess::READ_ONLY}, {"d", "uint8_t", VarAccess::READ_ONLY}});
SET_SIM_CODE("$(addToInSynDelay, $(g), $(d));\n");
}; However, they are dendritic delays unlike the standard delays in GeNN which are axonal. This is irrelevant if they are used on static connections but, they don't necessarily play well with STDP as back-propogating postsynaptic spikes can't be delayed heterogeneosuly to match (if that makes sense) |
Thanks for the info @neworderofjamie . I'll have to think about this a bit more. Delays in Brian are always axonal at the moment, so there's no way to express the difference (i.e. to raise an error if the user provides axonal delays and ask them to specify dendritic delays instead). But just by checking what kind of variables are used in the statements we should be able to allow it whenever it does not matter. |
This issue could be looked at in GSoC 2021 I think. |
Does it mean the standard delays in GeNN are axonal, but for heterogeneous delays, one has to use dendritic delay? |
yes, exactly. The axonal ones are homogeneous and defined in the |
Thanks. It is correct that to implement heterogeneous delays in brian2genn, one need to update GeNN to have this function first? If this is correct, would you please provide some hints which part of the code in GeNN to start to work on this update in GeNN? |
As an initial step, you could implement heterogeneous delays on static synapses without making any changes to GeNN by extending Brian2GeNN to genetate the code I pasted earlier (which I think would already be a big step forward). |
The recent versions of GeNN support heterogeneous delays. Is it possible to implement the heterogeneous delays in the interface? Thanks
The text was updated successfully, but these errors were encountered: