Skip to content

Comments

STDP case for busyring benchmark#2489

Open
jlubo wants to merge 12 commits intoarbor-sim:masterfrom
jlubo:test/busyring-stdp
Open

STDP case for busyring benchmark#2489
jlubo wants to merge 12 commits intoarbor-sim:masterfrom
jlubo:test/busyring-stdp

Conversation

@jlubo
Copy link
Collaborator

@jlubo jlubo commented Dec 23, 2025

Adds a STDP case for the busyring benchmark (also cf. here).

@jlubo jlubo requested a review from thorstenhater December 23, 2025 16:34
@thorstenhater
Copy link
Contributor

Hi @jlubo,

there are some broken numpy functions in master. Please take a look at #2490 and rebase.

@jlubo jlubo force-pushed the test/busyring-stdp branch from 65a4a3a to 70b84aa Compare January 21, 2026 19:48
@jlubo
Copy link
Collaborator Author

jlubo commented Jan 21, 2026

The rebase is done.

Copy link
Contributor

@thorstenhater thorstenhater left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. If you want to pull out the config thing into a new PR,
feel free do so. I left a few comments on the rest.

T

}
};

std::string get_arbor_config_str() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is usually intended only for use in Python. However, I see the usefulness of providing this to the user at runtime.


// Add a synapse to proximal end of first dendrite.
decor.place(arb::mlocation{1, 0}, arb::synapse{"expsyn"}, "p");
decor.place(arb::mlocation{0, 1}, arb::synapse{"expsyn"}, "p");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These locations are equivalent soma(1) ~ dend(0).

std::uniform_real_distribution<float> delay_dist(0, 2*min_delay_);
auto src_gen = std::mt19937(gid);
for (unsigned i=1; i<ncons; ++i) {
for (unsigned i=0; i<ncons; ++i) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems wrong; we got one connection from the ring, thus n-1 random ones.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah... I've now adapted the synapses parameter to consistently count the random synapses only. So in this sense it should be correct. But I hope this doesn't conflict with any previous uses of busyring? The thing is that this is how it's described in our paper (and also implemented in the coreneuron example). The alternative would be to change the number of synapses in all *.json files.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, it depends ;) Previously, we did count all synapses and all other instantiations of busyring do remain doing so. I'd prefer consistency, if it's ok.

@jlubo jlubo requested a review from thorstenhater February 12, 2026 16:19
Copy link
Contributor

@thorstenhater thorstenhater left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you match the synapse count to the protocol of all the other examples? I am a bit worried that using two approaches is confusing.

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

Successfully merging this pull request may close these issues.

2 participants