v0.8
v0.8
** 2022 11 15 **
Welcome to another installment of the Arbor simulator!
In this release we add a CHANGELOG, where major new features and breaking changes will be mentioned specifically.
Major new features
- Stochastic Differential Equations. Introduces sources of white noise to arbor (and nmodl). Both point and density mechanisms may now use white noise as part of the state updates, turning the ODEs effectively into SDEs. The noise sources are provided per connection end point (point mech.) or control volume (density mech.) and are uncorrelated (spatially, temporally and across different mechanism instantiations). #1884
- Mutable connection table. 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. #1919 - Allow editing morphologies. Supported operations: join_at, split_at, equivalence, equality, apply isometry. #1957
- Arbor cable cell exporter and backend support in BluePyOpt. #1959
- Make LIF cells probeable. #2021
Breaking changes since v0.7:
- A change in decor API:
arbor.cable_cell
has the labels and decor arguments swapped. I.e.:(tree, labels, decor)
->(tree, decor, label)
. Labels are now optional. #1978 - Remove the
generate-catalogue
script.modcc
accepts now a list of NMODL files and is able to spit out a catalogue.cpp file. #1975 - Mechanism ABI version is bumped to 0.3.1. #1884
- Rename spike detector -> threshold detector. #1976
- Remove access to time
t
in NMODL. #1967 - Major dependency version bumps:
- GCC: 9 and up
- CUDA: 11 and up
- Clang: 10 and up
Full commit log
Neuroscience, documentation
- Convenience: shorter code to build decor. by @thorstenhater in #1903
- Fix doc error. by @thorstenhater in #1934
- probe id -> probeset id, and clarification in docs by @brenthuisman in #1898
- Elaborate on mpi4py. by @thorstenhater in #1940
- Add all_closest to place_pwlin. by @thorstenhater in #1952
- Add more visibility to decor. by @thorstenhater in #1953
- add spike source docs. by @thorstenhater in #1939
- 🦑 Excise
time
by @thorstenhater in #1967 - 🐍 Rename spike detector -> threshold detector by @thorstenhater in #1976
- Mutable connection table by @thorstenhater in #1919
- Allow multiple schedules per source_cell. by @thorstenhater in #1963
- Allow editing morphologies by @thorstenhater in #1957
- generate-catalogue is gone by @thorstenhater in #1975
- SDE by @boeschf in #1884
- Discuss q10 pattern in NMODL docs. by @thorstenhater in #1995
Core
- modcc: Allow redundant, but correct READ declaration. by @thorstenhater in #1936
- Deny WATCH statements. by @thorstenhater in #1942
- Excise fvm type aliases by @thorstenhater in #1938
- Add stack information to
arbor_exception
by @thorstenhater in #1945 - Expose find_private_gpu to python by @thorstenhater in #1943
- Make
mpoint
s hashable. by @thorstenhater in #1950 - Arborio reads from Stream objects now. by @thorstenhater in #1937
- Remove explicit generator by @thorstenhater in #1962
- Clean up plasticity by @thorstenhater in #1985
- Heaviside step by @llandsmeer in #1989
- Do not restrict SWC record identifier by @schmitts in #1996
- Make decor mandatory and labels optional. by @thorstenhater in #1978
- Add virtual dtors to recipe components by @thorstenhater in #2000
- cleanup documentation by @boeschf in #2007
- Arbor cable cell exporter and backend support in BluePyOpt by @lukasgd in #1959
- Add a plethora of config options to a-b-c. by @thorstenhater in #1958
- Make LIF cells probeable. by @thorstenhater in #2021
- Added fixture dev docs. Made fixtures more robust. by @Helveg in #2025
- Make LIF cells LIF cells again. by @thorstenhater in #2026
- update cray documentation by @boeschf in #2022
Build, testing, CI
- Spack cache change, bump versions by @brenthuisman in #1926
- Expand docs on testing. by @thorstenhater in #1944
- Fix cmake paths so we can use Arbor as a sub-project. by @thorstenhater in #1948
- bump pybind11 for py3.11 compat by @brenthuisman in #1955
- Add spike counts to pre-commit tests. by @thorstenhater in #1965
- Move pybind11 to
/ext
by @brenthuisman in #1968 - Add black config to pyproject.toml. by @thorstenhater in #1971
- Bump CI workflow and GoogleTest by @boeschf in #2003
- Remove cscs-ci badges by @brenthuisman in #1999
- fix cmake: ninja + ExternalProject by @boeschf in #2008
- Use HTTPS access instead of ssh/git for gtest. by @thorstenhater in #2009
- Add memory sanitizer by @thorstenhater in #2013
- Try to use OpenMPI as of brew/apt. by @thorstenhater in #2016
- Bump versions by @thorstenhater in #2017
- Include ubenches into CI by @boeschf in #2014
- Speed up CI by @boeschf in #2019
- Update pyproject.toml for Py3.11 by @brenthuisman in #2018
- Check internal invariants in CI by @thorstenhater in #2023
Fixes, optimization
- Disable inconsistent rule. by @thorstenhater in #1928
- Action must change
VERSION
except on version tag. by @brenthuisman in #1931 - NMDOL: default catalogue clean up by @thorstenhater in #1935
- PANIC! Forgot to fix fvm type in GPU!!!. by @thorstenhater in #1946
- Remove abuse of arg_v. by @thorstenhater in #1954
- Catch symdiff errors. by @thorstenhater in #1964
- Bug fix: point mechs applying weights to ionic concentrations by @thorstenhater in #1960
- Fix some issues found by PVS Studio. by @thorstenhater in #1974
- load_asc Python fix by @lukasgd in #1977
- Ensure proper Pybind11 is found. by @thorstenhater in #1961
- missing std namespace by @boeschf in #1994
- Optimize CPU-side solvers by @thorstenhater in #1992
- 🦑 modcc now generates GPU mechs again. by @thorstenhater in #1988
- 🦑 Never call a procedure again. by @thorstenhater in #1972
- compiler warnings by @boeschf in #2006
- guard for zero random variables by @boeschf in #2031
- fix some compiler warning by @boeschf in #2034
New Contributors
Full Changelog: v0.7...v0.8-rc