Skip to content
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

Cuda Memory Error on Connections with 0 synapses #44

Open
4 tasks
joey-kilgore opened this issue Sep 16, 2024 · 0 comments
Open
4 tasks

Cuda Memory Error on Connections with 0 synapses #44

joey-kilgore opened this issue Sep 16, 2024 · 0 comments

Comments

@joey-kilgore
Copy link

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant