Giter Club home page Giter Club logo

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.

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 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

Once these are installed, run the following: :

cd ~/neurokernel/docs
make html

Authors & Acknowledgements

See the included AUTHORS file for more information.

License

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

Neurokernel Project's Projects

antenna icon antenna

Neurokernel model of fruit fly antenna

lamina icon lamina

Neurokernel model of fruit fly lamina

libneuroml icon libneuroml

This package provides Python libNeuroML, for working with neuronal models specified in NeuroML

neurodriver icon neurodriver

LPU class with support for various neuron and synapse models

retina icon retina

Neurokernel model of fruit fly retina

sensory_int icon sensory_int

Neurokernel olfaction/vision sensory integration model

vision icon vision

Neurokernel model of fruit fly early visual system

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.