Mutable connection table (#1919)
Add functionality, docs, and examples on editing the connection table. This is a first, small PR on the topic, further functionality will come as requested. Teaser example ```cxx // This recipe -- omitted -- implements a mutable connection table // and returns it via the `connections_on` callback. New entries are // added using `add_connection` which makes one link from a central // `spike_source_cell` to the given `gid` auto rec = recipe(); rec.add_connection(1); auto sim = arb::simulation(rec, ctx); // Record spikes std::vector<arb::spike> spikes; sim.set_local_spike_callback([&spikes](const auto& s) { spikes.insert(spikes.end(), s.begin(), s.end()); }); // Run and print all spikes per gid sim.run(0.25, 0.025); show_spikes(spikes); // Add a new connection rec.add_connection(2); sim.update_connections(rec); // Run and print all spikes per gid sim.run(0.5, 0.025); show_spikes(spikes); ``` # Update July '22 - added re-wiring of Event Generators - implemented a split between a recipe and a recipe-update (cheekily dubbed `topping` until further notice) - `recipes` are `toppings` via inheritance
Showing
- arbor/communication/communicator.cpp 54 additions, 60 deletionsarbor/communication/communicator.cpp
- arbor/communication/communicator.hpp 10 additions, 3 deletionsarbor/communication/communicator.hpp
- arbor/connection.hpp 18 additions, 37 deletionsarbor/connection.hpp
- arbor/domain_decomposition.cpp 1 addition, 1 deletionarbor/domain_decomposition.cpp
- arbor/execution_context.cpp 9 additions, 13 deletionsarbor/execution_context.cpp
- arbor/include/arbor/context.hpp 8 additions, 14 deletionsarbor/include/arbor/context.hpp
- arbor/include/arbor/domain_decomposition.hpp 4 additions, 1 deletionarbor/include/arbor/domain_decomposition.hpp
- arbor/include/arbor/load_balance.hpp 1 addition, 1 deletionarbor/include/arbor/load_balance.hpp
- arbor/include/arbor/profile/meter_manager.hpp 4 additions, 4 deletionsarbor/include/arbor/profile/meter_manager.hpp
- arbor/include/arbor/profile/profiler.hpp 1 addition, 1 deletionarbor/include/arbor/profile/profiler.hpp
- arbor/include/arbor/recipe.hpp 26 additions, 11 deletionsarbor/include/arbor/recipe.hpp
- arbor/include/arbor/simulation.hpp 5 additions, 3 deletionsarbor/include/arbor/simulation.hpp
- arbor/include/arbor/spike.hpp 1 addition, 1 deletionarbor/include/arbor/spike.hpp
- arbor/label_resolution.hpp 1 addition, 1 deletionarbor/label_resolution.hpp
- arbor/partition_load_balance.cpp 1 addition, 1 deletionarbor/partition_load_balance.cpp
- arbor/profile/meter_manager.cpp 4 additions, 4 deletionsarbor/profile/meter_manager.cpp
- arbor/profile/profiler.cpp 1 addition, 1 deletionarbor/profile/profiler.cpp
- arbor/simulation.cpp 38 additions, 29 deletionsarbor/simulation.cpp
- doc/concepts/domdec.rst 45 additions, 11 deletionsdoc/concepts/domdec.rst
- doc/concepts/interconnectivity.rst 97 additions, 11 deletionsdoc/concepts/interconnectivity.rst
Please register or sign in to comment