You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Context - I'm working on smaller scale network models and comparing their network dynamics and potential for scaling. The current model we use has a wide selection of 9-param IZ groups, but some with significantly fewer neurons than another. I know that running smaller scale networks is faster on CPU, but often the networks may have one or two group with >1000 neurons, and one or two groups with <5 neurons, and it would be nice to not have to keep switching between the two.
Problem - Often times we are scaling to the point they may be only 1 neuron in a group, which may have a connection to another group with 1 neuron. While we test different connection probabilities, in this connection from a 1 neuron group to another 1 neuron group, it would often generate a connection with no synapses (based on the connection probability). This would throw a cuda memory error (since it would try and copy the non existent synaptic info)
Fix in my project - I think there are ways for me to avoid this in my work by just forcing probabilities to be 1 if there is a low enough number of neurons. BUT this is something that technically could always occur. For instance if there are 2 neurons in groups being connecting, a probability of 0.5 should work, but would fail 1/16 of the time.
Fix in CARLsim6 - There needs to be a check at synaptic generation for empty connections, and generate a random connection. With that the following steps should occur
Check for empty connections at generation
Randomly choose a synapse to create (note that just retrying over and over is probably not a good idea, since it may be a low probability)
Output a debug message and a user message that a synaptic connection was forcibly chosen
Update the documentation to note this issue on the Connections page in the user guide
The text was updated successfully, but these errors were encountered:
Context - I'm working on smaller scale network models and comparing their network dynamics and potential for scaling. The current model we use has a wide selection of 9-param IZ groups, but some with significantly fewer neurons than another. I know that running smaller scale networks is faster on CPU, but often the networks may have one or two group with >1000 neurons, and one or two groups with <5 neurons, and it would be nice to not have to keep switching between the two.
Problem - Often times we are scaling to the point they may be only 1 neuron in a group, which may have a connection to another group with 1 neuron. While we test different connection probabilities, in this connection from a 1 neuron group to another 1 neuron group, it would often generate a connection with no synapses (based on the connection probability). This would throw a cuda memory error (since it would try and copy the non existent synaptic info)
Fix in my project - I think there are ways for me to avoid this in my work by just forcing probabilities to be 1 if there is a low enough number of neurons. BUT this is something that technically could always occur. For instance if there are 2 neurons in groups being connecting, a probability of 0.5 should work, but would fail 1/16 of the time.
Fix in CARLsim6 - There needs to be a check at synaptic generation for empty connections, and generate a random connection. With that the following steps should occur
The text was updated successfully, but these errors were encountered: