Skip to content
Snippets Groups Projects
  1. Feb 19, 2021
    • thorstenhater's avatar
      Mech ABI Prelim: Unify Mechanism Interfaces (#1357) · 32ad5a41
      thorstenhater authored
      Preliminary work towards the mechanism ABI.
      
      Unification of the `public` and `protected` interfaces of the mechanism classes.
      These interfaces will be merged into the public API ('public' as in: exposed via `arbor/include/arbor`). 
      
      Interface methods `nrn_` have been renamed
      - `nrn_init`: `init` (would have preferred initialize, but that is taken)
      - `deliver_events(event_stream)`: `apply_events` (to avoid a name clash)
      - `nrn_state`: `advance_state`
      - `nrn_current`: `compute_currents`
      
      Additional changes:
        - Remove typedefs for index_type etc
        - Shuffle `ion_state_view` to public interface
        - Migrate `copy_extend` to a proper place out of `multicore/mechanism.hpp`. Maybe `memory` or `range_util`.
        - Remove `vec_t_to_`
    • thorstenhater's avatar
  2. Feb 18, 2021
  3. Feb 17, 2021
  4. Feb 16, 2021
  5. Feb 15, 2021
    • Nora Abi Akar's avatar
      Allow current updates to be non-linear in v (#1374) · a5e90dcc
      Nora Abi Akar authored
      * Remove check for strict linearity in current contribution in modcc, as it is no longer necessary.
    • Sebastian Schmitt's avatar
    • Nora Abi Akar's avatar
      Refactor `algorithms.hpp` (#1354) · 98c6e95a
      Nora Abi Akar authored
      * Refactor the functions from `algorithms.hpp`:
        - `mean`: moved to `profile/meter_manager.cpp`
        - `make_index`: moved to `util/index.hpp`
        - `is_strictly_monotonic_increasing`: moved to `/backends/gpu/forest.hpp`
        - `has_contiguous_compartments`:  moved to `/backends/gpu/forest.hpp`.
        - `branches`: moved to `/backends/gpu/forest.hpp`.
        - `expand_branches`: moved to `/backends/gpu/forest.hpp`.
        - `tree_reduce`: moved to `/backends/gpu/forest.hpp`.
        - `is_minimal_degree`: moved to `tree.hpp`.
        - `child_count`: moved to `tree.hpp`.
        - `in_interval`: not used, deleted.
        - `is_strictly_monotonic_decreasing`: not used, deleted.
        - `all_positive`:  not used, deleted.
        - `all_negative`: not used, deleted.
        - `find_branch`: not used, deleted.
        - `is_unique`: not used, deleted.
        - `binary_find`: not used, deleted.
      * Remove `make_parent_index` from `tree.hpp`: not used. 
      * Replace `make_index` usages with `make_partition`.
      * Add unit tests to `test_forest.cpp`, `test_tree.cpp` and `test_index.cpp`.
    • thorstenhater's avatar
      Add modcc. (#1377) · 88fd791d
      thorstenhater authored
    • thorstenhater's avatar
      Make `pas/e` GLOBAL instead of RANGE (#1372) · 95b38462
      thorstenhater authored
      - Make reversal potential `e` a global parameter of `pas` to avoid inconsistency 
        (reversal potential is represented by a RANGE parameter, despite it not being a conductance multiplier see #1052)
      - Adjust default value of `e` to -70mV (as in Neuron)
      - Streamline docs,  which use `passive`, `el`, and `gl` instead of `passive`, `e`, and `g`.
      
      Closes #1052
    • Harmen Stoppels's avatar
      Fixes for codecov (#1370) · 89fda19d
      Harmen Stoppels authored
      - remove repeated CMAKE_BUILD_TYPE
      - bump lcov to 1.15
      - use new --exclude flag to skip generated sources
      
      With gcc 8 as a compiler + a new version of lcov (#1350) codecov started tracking generated source files and coverage dropped to < 60%. Not sure if this is a bug in lcov or not. I've added these new flags for lcov: `--exclude "*/ext/*" --exclude "*/test/*" --exclude "*/mechanisms/*"` to fix it.
    • thorstenhater's avatar
      Workaround for MacOS+OpenMPI4 (#1375) · e4aa3d32
      thorstenhater authored
      Use TCP BTL for MPI in GitHub Actions to fix sporadic SEGFAULT on MacOS.
      
      See open-mpi/ompi#6518
  6. Feb 12, 2021
  7. Feb 11, 2021
  8. Feb 10, 2021
  9. Feb 09, 2021
  10. Feb 08, 2021
  11. Feb 06, 2021
    • Nora Abi Akar's avatar
      Use JFrog as a registry and fix build errors (#1350) · e5123942
      Nora Abi Akar authored
      * Make Gitlab CI push images to CSCS' JFrog registry reg.giuv.cscs.ch so that sarus can pull images on Daint again. 
        This URL is probably temporary until JFrog officially goes into production later this month.
        Unfortunately JFrog is currently behind the firewall.
      * Upgrade g++ to g++8 on the Docker image.
      * Only require libxml when compiling with NeuroML support.
  12. Feb 05, 2021
  13. Feb 04, 2021
    • thorstenhater's avatar
    • Nora Abi Akar's avatar
      Add `post events` functionality to support models with STDP synapses (#1255) · 3531f7ee
      Nora Abi Akar authored
      * Added a `POST_EVENTS` procedure to nmodl, that takes an argument that represents the time since the last spike on the cell. In the event of multiple detectors on the cell, and multiple spikes on the detectors within the same integration period, all spikes will be processed by the synapse. Spikes are processed only once and then cleared.
      * Added 3 vectors to the shared state required to dispatch post-events: `cv_to_cell` map, `time_since_spike` holding max(num_detectors) slots per cell, and `src_to_spike` mapping spike sources (detectors) to slots in `time_since_spike`.
      * Renamed `vec_ci_` to `vec_di_` (to better reflect that it stands for **domain index**). Named the new `cv_to_cell` index as `vec_ci_` in the mechanisms.
      * Fixed existing unit tests and added new tests for the new post-events functionality.
      
      Fixes #1206
  14. Feb 03, 2021
    • thorstenhater's avatar
      Allow dynamically creating and loading of mechanism catalogue (#1287) · aa1b6f04
      thorstenhater authored
      First phase of dynamically loaded mechanism catalogues.
      
      - Add functionality to load and use catalogues from DSOs in Python and C++.
      - Add documentation and support scripts to build catalogues DSOs.
      - Re-factor CMakeLists.txt for mechanisms
      - Limitations
        - Needs (compatible, preferably identical) arbor sources when building catalogues
        - Can only work on MacOS and Linux (uses dlfnc)
  15. Feb 02, 2021
  16. Jan 28, 2021
  17. Jan 27, 2021
  18. Jan 25, 2021
    • Sam Yates's avatar
      Respect CMAKE_INSTALL_PREFIX in python lib path (#1325) · b1a016d4
      Sam Yates authored
      * Respect CMAKE_INSTALL_PREFIX in python lib path
      
      * Set `base` and `platbase` to the CMAKE_INSTALL_PREFIX, if defined,
      when asking Python for the default python lib install path.
      
      * Differentiate between explicit and default prefix.
      
      * Test for defaulted CMAKE_INSTALL_PREFIX, in which case, use the system
      python site packages path, so that it's overall less excitingly awful in
      python virtual environments. If you want /usr/local, set it.