Skip to content
Snippets Groups Projects
  1. Sep 05, 2022
    • Thorsten Hater's avatar
      Mutable connection table (#1919) · 07e0bb62
      Thorsten Hater authored
      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
  2. Feb 26, 2019
    • akuesters's avatar
      Python PR #667 (#668) · fa549238
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      First step towards the Python front end.
      
      This commit sets up the structure of the python implementation
      * directory structure
      * git submodule for pybind11
      * best practices for making bindings with pybind11
      * unit testing for the python front end
      
      It implements the following features in the Python front end
      * execution contexts
      * gpu detection
      * thread count detection
      * MPI initialization helpers.
      
      Fixes #667.
      fa549238