Skip to content

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
@github-actions
Copy link

Pull request automatically marked stale!

@github-actions github-actions bot added the stale Automatic marker for inactivity, please have another look here label Oct 25, 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 stale Automatic marker for inactivity, please have another look here T: Enhancement New functionality, model or documentation

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

1 participant