STDP case for busyring benchmark#2489
Conversation
65a4a3a to
70b84aa
Compare
|
The rebase is done. |
thorstenhater
left a comment
There was a problem hiding this comment.
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() { |
There was a problem hiding this comment.
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"); |
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
This seems wrong; we got one connection from the ring, thus n-1 random ones.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
…and documentation improvement
thorstenhater
left a comment
There was a problem hiding this comment.
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.
Done. Sorry for the delay. I've now also adjusted the protocol in the related CoreNEURON implementation. |
# Preliminary release notes for v0.12 ## What's Changed * V0.11.0 rc by @thorstenhater in #2454 * Release finalisation by @thorstenhater in #2455 * CSCS CI by @thorstenhater in #2448 * Re-factor connection setup and event dispatch. by @thorstenhater in #2449 * Add tiled busyring by @thorstenhater in #2456 * Fill in a missing part of the docs by @thorstenhater in #2462 * Major Optimisations in Label Resolution by @thorstenhater in #2458 * Refactor domain decomposition by @thorstenhater in #2457 * Add an escape hatch to label resolution by @thorstenhater in #2459 * Fix crash on probding elided values by @thorstenhater in #2466 * Only store PRNG data if needed by @thorstenhater in #2467 * 🐍 Polish `label_dict` by @thorstenhater in #2451 * use better builtins for double max/min by @thorstenhater in #2469 * Remove typed map and refactor cable cell by @thorstenhater in #2468 * Many small refactoring / clean-ups / memory savings by @thorstenhater in #2465 * Bump pb11 to latest major version by @thorstenhater in #2475 * Fix GPU test issues by @ibanezbm in #2479 * Align versions by @thorstenhater in #2481 * Add probing of eX. by @thorstenhater in #2478 * Add trivial compiler test by @thorstenhater in #2488 * Replace MPI_Allgatherv with MPI_Alltoallv for communication pattern by @ibanezbm in #2460 * Use CBRNG in schedules. by @thorstenhater in #2386 * Update year 🎉 by @thorstenhater in #2491 * Don't use deprecated numpy functions by @thorstenhater in #2490 * Co-simulation tutorial by @thorstenhater in #2492 * Nested timers by @marvinKaster in #2486 * Clean-up iclamp interface by @thorstenhater in #2494 * Fix override by @thorstenhater in #2493 * Better use of __restrict__ by @thorstenhater in #2476 * Add AdEx cells. by @thorstenhater in #2230 * units in cv policy by @thorstenhater in #2495 * Flat map in mechanism description for 1.5x speed-up in synapse creation by @thorstenhater in #2501 * Perf/compress contiguous by @thorstenhater in #2470 * Allow more SWC files in the parser by @thorstenhater in #2471 * STDP case for busyring benchmark by @jlubo in #2489 * round robin load balance by @thorstenhater in #2500 ## New Contributors * @ibanezbm made their first contribution in #2479 * @marvinKaster made their first contribution in #2486 **Full Changelog**: v0.11.0...v0.12.0
# Release notes This release constitutes a major improvement in terms of parallel performance by replacing the underlying MPI algorithm (see our paper at IPDPS'26) and setup time by improving label resolution and adding the access to raw labels. On the functional side, we introduced AdEx cells, added a new load balancing method, and probes for the reversal potential. ## What's Changed * V0.11.0 rc by @thorstenhater in #2454 * Release finalisation by @thorstenhater in #2455 * CSCS CI by @thorstenhater in #2448 * Re-factor connection setup and event dispatch. by @thorstenhater in #2449 * Add tiled busyring by @thorstenhater in #2456 * Fill in a missing part of the docs by @thorstenhater in #2462 * Major Optimisations in Label Resolution by @thorstenhater in #2458 * Refactor domain decomposition by @thorstenhater in #2457 * Add an escape hatch to label resolution by @thorstenhater in #2459 * Fix crash on probding elided values by @thorstenhater in #2466 * Only store PRNG data if needed by @thorstenhater in #2467 * 🐍 Polish `label_dict` by @thorstenhater in #2451 * use better builtins for double max/min by @thorstenhater in #2469 * Remove typed map and refactor cable cell by @thorstenhater in #2468 * Many small refactoring / clean-ups / memory savings by @thorstenhater in #2465 * Bump pb11 to latest major version by @thorstenhater in #2475 * Fix GPU test issues by @ibanezbm in #2479 * Align versions by @thorstenhater in #2481 * Add probing of eX. by @thorstenhater in #2478 * Add trivial compiler test by @thorstenhater in #2488 * Replace MPI_Allgatherv with MPI_Alltoallv for communication pattern by @ibanezbm in #2460 * Use CBRNG in schedules. by @thorstenhater in #2386 * Update year 🎉 by @thorstenhater in #2491 * Don't use deprecated numpy functions by @thorstenhater in #2490 * Co-simulation tutorial by @thorstenhater in #2492 * Nested timers by @marvinKaster in #2486 * Clean-up iclamp interface by @thorstenhater in #2494 * Fix override by @thorstenhater in #2493 * Better use of __restrict__ by @thorstenhater in #2476 * Add AdEx cells. by @thorstenhater in #2230 * units in cv policy by @thorstenhater in #2495 * Flat map in mechanism description for 1.5x speed-up in synapse creation by @thorstenhater in #2501 * Perf/compress contiguous by @thorstenhater in #2470 * Allow more SWC files in the parser by @thorstenhater in #2471 * STDP case for busyring benchmark by @jlubo in #2489 * round robin load balance by @thorstenhater in #2500 ## New Contributors * @ibanezbm made their first contribution in #2479 * @marvinKaster made their first contribution in #2486 **Full Changelog**: v0.11.0...v0.12.0
Adds a STDP case for the busyring benchmark (also cf. here).