- Jun 12, 2019
-
-
Benjamin Cumming authored
Add full wrappers for - `lif_cell` - `spike_source_cell` - `benchmark_cell And an opaque wrapper for cable_cell with a helper function that generates a random morphology identical to the ones in the nsuite benchmarks. Fixes #767.
-
Wrap `arb::simulation` type and interface for running `run()`, resetting `reset()`, and `set_binning_policy(policy, bin_interval)`. Wrap `enum binning_kind`, used to set event binning on `simulation` API. Fixes #763
-
Extended USEION VALENCE support. * Augment modcc parser to accept identifier or signed integer after VALENCE. * Treat identifer after VALENCE as global scalar, tied to ionic charge. * Add ionic charge field to mechanism ion parameter pointers, replacing scalar in shared state with a length-1 array. * Verify presence of ion name and check ion charge against numeric valence in mechanism info when discretizing in `fvm_build_mechanism_data`. * Pass ion info, coalesce_synapse global state to `fvm_build_mechanism_data` just via cable cell global properties. * Add more unit-test only mechanisms (test_ca_read_valence, test_cl_valence). * Add unit tests for valence verification and reading into mechanism state (multicore only). * Update existing unit tests for new interfaces. Implements #780.
-
- Jun 07, 2019
-
-
* Change occurances of 'ionKind' to corresponding string values in test_parser.cpp. * Add unit-modcc to travis script. Fixes #775.
-
Domain decomposition in python wrapper * functions: `partition_load_balance` * types: `group_description` and `domain_decomposition` Also includes * remove comment that `gid` in a `group_description` must be sorted. * a host of small clean ups of python wrapper Fixes #761
-
- Jun 05, 2019
-
-
akuesters authored
clean up stringification in python wrappers
-
Benjamin Cumming authored
-
akuesters authored
move python wrapper for schedules to their own files
-
Benjamin Cumming authored
-
- Jun 04, 2019
-
-
Fixes #760 Wraps arbor recipe (without probes, i.e. num_probes, probe_info, get_probe) including - cell_connection, - gap_junction_connection, - recipe with - num_cells - cell_description - cell_kind - num_sources - num_targets - num_gap_junctions_sites - event_generators - connections_on - gap_junctions_on - global_properties - enum cell_kind in `identifiers.cpp`
-
- May 29, 2019
-
-
Nora Abi Akar authored
Addresses #757. * Check if the multiplicity vector is empty before trying to use its contents. * Add unit test to catch the problem
-
Fix a memory error triggered on the GPU when assertions were enabled. An assertion was testing a value in shared memory, that should have been stored in host memory.
-
akuesters authored
Python: mpi4py communicators as first class citizens
-
- May 23, 2019
-
-
Benjamin Cumming authored
-
Benjamin Cumming authored
-
* Replace ionKind enumerations with corresponding string values. * Rename `ion.hpp` as `ion_info.hpp`. * Re-jig 'nonspecific' current handling in modcc: make explicit the external source of the corresponding current variable, and treat as non-indexed those locals with an external variable that has no data source, as opposed to special-casing the `ionKind::nonspecific` value. * Add another field in ion dependency information that captures a write to an ionic reversal potential. Fixes #748.
-
Benjamin Cumming authored
-
+ Included conversion from `pybind11::object()` to `arb::util::optional` for `arbor.proc_allocation().gpu_id` and exception handling for `arbor.context(mpi=comm)`. + cleaned-up `test_event_generator.py` + for discussion: How do we want to handle the strings? Include them in appropriate `.cpp` or collect them in `strings.c/hpp`?
-
- May 20, 2019
-
-
Sam Yates authored
Fixes #746. * Make `one_probe` an `inline` function rather than `static inline` in order to work around a linker issue (see issue #746).
-
- May 17, 2019
-
-
Nora Abi Akar authored
* Fixes segmentation faults; output compiler errors instead. * Consume units if provided in function/procedure prototypes or after function prototype. * Consume UNITSON/UNITSOFF. * Consume and store VALENCE as an ion property.
-
- May 09, 2019
-
-
Wrapped the following C++ features in Python: - Identifiers (`cell_member`) + according tests - `event_generator` and schedules (`regular_schedule`, `explicit_schedule`, `poisson_schedule`) + according tests
-
- May 07, 2019
-
-
Changes implicit solve step from: > solve (c/δt + L) v' = c/δt v - J to > solve (c/δt + g + L)v' = (c/δt +g) v - J where _c_ is capacitance, _g_ is membrane conductance, _J_ is membrane current. * Compute conductivity contribution for mechanisms from symbolic d/dv of current contribution (extracted from linearity test.) * Add new modcc 'source kind' for conductivity; tie to `vec_g_`. * Add conductivity field to fvm shared state. * Include conductivity in matrix assemblies for solution. Fixes #633.
-
- Apr 26, 2019
-
-
Benjamin Cumming authored
Add citation information to the readme.
-
Benjamin Cumming authored
Fix bug in CUDA reduce_by_key implementation on V100 or later GPUs. The bug was not triggered for current use cases of the algorithm in Arbor, though it will be a problem when more than one reduction is to be performed in a single kernel invocation, which is required for ac cumulating both current and conductance values. * Use warp-synchronous aware operations to avoid problems on V100. * Simplify reduction kernel. * Rename `run_length` ancillary data structure to `key_set_pos`. * Add unit tests that trigger the incorrect behaviour observed in #736. Fixes #736.
-
- Apr 25, 2019
-
-
akuesters authored
* Add value_type and emplace method to the optional class to support automatic conversion of arb::util::optional in python. * Add unit test for arb::util::optional::emplace.
-
- Apr 03, 2019
-
-
- Mar 15, 2019
-
-
Python 3.6 is tested (serial and mpi), in particular: - 3.6.3 on linux with a virtualenv, - 3.6.5 as downgrade from 3.7 on osx as in https://stackoverflow.com/questions/52584907/how-to-downgrade-python-from-3-7-to-3-6?rq=1 (other solutions did not work) Fixes #715
-
- Mar 14, 2019
-
-
* Rename `arb:simd::simd_detail` namespace to `arb::simd::detail`. * Update SIMD documentation to suit. Fixes #468.
-
- Mar 06, 2019
-
-
Sam Yates authored
Fixes #717. * Move time interval update step after threshold check.
-
- Mar 05, 2019
-
-
Benjamin Cumming authored
-
- Mar 04, 2019
-
-
-
Benjamin Cumming authored
Rename mc_cell to cable_cell, cable1d_neuron to cable, and lif_neuron to lif in public API. Fixes #701
-
Add gap junctions and improve general model overview in docs. * Replace Arbor Model::Common Types with Arbor Model::Concepts, that introduces the concept of cells, connections and gap junctions. * Add gap junction documentation to cpp:recipe * Document the implicit rule forcing cells connected by gap junctions to be in the same cell group. * Add documentation that discusses core concepts in Arbor models.
-
* Remove data/ directory, contents as they are not used now in Arbor.
-
Remove the miniapp example. * Remove the miniapp source from example/miniapp. * Remove references to miniapp from CMake files. * Remove miniapp from the travis tests. * Fix unused variable warning in brunel miniapp.
-
- Mar 01, 2019
-
-
Adds a small self contained example demonstrating the use of SWC and morphology specifications, to fill a void that will be left when the miniapp is removed. * Adds `single-cell` example, together with short README and example SWC file. * Removes redundant constructors for context objects. * Corrects and simplifies some of the context comments. * Add a method to `mc_segment` for calculating (approximately) a lower bound on the length constant of that segment for a given frequency, for use with a NEURON 'd-lambda' style discretization rule.
-
Remove old code and comments from Python config code.
-
Fixes #700 Usage in python as: ``` >>>import arbor >>>arbor.config() {'mpi': True, 'mpi4py': True, 'gpu': False, 'version': '0.1.1-dev'} >>>d = arbor.config() >>>arbor.print_config(d) Arbor's configuration: mpi : True mpi4py : True gpu : False version: 0.1.1-dev ```
-
Benjamin Cumming authored
Update Hardware API documentation * split the domain decomposition and hardware API docs into separate pages * update hardware API to reflect new *libarbor* and *libarborenv* * add basic documentation for `optional`, `any` and `unique_any` types.
-
- Feb 27, 2019
-
-
Benjamin Cumming authored
Update the installation guide to reflect the latest supported tool, compiler and library versions. Remove the Python docs, because they documented features that have not been implemented yet. The Python docs can be added incrementally as features are implemented. Start work on oupdating the documenetation for hardware interfaces and domain decomposition.
-