This title appears in the Scientific Report :
2021
Arbor Library v0.5
Arbor Library v0.5
<p>Since v0.4 there have been some major features, and many small fixes and improvements.</p> <p>Core API features:</p> <ul> <li>[C++/Python] Numerous small bug fixes, optimizations and improvements.</li> <li>[C++/Python] Refactor cable cell interface...
Saved in:
Personal Name(s): | Akar, Nora Abi |
---|---|
Biddiscombe, John / Cumming, Benjamin / Huber, Felix / Kabic, Marko / Karakasis, Vasileios / Klijn, Wouter / Küsters, Anne / Peyser, Alexander / Yates, Stuart / Hater, Thorsten / Huisman, Brent (Corresponding author) / Schmitt, Sebastian | |
Contributing Institute: |
Jülich Supercomputing Center; JSC |
Published in: | Anatomical science international (2021) |
Imprint: |
2021
|
Document Type: |
Software |
Research Program: |
Human Brain Project Specific Grant Agreement 3 Human Brain Project Specific Grant Agreement 2 SimLab Neuroscience Supercomputing & Big Data Infrastructures |
Publikationsportal JuSER |
<p>Since v0.4 there have been some major features, and many small fixes and improvements.</p> <p>Core API features:</p> <ul> <li>[C++/Python] Numerous small bug fixes, optimizations and improvements.</li> <li>[C++/Python] Refactor cable cell interface to be read only, and be constructed from<br> descriptions of morphology, labels, and decorations.</li> <li>[C++/Python]Expose diverse probes and rich interface for describing where and<br> what to sample on cable cells.</li> <li>[C++/Python] Support for querying names in mechanism catalogues</li> <li>[Python] Wrapper for existing C++ <code>pw_lin</code> functionality</li> <li>[C++] Improved validation of recipe definitions during model building</li> </ul> <p>Documentation:</p> <ul> <li>Added new Python examples</li> <li>Many small fixes for links, spelling, grammar and clarity.</li> <li>Add extensive guide for contributions and coding polices.</li> </ul> <p>Build:</p> <ul> <li>Allow CMake configuration to use system copies of C++ dependencies<br> (nlohmann/json and pybind11), and makes this the default option.</li> <li>Added GitHub Actions support for automated testing of a wider range of tests<br> and features than are run on our Travis CI (which will be removed soon)</li> <li>More robust Python detection and consistent use of the same Python<br> interpreter in CMake configure and build steps.</li> </ul> <p>Contributions by, in no specific order, <a href='https://github.com/brenthuisman'>@brenthuisman</a>, <a href='https://github.com/noraabiakar'>@noraabiakar</a>,<br> <a href='https://github.com/thorstenhater'>@thorstenhater</a>, <a href='https://github.com/halfflat'>@halfflat</a>, <a href='https://github.com/schmitts'>@schmitts</a> and <a href='https://github.com/bcumming'>@bcumming</a></p> <p>Since v0.3, the following changes can be reported:</p> <p>Library</p> <ul> <li>Moved from C++14 to C++17 <ul> <li>Removed our hand-rolled versions of <code>any</code>, <code>optional</code> and <code>variant</code>.</li> </ul> </li> <li>Added <code>std::expected</code> equivalent for error handling.</li> </ul> <p>Features</p> <ul> <li>Added mechanism catalogues with mechanisms used by Allen and BBP models.</li> <li>Removed support for spherical segments at the root of cable morphologies, and<br> replaced the sample-based representation with a segment-based representation: <ul> <li>Morphologies are defined in terms of two-point segments.</li> <li>Gaps are allowed between segments anywhere in a morphology.</li> </ul> </li> <li>Exposed the current <code>time</code> inside mechanisms.</li> <li>Added support for NeuroML2 morphology descriptions.</li> <li>Added a "stitch" morphology builder for constructing morphologies with<br> cable sections that can connect to any location on their parent cable.</li> <li>Replaced recipe probe API with more flexible API that allows for sampling<br> not only voltages at single locations, but currents, ion species properties,<br> and mechanism state variables at single locations or across an entire cell.</li> <li>Added support for querying probe metadata from the simulation object.</li> <li>Added new 'place_pwlin' C++ API for cell geometry queries.</li> <li>Added support for loading Allen SDK cell model morphologies from SWC.</li> <li>Added support for composing policies for creating compartments over sub-regions.</li> </ul> <p>Documentation</p> <ul> <li>Restructured documentation to have cleaner separation between high level descriptions<br> of concepts and the C++ and Python APIs.</li> <li>Added high level documentation for morphology descriptions, labels and cable cell<br> construction.</li> </ul> <p>Optimizations</p> <ul> <li>Implemented memory optimizations for GPU matrix solver.</li> <li>Added support for ARM SVE intrinsics in the vectorized CPU back end.</li> </ul> <p>Bug Fixes</p> <ul> <li>Fixed various modcc code generation errors.</li> </ul> <p>Since v0.2, the following changes can be reported:</p> <ul> <li>Python wrapper with pip installation.</li> <li>Replace the morphology specification API for more flexible cell building.</li> <li>Flat descriptions of ion channel distribution and synapse placement.</li> <li>Multi-compartment back end support for sub-branch mechanism distributions.</li> <li>Improved NMODL support: <ul> <li>nonlinear kinetic schemes</li> <li>linear system solution in initial conditions</li> <li>many small features and bug fixes</li> </ul> </li> <li>Generic ion species.</li> <li>Many optimizations and bug fixes.</li> </ul> |