There is a newer version of the record available.

Published November 15, 2022 | Version v0.8
Software Open

Arbor Library v0.8

Description

# 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). https://github.com/arbor-sim/arbor/pull/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. https://github.com/arbor-sim/arbor/pull/1919

- Allow editing morphologies. Supported operations: join_at, split_at, equivalence, equality, apply isometry. https://github.com/arbor-sim/arbor/pull/1957

- Arbor cable cell exporter and backend support in BluePyOpt. https://github.com/arbor-sim/arbor/pull/1959

- Make LIF cells probeable. https://github.com/arbor-sim/arbor/pull/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. https://github.com/arbor-sim/arbor/pull/1978

- Remove the `generate-catalogue` script. `modcc` accepts now a list of NMODL files and is able to spit out a catalogue.cpp file. https://github.com/arbor-sim/arbor/pull/1975

- Mechanism ABI version is bumped to 0.3.1. https://github.com/arbor-sim/arbor/pull/1884

- Rename spike detector -> threshold detector. https://github.com/arbor-sim/arbor/pull/1976

- Remove access to time `t` in NMODL. https://github.com/arbor-sim/arbor/pull/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 https://github.com/arbor-sim/arbor/pull/1903

* Fix doc error. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1934

* probe id -> probeset id, and clarification in docs by @brenthuisman in https://github.com/arbor-sim/arbor/pull/1898

* Elaborate on mpi4py. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1940

* Add all_closest to place_pwlin. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1952

* Add more visibility to decor. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1953

* add spike source docs. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1939

* 🦑 Excise `time` by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1967

* 🐍 Rename spike detector -> threshold detector by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1976

* Mutable connection table by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1919

* Allow multiple schedules per source_cell. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1963

* Allow editing morphologies by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1957

* generate-catalogue is gone by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1975

* SDE by @boeschf in https://github.com/arbor-sim/arbor/pull/1884

* Discuss q10 pattern in NMODL docs. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1995

 

### Core

 

* modcc: Allow redundant, but correct READ declaration. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1936

* Deny WATCH statements. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1942

* Excise fvm type aliases by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1938

* Add stack information to `arbor_exception` by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1945

* Expose find_private_gpu to python by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1943

* Make `mpoint`s hashable. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1950

* Arborio reads from Stream objects now. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1937

* Remove explicit generator by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1962

* Clean up plasticity by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1985

* Heaviside step by @llandsmeer in https://github.com/arbor-sim/arbor/pull/1989

* Do not restrict SWC record identifier by @schmitts in https://github.com/arbor-sim/arbor/pull/1996

* Make decor mandatory and labels optional. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1978

* Add virtual dtors to recipe components by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2000

* cleanup documentation by @boeschf in https://github.com/arbor-sim/arbor/pull/2007

* Arbor cable cell exporter and backend support in BluePyOpt by @lukasgd in https://github.com/arbor-sim/arbor/pull/1959

* Add a plethora of config options to a-b-c. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1958

* Make LIF cells probeable. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2021

* Added fixture dev docs. Made fixtures more robust. by @Helveg in https://github.com/arbor-sim/arbor/pull/2025

* Make LIF cells LIF cells again. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2026

* update cray documentation by @boeschf in https://github.com/arbor-sim/arbor/pull/2022

 

### Build, testing, CI

 

* Spack cache change, bump versions by @brenthuisman in https://github.com/arbor-sim/arbor/pull/1926

* Expand docs on testing. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1944

* Fix cmake paths so we can use Arbor as a sub-project. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1948

* bump pybind11 for py3.11 compat by @brenthuisman in https://github.com/arbor-sim/arbor/pull/1955

* Add spike counts to pre-commit tests. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1965

* Move pybind11 to `/ext` by @brenthuisman in https://github.com/arbor-sim/arbor/pull/1968

* Add black config to pyproject.toml. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1971

* Bump CI workflow and GoogleTest by @boeschf in https://github.com/arbor-sim/arbor/pull/2003

* Remove cscs-ci badges by @brenthuisman in https://github.com/arbor-sim/arbor/pull/1999

* fix cmake: ninja + ExternalProject by @boeschf in https://github.com/arbor-sim/arbor/pull/2008

* Use HTTPS access instead of ssh/git for gtest. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2009

* Add memory sanitizer by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2013

* Try to use OpenMPI as of brew/apt. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2016

* Bump versions by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2017

* Include ubenches into CI by @boeschf in https://github.com/arbor-sim/arbor/pull/2014

* Speed up CI by @boeschf in https://github.com/arbor-sim/arbor/pull/2019

* Update pyproject.toml for Py3.11 by @brenthuisman in https://github.com/arbor-sim/arbor/pull/2018

* Check internal invariants in CI by @thorstenhater in https://github.com/arbor-sim/arbor/pull/2023

 

### Fixes, optimization

 

* Disable inconsistent rule. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1928

* Action must change `VERSION` except on version tag. by @brenthuisman in https://github.com/arbor-sim/arbor/pull/1931

* NMDOL: default catalogue clean up by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1935

* PANIC! Forgot to fix fvm type in GPU!!!. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1946

* Remove abuse of arg_v. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1954

* Catch symdiff errors. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1964

* Bug fix: point mechs applying weights to ionic concentrations by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1960

* Fix some issues found by PVS Studio. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1974

* load_asc Python fix by @lukasgd in https://github.com/arbor-sim/arbor/pull/1977

* Ensure proper Pybind11 is found. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1961

* missing std namespace by @boeschf in https://github.com/arbor-sim/arbor/pull/1994

* Optimize CPU-side solvers by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1992

* 🦑 modcc now generates GPU mechs again. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1988

* 🦑 Never call a procedure again. by @thorstenhater in https://github.com/arbor-sim/arbor/pull/1972

* compiler warnings by @boeschf in https://github.com/arbor-sim/arbor/pull/2006

* guard for zero random variables by @boeschf in https://github.com/arbor-sim/arbor/pull/2031

* fix some compiler warning by @boeschf in https://github.com/arbor-sim/arbor/pull/2034

 

## New Contributors

* @lukasgd made their first contribution in https://github.com/arbor-sim/arbor/pull/1977

 

**Full Changelog**: https://github.com/arbor-sim/arbor/compare/v0.7...v0.8-rc

 

Files

Files (18.7 MB)

Name Size Download all
md5:15194ea59700b049a9fea3526345058c
18.7 MB Download

Additional details

Related works

Is supplement to
Software: https://github.com/arbor-sim/arbor/tree/v0.5.2 (URL)

Funding

HBP SGA2 – Human Brain Project Specific Grant Agreement 2 785907
European Commission
HBP SGA3 – Human Brain Project Specific Grant Agreement 3 945539
European Commission
HBP SGA1 – Human Brain Project Specific Grant Agreement 1 720270
European Commission