Skip to content

Re-factor connection setup and event dispatch.#2449

Merged
thorstenhater merged 20 commits intoarbor-sim:masterfrom
thorstenhater:qa/refactor-connection-setup
Apr 30, 2025
Merged

Re-factor connection setup and event dispatch.#2449
thorstenhater merged 20 commits intoarbor-sim:masterfrom
thorstenhater:qa/refactor-connection-setup

Conversation

@thorstenhater
Copy link
Copy Markdown
Contributor

Builds on #2447.

Further clean-up of infrastructure in communicator and event_stream. Reduce intermediate datastructures
on the CPU side. Host memory is a critical resource during large (GPU) benchmarks.

connection update

Eliminates intermediate host-side array of cell_connections and builds connections directly.
Outlined a few ideas wrt to parallelisation.

spike delivery

Eliminate intermediate list of spikes in event delivery and push events directly into streams.
Traverse streams in time-order.

@thorstenhater thorstenhater marked this pull request as draft March 17, 2025 10:06
@ErbB4 ErbB4 marked this pull request as ready for review March 18, 2025 08:16
Copy link
Copy Markdown
Collaborator

@ibanezbm ibanezbm left a comment

Choose a reason for hiding this comment

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

I’ve reviewed everything, and it looks good. Merging with the master branch works correctly, with no errors or warnings.

@thorstenhater thorstenhater merged commit 08c44a4 into arbor-sim:master Apr 30, 2025
thorstenhater added a commit that referenced this pull request Apr 16, 2026
# 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
@thorstenhater thorstenhater mentioned this pull request Apr 16, 2026
thorstenhater added a commit that referenced this pull request Apr 17, 2026
# 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
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