- Sep 05, 2022
-
-
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 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 authored
**BREAKING** Remove access to time `t` in NMODL.
-
- Sep 01, 2022
-
-
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
-
- Aug 26, 2022
-
-
Brent Huisman authored
- allow arbor to be build against py3.11 - modernise!
-
- Aug 25, 2022
-
-
Thorsten Hater authored
Document use and care of spike detectors.
-
- Aug 23, 2022
-
-
Thorsten Hater authored
Enable pyArborio input routines to consume Stream objects in addition to files by name. - NML - NeuroLucida ASC - SWC Closes #1459
-
Thorsten Hater authored
-
Thorsten Hater authored
Do not abuse `pybind::arg_v("name", T default, "description")` as `pybind::arg_v("name", "description")`. Use descriptive names and `pybind::arg` instead. Closes #1754
-
Thorsten Hater authored
Functionality to - delete ions from global properties - peek into global properties - expose painted, placed, and defaulted items - expose voltage limit to python - make voltage limit an optional to allow for arbitrary values. - Add ion_settings view to python = (valence, ion_data, rev_pot_method) Documentation - cable cell properties in python Closes #1578 Closes #1577 Closes #1607
-
- Aug 22, 2022
-
-
Thorsten Hater authored
-
Thorsten Hater authored
-
- Aug 11, 2022
-
-
Thorsten Hater authored
* Add find_private_gpu and arbor.env.
-
- Aug 10, 2022
-
-
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
-
- Aug 09, 2022
-
-
Thorsten Hater authored
-
Thorsten Hater authored
* Clean up the bundled mechanisms. Closes #1155
-
Thorsten Hater authored
Remove the redundant fvm_(value|size|index)_type aliases and replace them with the raw ABI types.
-
Thorsten Hater authored
-
Thorsten Hater authored
Throw error if WATCH encountered in NMODL.
-
Thorsten Hater authored
-
- Aug 05, 2022
-
-
Brent Huisman authored
- elaborate probing API - add definitions for different kinds of probes (vector, scalar, set). - add sketches and example for data layout
-
- Aug 04, 2022
-
-
Thorsten Hater authored
-
Thorsten Hater authored
-
- Aug 02, 2022
-
-
Thorsten Hater authored
-
Brent Huisman authored
-
- Aug 01, 2022
-
-
Thorsten Hater authored
-
- Jul 28, 2022
-
-
Brent Huisman authored
- It's actually a Github cache trick: https://github.com/actions/cache/issues/342#issuecomment-673371329 - First run: 1h 7m 38s - Second run: same duration. Hmm.... - Third run: ~10 minutes! - 4th: ~7.5 min. - Bump in configs: macos 10.15 will disappear in a month: https://github.com/actions/virtual-environments/issues/5583 - Bump clang-max to 14, gcc-max to 11 - macos-min to 11, macos-max to 12.
-
- Jul 20, 2022
-
-
Brent Huisman authored
-
- Jul 19, 2022
-
-
Brent Huisman authored
- Generate timestamped VERSION once, to properly group on Test.PyPI. Example: - https://github.com/arbor-sim/arbor/actions/runs/2696804929 - https://test.pypi.org/project/arbor/0.7rc20220719101015/ - Update/simplify release documentation. - Update to v0.7
-
- Jul 18, 2022
-
-
Brent Huisman authored
* - Weekly CI Python wheel build pushes to Test.PyPI.org - Easy availability at https://test.pypi.org/project/arbor/ - Small change in documentation around VERSION - Delete superfluous setup.py file.
-
- Jul 04, 2022
-
-
Brent Huisman authored
Move Python build to `pyproject.toml`, bump Python minver to 3.7, fix macos wheel generation (#1916) * Failing Macos Python wheel builds fixed. * Macos Python wheels now come with dual-arch (x86-64 and arm64) * Moved (nearly) all Python build instructions to `pyproject.toml` * Enables 'build isolation', and need to specify build-deps only once, no need for users or CI scripts to pre-install them. * Enables editable `pip` installs (`pip install -e ./arbor`) * Compatible with 'build frontends' `pip` and `build`. * Passing CMake options actually got shorter * Drop Python 3.6 support.
-
- Jun 30, 2022
-
-
Brent Huisman authored
- Fix line numbers in tutorials, fallout from #1906 - Mention arbor-contrib in a few relevant places - Correct some fallout from #1904 - A new hardware and profiling tutorial, and covers things moved out of other examples in #1904 - Various other documentation fixes
-
Simon Frasch authored
Adds the ability to scale parameters of (density) mechanisms based on inhomogeneous properties along a cell. Two new types are added: - iexpr: An expression describing the scaling factor computation. - scaled_mechanism: A wrapper struct around a mechanisms with iexpr attached to selected parameters. Closes #1650
-
- Jun 23, 2022
-
-
Thorsten Hater authored
Post-Merge clean-up for the diffusion PR - remove redundant `WRITE`s in mechanisms - diffusion.py is now closer in functionality to diffusion.cpp - diffusion.py now prints a table of results
-
Thorsten Hater authored
-
- Jun 21, 2022
-
-
Brent Huisman authored
-
Thorsten Hater authored
-
Thorsten Hater authored
Encapsulates 80% of cases: ```cxx rec = recipe() ctx = make_context() dec = partition_load_balance(rec, ctx) sim = simulation(rec, dec, ctx) ``` is now written as ```cxx rec = recipe() sim = simulation(rec) ``` In python we use keyword args to allow both to be specified separatly. Partially fixes #1862
-
Thorsten Hater authored
# Introduction Plasticity processes are mediated by signalling ions, eg Ca++, which are generated by synapses upon reception of a spike. This adds a quantity `Xd` for any ion `X` - initialised as `Xi` - read from and written to by NMODL density and point mechanisms. - propagates according to a diffusion law `∂_t Xd = ∂_z c X ∂_z Xd + iX/qi`. - in contrast to `Xi` and `Xo` there's no buffering and the update in mechanisms occurs atomically (and at a different time) More details can be found in the documentation. For the future there are some low hanging optimisations - per-ion conductivity for the matrix solver could be disabled if no diffusion is computed - cable and diffusion solvers store duplicates of the solver state, could be merged Closes #1651
-
- Jun 20, 2022
-
-
Benjamin Cumming authored
-