New recipe probe API (#1054)
* Make recipe return probes as a vector. * Remove `probe_id` from `probe_info`. * Rename `fvm_probe_info` to `fvm_probe_data` (everything was being called info, and it was getting confusing). * Make `probe_association_map` specific to `mc_cell_group`/`fvm_lowered_cell`. * Change probe_association_map representation: unordered map for probe_id -> tag; unordered multimap for probe_id -> fvm_probe_data. This allows multiple probes to be associated with the same probe id. * Call sampler callback separately for each probe with the same probe_id. * Replace location-based probes with locset equivalents. * Add index for probes sharing a probe id. * Bundle all probe metadata (id, tag, index, probe-specific meta) into `probe_metadata` struct for passing to sampler callbacks. * Change simple_sampler to work on `trace_vector`, a vector of `trace_data`. The _i_th element is the data from probe with index i. * Consolidate hash composition and `std::hash` specialization code in new header. * Update python lib for new API. * Update tests and examples for new recipe, internal probe, and simple_sampler APIs. * Update docs to suit.
Showing
- arbor/backends/event.hpp 1 addition, 1 deletionarbor/backends/event.hpp
- arbor/fvm_lowered_cell.hpp 33 additions, 9 deletionsarbor/fvm_lowered_cell.hpp
- arbor/fvm_lowered_cell_impl.hpp 107 additions, 76 deletionsarbor/fvm_lowered_cell_impl.hpp
- arbor/include/arbor/cable_cell.hpp 14 additions, 8 deletionsarbor/include/arbor/cable_cell.hpp
- arbor/include/arbor/common_types.hpp 2 additions, 26 deletionsarbor/include/arbor/common_types.hpp
- arbor/include/arbor/load_balance.hpp 3 additions, 0 deletionsarbor/include/arbor/load_balance.hpp
- arbor/include/arbor/morph/primitives.hpp 4 additions, 0 deletionsarbor/include/arbor/morph/primitives.hpp
- arbor/include/arbor/recipe.hpp 13 additions, 9 deletionsarbor/include/arbor/recipe.hpp
- arbor/include/arbor/sampling.hpp 8 additions, 3 deletionsarbor/include/arbor/sampling.hpp
- arbor/include/arbor/simple_sampler.hpp 90 additions, 22 deletionsarbor/include/arbor/simple_sampler.hpp
- arbor/include/arbor/symmetric_recipe.hpp 3 additions, 7 deletionsarbor/include/arbor/symmetric_recipe.hpp
- arbor/include/arbor/util/hash_def.hpp 46 additions, 0 deletionsarbor/include/arbor/util/hash_def.hpp
- arbor/include/arbor/util/lexcmp_def.hpp 1 addition, 1 deletionarbor/include/arbor/util/lexcmp_def.hpp
- arbor/mc_cell_group.cpp 27 additions, 26 deletionsarbor/mc_cell_group.cpp
- arbor/mc_cell_group.hpp 1 addition, 1 deletionarbor/mc_cell_group.hpp
- arbor/partition_load_balance.cpp 2 additions, 0 deletionsarbor/partition_load_balance.cpp
- arbor/sampler_map.hpp 0 additions, 12 deletionsarbor/sampler_map.hpp
- arbor/simulation.cpp 1 addition, 0 deletionsarbor/simulation.cpp
- arbor/spike_source_cell_group.cpp 1 addition, 0 deletionsarbor/spike_source_cell_group.cpp
- doc/cpp_cable_cell.rst 28 additions, 20 deletionsdoc/cpp_cable_cell.rst
Please register or sign in to comment