https://github.com/bluebrain/neurox

A parallel & distributed asynchronous simulator of extended Hodgkin-Huxley neuron models

https://github.com/bluebrain/neurox

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.0%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

A parallel & distributed asynchronous simulator of extended Hodgkin-Huxley neuron models

Basic Info
  • Host: GitHub
  • Owner: BlueBrain
  • License: bsd-3-clause
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 71.3 MB
Statistics
  • Stars: 3
  • Watchers: 4
  • Forks: 3
  • Open Issues: 0
  • Releases: 0
Created about 9 years ago · Last pushed about 4 years ago
Metadata Files
Readme License

README.md

neurox

A scalable parallel & distributed asynchronous simulator of extended Hodgkin-Huxley neuron models

Installation

Dependencies - cmake 2.8.12+: www.cmake.org - hpx 4+: https://hpx.crest.iu.edu/ - tclap 1.2.1+: http://tclap.sourceforge.net/ - libCoreNeuron: https://github.com/BlueBrain/coreneuron - sundials CVODES 3.1.0+: https://computation.llnl.gov/projects/sundials/cvodes - requires SUPERLUMT solver: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/#superlumt - requires KLU solver: http://faculty.cse.tamu.edu/davis/suitesparse.html - hint: add `-DSUPERLUMPENABLE=ON -DKLU_ENABLE=ONto thecmake` command to enable support

set-up

General compilation parameters: export CC=mpicc export CXX=mpicxx export WORKSPACE_PATH=/home/username/Workspace

HPX compilation parameters: export HPX_INSTALL_PATH=$WORKSPACE_PATH/hpx-install export PKG_CONFIG_PATH=$HPX_INSTALL_PATH/lib/pkgconfig/:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$HPX_INSTALL_PATH/lib:$LD_LIBRARY_PATH export PATH=$HPX_INSTALL_PATH/bin:$PATH

neurox compilation parameters export NEUROX_INSTALL_PATH=$WORKSPACE_PATH/neurox-install export LD_LIBRARY_PATH=$NEUROX_INSTALL_PATH/lib:$LD_LIBRARY_PATH export PATH=$NEUROX_INSTALL_PATH/bin:$PATH

Compilation

cmake .. -DCMAKE_INSTALL_PREFIX=$NEUROX_INSTALL_PATH Note: requires libcoreneuron installation with export of function pointers (-DEXPORT_MECHS_FUNCTIONS) and extra mechanisms path when applicable(-DADDITIONAL_MECHPATH and -DADDITIONAL_MECHS). To be on the safe side, we will also disable timing out of coreneuron after a certain period of inactivity (-DDISABLE_NRN_TIMEOUT) and OpenMP that may interfere with HPX scheduler (-DCORENEURON_OPENMP). To allow header files to be exposed externally we activate the flagENABLE_DEV_FILES_INSTALLATION. Vectorization is provided by setting the input data-structure as Array-Of-Structures or Structures-of-Arrays (-DENABLE_SOA). All other flags are optional and are added to speed-up compilation. cmake .. -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$NEUROX_INSTALL_PATH \ -DADDITIONAL_MECHPATH=$NEURODAMUS_LIB_PATH \ -DADDITIONAL_MECHS=$ADDITIONAL_MECHS_PATH \ -DEXPORT_MECHS_FUNCTIONS=ON \ -DCORENEURON_OPENMP=OFF \ -DDISABLE_NRN_TIMEOUT=ON\ -DENABLE_DEV_FILES_INSTALLATION=ON \ -DCMAKE_CXX_FLAGS="-std=c++11" \ \ -DENABLE_CUDA_MODULES=OFF \ -DENABLE_NET_RECEIVE_BUFFERING=OFF \ -DENABLE_OPENACC_INFO=OFF \ -DENABLE_REPORTINGLIB=OFF \ -DUNIT_TESTS=OFF \ -DFUNCTIONAL_TESTS=OFF \ -DCORENEURON_MAIN=OFF

Execution

./neurox --help for execution parameters ./neurox -d <input-data-folder> -e <execution-time-milisecs> for execution with minimum parameters

Misc

  • We follow the google coding style (https://google.github.io/styleguide/cppguide.html) and format. To automatically format the code recursively in all folders use clang-format. find ./neurox -iname *.h -o -iname *.cc | xargs clang-format -i -style=Google

  • To check for coding style errors, use ccplint.py (https://raw.githubusercontent.com/google/styleguide/gh-pages/cpplint/cpplint.py ). False positives can be ignored by putting // NOLINT at the end of the line or // NOLINTNEXTLINE in the previous line. find ./neurox -iname *.h -o -iname *.cc | xargs cpplint.py

  • Documentation follows the doxygen (www.doxygen.org) notation and can be exported with make doc;

  • Developer note: to collect CPU hotspots with inter VTune (amplxe-cl --help for details): amplxe-cl -collect hotspots -r r000hs srun -n 1 ./bin/neurox_exec -d /gpfs/bbp.cscs.ch/project/proj16/bmagalha/Circuits/PCP/1/coreneuron_input

Citations

Please use following citation to reference this work:

B. R. C. Magalhães, T. Sterling, M. Hines, and F. Schürmann, “Asynchronous Branch-Parallel Simulation of Detailed Neuron Models,” Frontiers in Neuroinformatics, vol. 13, p. 54, 2019, doi: 10.3389/fninf.2019.00054.

Funding

The work was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government's ETH Board of the Swiss Federal Institutes of Technology. A portion of Michael Hines efforts was supported by NINDS grant R01NS11613.

Copyright

Copyright (c) 2015-2022 Blue Brain Project/EPFL & Center for Research in Extreme Scale Technologies (CREST), Indiana University

Owner

  • Name: The Blue Brain Project
  • Login: BlueBrain
  • Kind: organization
  • Email: bbp.opensource@epfl.ch
  • Location: Geneva, Switzerland

Open Source Software produced and used by the Blue Brain Project

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 8
  • Average time to close issues: N/A
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 0
  • Total pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • brunomaga (5)
  • ohm314 (2)
  • bbpgithubaudit (1)
Top Labels
Issue Labels
Pull Request Labels