Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/neurokernel/neurokernel

Neurokernel Project
https://github.com/neurokernel/neurokernel

brain drosophila gpu neural simulation

Last synced: about 1 month ago
JSON representation

Neurokernel Project

Awesome Lists containing this project

README

        

.. -*- rst -*-

.. image:: https://raw.githubusercontent.com/neurokernel/neurokernel/master/docs/source/_static/logo.png
:alt: Neurokernel

Package Description
-------------------

`Project Website `_ |
`GitHub Repository `_ |
`Online Documentation `_ |
`Mailing List `_ |
`Forum `_

Neurokernel is a Python framework for developing models of
the fruit fly brain and executing them on multiple NVIDIA GPUs.

.. image:: http://prime4commit.com/projects/98.svg
:target: http://prime4commit.com/projects/98
:alt: Support the project

Prerequisites
-------------
Neurokernel requires

* Linux (other operating systems may work, but have not been tested);
* Python;
* at least one NVIDIA GPU with `Fermi
`_
architecture or later;
* NVIDIA's `GPU drivers `_;
* `CUDA `_ 5.0 or later;
* `OpenMPI `_ 1.8.4 or later compiled with CUDA support.

To check what GPUs are in your system, you can use the `inxi
`_ command available on most Linux
distributions::

inxi -G

You can verify that the drivers are loaded as follows::

lsmod | grep nvidia

If no drivers are present, you may have to manually load them by running
something like::

modprobe nvidia

as root.

Although some Linux distributions do include CUDA in their stock package
repositories, you are encouraged to use those distributed by NVIDIA because they
often are more up-to-date and include more recent releases of the GPU drivers.
See `this page `_ for download
information.

If you install Neurokernel in a virtualenv environment, you will need to
install OpenMPI. See `this page
`_
for OpenMPI installation information. *Note that OpenMPI 1.8* |openmpi_no_windows|_.

.. _openmpi_no_windows: https://www.open-mpi.org/software/ompi/v1.6/ms-windows.php
.. |openmpi_no_windows| replace:: *cannot run on Windows*

Some of Neurokernel's demos require either `ffmpeg `_ or `libav
`_ installed to generate visualizations (see `Examples`_).

Installation
------------

Conda
^^^^^
The easiest way to get neurokernel is to install it in a conda environment: ::

conda create -n nk python=3.7 c-compiler compilers cxx-compiler openmpi -c conda-forge -y
conda activate nk
python -m pip install neurokernel

Make sure to enable CUDA support in the installed OpenMPI by setting: ::

export OMPI_MCA_opal_cuda_support=true

Examples
--------
Introductory examples of how to use Neurokernel to build and integrate models of different
parts of the fly brain are available in the `Neurodriver
`_ package. To install it run the
following: ::

git clone https://github.com/neurokernel/neurodriver
cd ~/neurodriver
python setup.py develop

Other models built using Neurokernel are available on
`GitHub `_.

Building the Documentation
--------------------------
To build Neurokernel's HTML documentation locally, you will need to install

* `mock `_ 1.0 or later.
* `sphinx `_ 1.3 or later.
* `sphinx_rtd_theme `_ 0.1.6 or
later.

Once these are installed, run the following: ::

cd ~/neurokernel/docs
make html

Authors & Acknowledgements
--------------------------
See the included `AUTHORS`_ file for more information.

.. _AUTHORS: AUTHORS.rst

License
-------
This software is licensed under the `BSD License
`_.
See the included `LICENSE`_ file for more information.

.. _LICENSE: LICENSE.rst