Skip to content
Snippets Groups Projects
  1. Nov 23, 2022
  2. Nov 22, 2022
    • boeschf's avatar
      spack gpu option (#2043) · 45de1ab3
      boeschf authored
      added conditional variant for cuda builds to enable GPU-based random number generation
      45de1ab3
    • boeschf's avatar
      simplify make catalogue (#2042) · 9797403e
      boeschf authored
      - unit tests and some examples build their own mechanism catalogue
      - repeated logic for detecting GPUs, passing compile time flags
      - leverage the cmake variables and targets which are already there since these catalogues are internal to arbor
      - build a static library with mechanisms, which links to arbor-private-deps
      9797403e
  3. Nov 21, 2022
    • Thorsten Hater's avatar
      :zap: Voltage Processes (#2033) · b63cca1c
      Thorsten Hater authored
      Add the VOLTAGE_PROCESS mechanism kind to modcc, allowing for direct writing to the membrane voltage
      Obviously these are extremely sharp tools and can break the cable model, so we add some constraints to their
      use (see docs). Still, user discretion is required.
      
      As a sneak peek for what this might be useful for
      
      * implementing voltage clamps
      * limiting membrane voltage (irritatingly also a kind of clamping)
      * faking ABSTRACT_CELL like behaviour (although that might require a bit more work)
      
      Closes #1343
      b63cca1c
  4. Nov 18, 2022
  5. Nov 17, 2022
    • boeschf's avatar
      Additional builtin functions to Arbor's NMODL dialect (#2035) · eaddc738
      boeschf authored
      Added common math functions which I came across in the wild quite frequently. Implementations may be more optimized than hand-rolled versions.
      
      - sqrt: usual square root
      - step_right: right-continuous heaviside step function
      - step_left: left-continuous heaviside step function
      - step: heaviside step function with half step at 0
      - signum: sign bit function
      - extended iexpr with the step_left, step_right variants
      eaddc738
    • boeschf's avatar
      BUGFIX: add ARB_CUDA flag to example catalogue (#2039) · ff3494ec
      boeschf authored
      fix ornstein_uhlenbeck example on gpu:
      - use make_catalogue instead of make_catalogue_standalone
      - link to arbor-private-deps
      - mark all files as c++ sources when using cuda-clang or hip-clang
      ff3494ec
  6. Nov 15, 2022
    • Brent Huisman's avatar
    • Brent Huisman's avatar
      v0.8 (#2028) · 8e82ec19
      Brent Huisman authored
      - Correct `.gitmodules`
      - Update all git submodules to latest released versions, except google-benchmark
      - Have CHANGELOG
      - Breaking changes since v0.7:
        - A change in API: `arbor.cable_cell` has the labels and decor arguments swapped. I.e.: `(tree, labels, decor)`
      -> `(tree, decor, label)`. Labels are now optional.
        - Mechanism ABI version is bumped to 0.3.1. https://github.com/arbor-sim/arbor/pull/1884
        - Remove the `generate-catalogue` script.  `modcc` accepts now a list of NMODL files and is able to spit out a catalogue.cpp file
        - Rename spike detector -> threshold detector
        - Remove access to time `t` in NMODL.
      - Major dependency version bumps:
        - GCC: 9 and up
        - CUDA: 11 and up
        - Clang: 10 and up
      v0.8
      8e82ec19
    • boeschf's avatar
      SDE examples (#2030) · 1b268ecf
      boeschf authored
      Addresses #1987
      
      * reproducibility test for random number generator
      * C++ example demonstrating Ornstein-Uhlenbeck process
      * Python example featuring stochastic mechanism
      * stochastic mechanism catalogue
      
      The Python example is contributed by Jannik Luboeinski's (@jlubo): https://github.com/jlubo/arbor_ou_lif_example
      and adapted to fit into Arbor.
      1b268ecf
  7. Nov 10, 2022
  8. Nov 08, 2022
  9. Nov 03, 2022
  10. Nov 02, 2022
  11. Nov 01, 2022
    • Thorsten Hater's avatar
      Make LIF cells probeable. (#2021) · 3106ff78
      Thorsten Hater authored
      * Functionality
        * Add probes to LIF cells.
      * Docs
        * Remove errorneous statement(s) about LIF cells (there never was an E_reset...)
        * Move probing chapter one level up (concepts/cable_cells -> concepts)
      * Tests
        * Add tests for LIF probes
      3106ff78
  12. Oct 27, 2022
    • Thorsten Hater's avatar
      Add a plethora of config options to a-b-c. (#1958) · 81096351
      Thorsten Hater authored
      Closes #1861 
      Closes #1783 
      
      - arbor-build-catalogue (a-b-c) does no longer need to be in a fixed location
      - nor do we statically fix the configuration for a-b-c
      - instead, we rely on `arbor.config` to read the relevant default values
      - each value can be overriden, if desired
      - added many more values to the configuration
        - gpu type and arch
        - paths and prefix 
        - CXX
      - report default settings for better diagnosis
      - implement a fallback for prefix if that does not exist; in particular for the amazing skbuild.
      
      In essence you can now use a-b-c as a standalone tool, as long as you have a properly 
      configured py-arbor.
      
      Example output after removing `_skbuild`
      ```
      Warning: prefix '/Users/hater/src/arbor/_skbuild/macosx-11.0-x86_64-3.10/cmake-install' does not exist, falling back to '/Users/hater/src/arbor/.direnv/python-3.10.6'.
      usage: arbor-build-catalogue catalogue_name mod_source_dir
      
      Generate dynamic catalogue and build it into ...
      81096351
  13. Oct 26, 2022
  14. Oct 25, 2022
  15. Oct 24, 2022
    • Thorsten Hater's avatar
      Bump OpenMPI to 4.1.x · 6880b7c4
      Thorsten Hater authored
      - bump OpenMPI version in hope of fixing the intermittent memory corruption
      - bump Ubuntu and clang versions in `sanitize.yml` workflow.
      6880b7c4
  16. Oct 20, 2022
  17. Oct 19, 2022
  18. Oct 13, 2022
  19. Oct 11, 2022
  20. 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.
      fc85765e
    • Thorsten Hater's avatar
      :squid: Never call a procedure again. (#1972) · a60fdc3a
      Thorsten Hater authored
      Inline NMODL `PROCEDURE`s into their callers.
      a60fdc3a
    • 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
      c976c666