Skip to content
Snippets Groups Projects
  1. Oct 11, 2022
  2. Oct 05, 2022
    • Thorsten Hater's avatar
      Clean up plasticity (#1985) · fc85765e
      Thorsten Hater authored
      1. Fix Python bindings for `recipe::update`
         - *drop* the GIL before handing off to C++
         - tighten exception safety
      2. Run plasticity examples with threads; both C++ and Python.
         - C++: Guard against I/O interleaving.
         - Py: Drop spikes from source, prettify reporting.
         - C++: use decor chaining.
      3. Modernise PYBIND11_OVERLOAD -> *RIDE (advised since 2.6).
      4. No longer do we initialise connectivity twice.
         - Simplify communicator construction.
         - Fix unit tests that needed to two-phase init communicator.
    • Thorsten Hater's avatar
      :squid: Never call a procedure again. (#1972) · a60fdc3a
      Thorsten Hater authored
      Inline NMODL `PROCEDURE`s into their callers.
    • boeschf's avatar
      SDE (#1884) · c976c666
      boeschf authored
      Main changes
      - uncorrelated and independently distributed white noise generation for point and density mechanisms
      - enabled by extending nmodl dialect and adjusting modcc (WHITE_NOISE block, stochastic solver method)
      - SDEs are solved by Euler-Maruyama method (synapse collapsing disabled in this case)
      - CPU and GPU backends responsible for creating random numbers using random123
      - simulation takes a seed value
      - bumped ABI due to addition of random numbers in ppack
      Incidental changes
      - builder pattern for simulation
      - pimpl idiom supported by util classes
  3. Oct 04, 2022
  4. Sep 27, 2022
  5. Sep 20, 2022
  6. Sep 16, 2022
  7. Sep 07, 2022
  8. Sep 06, 2022
  9. Sep 05, 2022
    • Thorsten Hater's avatar
      Guard against errors in linearity test. (#1964) · 8494607e
      Thorsten Hater authored
      - Print better modcc errors
      - Catch errors in symbolic diff in linearity test
      - Abort upon such errors and advise for a different solver
    • Thorsten Hater's avatar
      Remove explicit generator (#1962) · 55aac4a9
      Thorsten Hater authored
      - Remove the old, multi-target `event_generator` class in favour of `schedule_generator(tgt, weight, explicit_schedule)`
      - Much simplification ensues, `event_generator` is no longer a type-erasing container, but just what 
         `schedule_generator` was before
      - Make the label resolution in generators a bit more eager, no longer at simulation time, 
         but now during setup (bit give a wee bit of perf as well)
      
      Closes #1488 
    • 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
    • Thorsten Hater's avatar
      :squid: Excise `time` (#1967) · 0644cf87
      Thorsten Hater authored
      **BREAKING** Remove access to time `t` in NMODL.
  10. Sep 01, 2022
    • Thorsten Hater's avatar
      Add spike counts to pre-commit tests. (#1965) · ccb25fcd
      Thorsten Hater authored
      - Enhance `run_cpp_examples.sh` to do some very basic checking of spikes counts
      - Add a script to check all releases
      - The former must succeed for all commits to master
      
      Here's the expected spike counts as of 0.7
      - brunel 6998
      - bench 972
      - ring 94 (19 pre-v0.7)
      - gap_junctions 30
  11. Aug 26, 2022
  12. Aug 25, 2022
  13. Aug 23, 2022
  14. Aug 22, 2022
  15. Aug 11, 2022
  16. Aug 10, 2022
    • Thorsten Hater's avatar
      Add portable stacktraces · de83a0fa
      Thorsten Hater authored
      - Add stacktraces to
         1. arbor_exception (and all derived) as `where`
         2. arbor_internal_error as `where`
         3. arb_assert
      - Propagate stacktraces to Python exceptions derived from the above.
      - Expand dev/doc on debugging
  17. Aug 09, 2022
  18. Aug 05, 2022
  19. Aug 04, 2022