Skip to content
Snippets Groups Projects
Commit 0726685c authored by Ben Cumming's avatar Ben Cumming Committed by Sam Yates
Browse files

Optimise host-side event wrangling [8] (#369)

Optimize host-side postsynaptic event queues:

* Have communicator store stage local postsynaptic events per cell instead of per cell group.
* Pass (by reference) the relevant subrange of vectors of per-cell events to the cell group `enqueue_events` method.
* Identify calls to cell group `enqueue_events` and `advance` with an integration epoch identification allowing the use of an efficient thread-safe data structure for the cell group event stores.
* Perform merge of new events and currently stored events not for delivery in current epoch in parallel across cells in `mc_cell_group::enqueue_events`.
* Store one event binner object per cell in `mc_cell_group` to avoid hash table lookup overheads in the `binning_kind::following` case, and simplifying the `event_binner` class.
* Add convenience time comparison functional object `event_time_less`.

Fixes #368.
parent b7623d13
No related branches found
No related tags found
No related merge requests found
Showing
with 406 additions and 136 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment