https://github.com/bluebrain/neurox
A parallel & distributed asynchronous simulator of extended Hodgkin-Huxley neuron models
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
Repository
A parallel & distributed asynchronous simulator of extended Hodgkin-Huxley neuron models
Basic Info
Statistics
- Stars: 3
- Watchers: 4
- Forks: 3
- Open Issues: 0
- Releases: 0
Metadata Files
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=GoogleTo 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// NOLINTat the end of the line or// NOLINTNEXTLINEin the previous line.find ./neurox -iname *.h -o -iname *.cc | xargs cpplint.pyDocumentation 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 --helpfor 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
- Website: https://portal.bluebrain.epfl.ch/
- Repositories: 226
- Profile: https://github.com/BlueBrain
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)