From Source#
The installation consist two part: python-dependencies and external libraries.
Core Software/Libraries#
Before the installation, following software/libraries should be installed on the system.
Python 3.8+
GCC 7.8+, cmake 3.18+
HDF5 (parallel build)
MPICH
OpenMPI (for cluster)
Python Dependencies#
The python-dependencies are managed through [poetry][link-poetry-website]. We provide important alias in makefile.
make poetry-downloads # Install poetry on the system
make install # Install MiV-Simulator
Note: If any issues are encoutered, please make a report to GitHub-Issue.
The installation using
pipis not yet supported due to the dependency compilation.
External Libraries#
Building and installing NEURON
pip install neuron
How to install from the source
```sh git clone https://github.com/neuronsimulator/nrn.git cd nrn mkdir build cd build cmake .. -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_MPI=ON -DNRN_ENABLE_RX3D=ON -DNRN_ENABLE_CORENEURON=ON -DNRN_ENABLE_PYTHON=ON -DPYTHON_EXECUTABLE=$(which python3) -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx make install ```Building and installing NeuroH5
The NeuroH5 build system requires cmake.
git clone https://github.com/soltesz-lab/neuroh5.git
cd neuroh5
CMAKE_BUILD_PARALLEL_LEVEL=8 pip install .
Cluster Usage#
For architecture-level optimization, some of the core libraries should be built within the worker node.
Note
Make sure to run on a worker node, not the login-node!
Necessary Modules#
Following modules (or equivalent modules) are necessary before starting the installation.
module load python/3
module load cmake
module load gcc
module load openmpi
Building HDF5 (Parallel)#
Download the source from [here][source-hdf5].
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.1/src/hdf5-1.12.1.tar.gz
tar -xzf hdf5-1.12.1.tar.gz
cd hdf5-1.12.1
CC=mpicc ./configure --prefix=$PWD/build --enable-parallel --enable-shared
make && make check
make install && make check-install
H5PY#
CC="mpicc" HDF5_MPI="ON" HDF5_DIR=/Users/skim0119/github/hdf5-1.12.1/build pip install --no-binary=h5py h5py
Install/Build Python Dependencies#
make poetry-download
make install
Building NEURON simulator#
git clone https://github.com/neuronsimulator/nrn.git
cd nrn
git submodule update --init --recursive
mkdir build
cd build
cmake .. -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_MPI=ON -DNRN_ENABLE_RX3D=ON -DNRN_ENABLE_CORENEURON=ON -DPYTHON_EXECUTABLE=$(which python3) -DNRN_ENABLE_PYTHON=ON -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_INSTALL_PREFIX=../install
cmake --build . --parallel 8 --target install
export PATH=<Installation path>/bin:$PATH
export PYTHONPATH=<Installation path>/lib/python:$PYTHONPATH
Possible Issues
Readlinecannot be found:Try to install
Readlineusingaptoryum. It can also be installed usingconda.Readlinemight already exist on the system. Search in/usr/libor/usr/lib64.Pass environment variable directly:
cmake -DReadline_INCLUDE_DIR=/usr/lib64 -DReadline_LIBRARY=/usr/lib64/libreadline.so.7 ....
Install NeuroH5#
# get the source
git clone https://github.com/soltesz-lab/neuroh5.git
cd neuroh5
# add HDF5 build to PATH
export HDF5_SOURCE=<HDF5 installation directory>
export PATH=$PATH:$HDF5_SOURCE/build
# (make sure the node has enough RAM and cores, otherwise the compilation will fail)
CMAKE_BUILD_PARALLEL_LEVEL=8 pip install .
Other CLI tools in NeuroH5 can be installed using cmake.
cmake .
make -j4
export PATH=<NeuroH5 installation path>/bin:$PATH