Skip to content

Connection rule for direct support of clusterd connectivity #3518

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

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

heplesser
Copy link
Contributor

@heplesser heplesser commented Jun 26, 2025

This PR introduces experimental support for direct creation of clustered connectivity. It is used as follows:

nest.Connect(a, b, 
             {'rule': 'clustered_fixed_total_number',
              'N': 100,
              'num_clusters': 2},
             nest.CollocatedSynapses({'weight': 100},  # first element is for intra-cluster connections
                                     {'weight': 3}))   # second element is for cross-cluster connections ```

The node collections a and b are split into num_clusters clusters in a round robin fashion each and connectivity created using fixed-total-number for each pair of clusters. The first syn specs in the "collocated" synapse are used for connections from a given cluster in a to the corresponding cluster in b, the second syn specs for connections other than the remaining clusters in b.

Notes:

  • If populations do not divide evenly into clusters, the total number of connections may be less than N.
  • CollocatedSynapses is abused here for experimental purposes—only single synapses can be created.
  • The implementation is based on rather too much code duplication.
  • The PR is provided primarily to allow evaluation of the performance gains.

@heplesser heplesser added the T: Enhancement New functionality, model or documentation label Jun 26, 2025
@heplesser heplesser added this to Kernel Jun 26, 2025
@heplesser heplesser added S: Normal Handle this with default priority I: No breaking change Previously written code will work as before, no one should note anything changing (aside the fix) labels Jun 26, 2025
@github-project-automation github-project-automation bot moved this to In progress in Kernel Jun 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: No breaking change Previously written code will work as before, no one should note anything changing (aside the fix) S: Normal Handle this with default priority T: Enhancement New functionality, model or documentation
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

1 participant