Skip to content
Snippets Groups Projects
  1. Jun 07, 2019
    • akuesters's avatar
      Py feature domain decomp (#771) · ce6ccec8
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      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
      ce6ccec8
  2. Jun 05, 2019
  3. Jun 04, 2019
    • akuesters's avatar
      Py feature recipe wo probes (#768) · a6ddd515
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      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`
      a6ddd515
  4. May 29, 2019
  5. May 23, 2019
  6. May 20, 2019
  7. May 17, 2019
    • Nora Abi Akar's avatar
      modcc fixes (#745) · e84a0e36
      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.
      e84a0e36
  8. May 09, 2019
  9. May 07, 2019
    • Sam Yates's avatar
      Add conductivity to implicit voltage solve step for stability. (#735) · e07f64fa
      Sam Yates authored and Benjamin Cumming's avatar Benjamin Cumming committed
      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.
      e07f64fa
  10. Apr 26, 2019
    • Benjamin Cumming's avatar
      Add citation information to the readme (#739) · 555b7d53
      Benjamin Cumming authored
      Add citation information to the readme.
      555b7d53
    • Benjamin Cumming's avatar
      Fix reduce-by-key CUDA (#737) · 6ad689fa
      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.
      6ad689fa
  11. Apr 25, 2019
  12. Apr 03, 2019
  13. Mar 15, 2019
  14. Mar 14, 2019
  15. Mar 06, 2019
  16. Mar 05, 2019
  17. Mar 04, 2019
  18. Mar 01, 2019
    • Sam Yates's avatar
      Add single cell example. (#703) · df3bc45d
      Sam Yates authored and Benjamin Cumming's avatar Benjamin Cumming committed
      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.
      df3bc45d
    • akuesters's avatar
      Clean up Python config feature (#709) · 187d6a24
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      Remove old code and comments from Python config code.
      187d6a24
    • akuesters's avatar
      Python feature: config file to present Arbor's support on mpi, gpu and version (#708) · 7c0b8236
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      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
      ```
      7c0b8236
    • Benjamin Cumming's avatar
      Hardware API documentation (#707) · 1c89fbbd
      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.
      1c89fbbd
  19. Feb 27, 2019
    • Benjamin Cumming's avatar
      Documentation: update install guide. (#699) · 49d87aba
      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.
      49d87aba
  20. Feb 26, 2019
    • noraabiakar's avatar
      Neon simd backend (#698) · 8d34e100
      noraabiakar authored and Sam Yates's avatar Sam Yates committed
      * Add SIMD neon implementation for aarch64.
      * Update unit tests to suit.
      8d34e100
    • noraabiakar's avatar
      Coalescing linear synapses (#680) · bfc6f593
      noraabiakar authored and Sam Yates's avatar Sam Yates committed
      Allow distinct point processes with the same linear dynamics to be combined if they reside in the same CV after discretization.
      
      * Add `linear` flag to `mechinfo` struct.
      * Add a linearity test to `modcc` that determines if a point process is a suitable candidate for coalescing: state and current updates must be linear, homogeneous functions of the state variables; state change on an event arrival (`net_receive`) must be independent of current state values.
      * Add `mechanism_state_table()` inquiry function to backend mechanism interface.
      * Add a field `multiplicity` to `fvm_mechanism_config` that accounts for merged synapse instances, and a corresponding `multiplicity` field in `mechanism::layout`.
      * Merge linear synapses of the same type  in `fvm_build_mechanism_data` if they have the same parameters.
      * Add global mc_cell property `coalesce_synapses` which enables or disables the merging of linear synapses at run time.
      * Rename virtual `nrn_init()` interface funct...
      bfc6f593
    • akuesters's avatar
      Python Documentation PR (#687) · fa7ea458
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      Update documentation for Python.
      
          splits the conceptual model ideas from the C++ docs into their own section
          has C++ and Python docs for recipes, domain decomposition, etc.
      
      fixes #667
      
      Added the following documentation (structure):
      
      GETTING STARTED:
      
          Installing Arbor/Requirements/Optional Requirements/Python
          Installing Arbor/Building and Installing Arbor/Python Front End
      
      MODEL BASICS:
      
          Overview
          Common Types
          Recipes
          Domain Decomposition
          Simulations
      
      PYTHON:
      
          Overview
          Common Types
          Recipes
          Domain Decomposition
          Simulations
      
      DEVELOPERS:
      
          Python Profiler
          Python Unit Testing
      
      GETTING STARTED has two added sections of optional requirements using python and how to build the python front end.
      
      MODEL BASICS describes Arbor's concepts in general (independent of programming language), thus general information on concepts in C++ API was moved here/ added.
      
      PYTHON describes Arbor's python frontend in the same structure as MODEL BASICS and C++ API ( needs updates as soon as features are added/changed in new python PR).
      
      DEVELOPERS section has two added sections for meter management and unit testing with python front end.
      
      Further, some corrections in existing documentation (for obvious errors, e.g. duplicate text, not ending sentences) and referencing sections were done.
      fa7ea458
    • akuesters's avatar
      Python PR #667 (#668) · fa549238
      akuesters authored and Benjamin Cumming's avatar Benjamin Cumming committed
      First step towards the Python front end.
      
      This commit sets up the structure of the python implementation
      * directory structure
      * git submodule for pybind11
      * best practices for making bindings with pybind11
      * unit testing for the python front end
      
      It implements the following features in the Python front end
      * execution contexts
      * gpu detection
      * thread count detection
      * MPI initialization helpers.
      
      Fixes #667.
      fa549238