- Jan 24, 2022
-
-
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
-
- Oct 28, 2021
-
-
Brent Huisman authored
-
Brent Huisman authored
-
- Oct 27, 2021
-
-
Nora Abi Akar authored
-
Brent Huisman authored
-