- Jan 26, 2022
-
-
Brent Huisman authored
* bump version to v0.6-rc * Update `MANIFEST.in` and `scripts/run_python_examples.sh` * Update Release instructions `docs/contrib/release.rst` * Fix missing quotes in `python/example/single_cell_nml.py` * Add testing to sdist creation in `ciwheel.yml` * Rename `basic.yml` to `test-everything.yml` * Remove Python examples step from matrix (mostly because plotting takes much CPU on macos) * change to build /w nml * add test of pip builds (`pip install` in addition to CMake builds) * Python examples are tested here, once is enough.
-
Thorsten Hater authored
# Changes - `cable_cell_global_properties` now holds a catalogue directy - fixes for tests, examples, and python bindings accordingly # Linked Issues Fixes #1446
-
- Jan 24, 2022
-
-
Thorsten Hater authored
- build-catalogue - now installed by pip - enable GPU-backends - isolate from being installed in a non-default dir - rename to arbor-build-catalogue - allow hand-written C++ mechanisms to be linked in the same catalogue. - CMake - enable PIC on arbor always to allow linking to shared objects - use relative paths when configuring a-b-c, to make relocation less of a problem - Python - ensure a-b-c is installed by pip, along with headers and libarbor.a - throw errors if tools (cmake scripts, arbor package, modcc) missing - transition setup.py setuptools -> skbuild. - Wheels - Add NML2 support to wheels - scripts/build-wheels.sh builds wheels, in principle valid for submission to PyPI, on your own hardware. This should be kept in sync with .github/workflows/ciwheel.yml - scripts/patchwheel.py corrects the rpath in the libraries in the wheels, working around a bad interplay between auditwheel and skbuild, see pypa/auditwheel#363 - Python Wheels are tested as part of the Github Action - Add nml and bundled status to config().
-
Brent Huisman authored
* Pyarb specific. * `proc_allocation_shim()` throws error if user sets threads to zero. * `arbor.context` constructor accepts `threads` set to `"avail_threads"`, which sets the number of threads to `arbenv::thread_concurrency()` * This introduces a dependency on arbenv for Pyarb. * Docs and tests added. Fixes #1692
-
Benjamin Cumming authored
Add a modified version of the benchmark cell example that uses dry run scaling.
-
Nora Abi Akar authored
- Add support for profiling externally loaded mechanisms. - Move the profiler calls out of the generated C++ code into the `arb::mechanism` methods. - Remove the `--profile` flag from the modcc flags. - Replace `_` delimiter with `:` in profiler. - Replace `const char*` with `const std::string&` for profiler region representation. - Profiler may now contain empty regions that were registered but not profiled, so add some code to filer those out when generating final profile.
-
- Jan 21, 2022
-
-
Thorsten Hater authored
- Bump CMake to 3.18 for better CUDA support. - Clean-up our use of said support. - Remove old cruft and workarounds. - Maintenance in CI: enable MacOS 11; bump CMake versions to 3.18 / 3.22; bump bors CMake to 3.18 Fixes #1790
-
Nora Abi Akar authored
- Implement a new constructor for `domain_decomposition` from a vector of `group_descriptions`. The new constructor performs various checks on the given `group_descriptions` and throws an appropriate exception if any problem is found. It is the only available constructor for `domain_decomposition`. - Make the various members of `domain_decomposition` private and implement their getters. - Expose the `domain_decomposition` constructor to the python interface through a `partition_by_group` function. - Add unit tests. - Add documentation.
-
Robin De Schepper authored
-
- Jan 18, 2022
-
-
Robin De Schepper authored
-
Nora Abi Akar authored
-
- Jan 17, 2022
-
-
Brent Huisman authored
Documents the release cycle.
-
- Jan 12, 2022
-
-
Sebastian Schmitt authored
-
- Jan 07, 2022
-
-
Nora Abi Akar authored
Refactor the CV-cable logic from `fvm_layout.cpp`. Specifically, move `cv_geometry_from_ends` into the new public header `cv_data.hpp` and rename it to `cv_data_from_locset`, and move `pw_over_cable` into another new public header `util/piecewise_over_cable.hpp`. Create a new public class `cell_cv_data`, similar to the private `cv_geometry` but which only carries the cv information for a single cable-cell. Add a new constructor to `cv_geometry` which takes `cell_cv_data` as an argument. Add new public function `intersect_region` that takes as arguments a cable-cell, a region on that cell and a `cell_cv_data` object and returns a vector of CV indices and proportions belonging to the region. Add docs, python wrapper and unit tests. Fixes #1720.
-
- Jan 06, 2022
-
-
Nora Abi Akar authored
Replace the `partition_load_balance` function assumed that gap-junction connections are always double-sided (i.e. if gid `x` has a gap-junction connection from peer gid `y`, then gid `y` must also have a gap-junction connection from peer gid `x`). This used to be a requirement that was checked prior to #1682. Since then, single-sided gap-junctions are in principle allowed, but `partition_load_balance` still operates under the bidirectional gap-junction connection assumption resulting in some gids being present in multiple cell-groups. This PR modifies the `partition_load_balance` function to do the following: 1. On each rank, generate a gj_connection list per cell. (gj_connection list is a vector of gids that have an outgoing connection ending at the cell under consideration). 2. On each rank, gather all the gj_connection lists for each cell in the network. 3. On each rank, modify the global list of gj_connections in the network to make all gj_connections bidirectional. 4. On each rank, use the global list of gj_connections in the network to partition the graph. Fixes #1767.
-
- Jan 05, 2022
-
-
Brent Huisman authored
-
- Jan 03, 2022
-
-
Benjamin Cumming authored
- make fmt a dependency of libmodcc, not modcc - set FMT_HEADER_ONLY as a compiler flag to avoid double definition
-
- Dec 20, 2021
-
-
Brent Huisman authored
-
- Dec 15, 2021
-
-
Brent Huisman authored
* Create a script that generates `diff.log` if git submodules have tags more recent that the commit they're currently at. * A Github Action runs this script monthly. * _If_ updates found, Github Action creates an Issue like so: https://github.com/brenthuisman/arbor/issues/9 * Actually updating the git submodule and Spack file are still manual First step in addressing #1731
-
- Dec 14, 2021
-
-
Nora Abi Akar authored
Check for errors in the solvers before the `finalize` stage and return early if errors were encountered. Fixes #1722.
-
- Dec 13, 2021
-
-
Nora Abi Akar authored
-
Brent Huisman authored
-
- Dec 08, 2021
-
-
Brent Huisman authored
* Add documentation for collaboration on a PR using just git * Add the stage of Issue creation to PR workflow. * Correct header level in test docs
-
- Dec 03, 2021
-
-
Sebastian Schmitt authored
Add the lmorpho utility back to Arbor The original utility was removed because it was a maintenance burden with no users. Now users are requesting the feature, this PR adds the old code, and updates it to work with the new morphology description API.
-
Robin De Schepper authored
-
- Nov 26, 2021
-
-
Benjamin Cumming authored
* add a test that tests that a catalogue built separately can be loaded via the Python interface * further simplification of dynamic library support * move all platform-specific code into the cpp implementation and out of header.
-
- Nov 22, 2021
-
-
boeschf authored
Fix various non-standards compliant code when compiled with elevated warning levels (-Wall -Wpedantic). Here is a list of the problems addressed: **preprocessor** - expansion of empty `__VA_ARGS__` in `ARB_PP_FOREACH` - named variadic macro arguments in `TRACE` macro **glibc** - deprecated `mallinfo` call for newer glibc versions **simd** - non-const C-array sizes **modcc** - generation of C-arrays of size 0 **switch/case** - switch-case ranges **tuple_foreach** - compound literals
-
- Nov 17, 2021
-
-
Robin De Schepper authored
-
Nora Abi Akar authored
Use `constraint_category` only when reading/writing data sources indexed by `node_index`. Every other indexed data source assumes that the underlying index belongs to the category `index_constraint::none`. Fixes #1734.
-
- Nov 16, 2021
-
-
Robin De Schepper authored
-
Robin De Schepper authored
-
- Nov 15, 2021
-
-
Lea Kanzleiter authored
-
- Nov 12, 2021
-
-
Nora Abi Akar authored
Fixes #1753
-
- Nov 10, 2021
-
-
Benjamin Cumming authored
Extend the `pwlin_place` interface to find the location of a morphology that is closest to a 3d coordinate. * extend `arb::pwlin_place` interface * python wrapper * unit tests * documentation Addresses a feature request by @Helveg that I don't think ever had a ticket assigned to it. Fixes #1661 and #1108.
-
Sam Yates authored
* Consolidate default_concurrency, default_gpu functionality into arborenv/default_env.hpp, .cpp. * Add new arborenv function `default_allocation()` that uses environment variables ARBENV_NUM_THREADS and ARBENV_GPU_ID to create an `arb::proc_allocation`, with a fallback to `thread_concurrency()`. * Use arborenv-specific exceptions instead of generic std::runtime_error etc. * Update examples, docs to suit. Fixes #988 (except for reworking all the unit tests!)
-
- Nov 09, 2021
-
-
Sam Yates authored
tinyopt README.md had an example which was not updated to the 1.0 API. Fixed upstream, and this is a copy.
-
Sam Yates authored
* Add test that is sensitive to small radius loss of precision in ixa computation. * Add test that checks for consistent behaviour when there is an (isolated) zero radius point in the morphology. * Special case p==1 q==1 case in ratelem so that it can interpolate ixa in the presence of non-finite interpolants. * Change naming in pw_element/pw_elements: 'element' refers to the extent+value pairs comprising a 'pw_elements' object; 'value' refers to the value associated with an element; 'extent' refers to the closed interval which is the support of the element. * Allow values (but not extents) in a pw_elements object to be mutable, using proxies for iterator access. * Write piecewise zip (pw_zip) in terms of a lazy pw_zip_view. Rename zip functions. * Document pw_elements more thoroughly. * Simplify and document embed_pwlin.cpp routines, expressing everything in terms of simple interpolate/integrate operations. * Represent integrated inverse cross-sectional area in the embedding by multiple piecewise-rational functions over a branch, each of which contribute separately to an ixa-based integration, so that precision loss associated with small (or zero) radii can be avoided. * Comment embed_pwlin.cpp more thoroughly. Fixes #1526
-
- Nov 02, 2021
-
-
Nora Abi Akar authored
Add SVE implementations of `sin` and `cos` using `std::sin` and `std::cos` respectively. Fixes failing CI on a64fx architectures for vectorized builds.
-
- Oct 29, 2021
-
-
Benjamin Cumming authored
-
Benjamin Cumming authored
-