All Projects → neurokernel → Neurokernel

neurokernel / Neurokernel

Licence: other
Neurokernel Project

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Neurokernel

FLAMEGPU2
FLAME GPU 2 is a GPU accelerated agent based modelling framework for C++ and Python
Stars: ✭ 25 (-94.91%)
Mutual labels:  simulation, gpu
Pytorch Forecasting
Time series forecasting with PyTorch
Stars: ✭ 849 (+72.91%)
Mutual labels:  gpu, neural
Webgl Wind
Wind power visualization with WebGL particles
Stars: ✭ 601 (+22.4%)
Mutual labels:  gpu, simulation
Hoomd Blue
Molecular dynamics and Monte Carlo soft matter simulation on GPUs.
Stars: ✭ 143 (-70.88%)
Mutual labels:  gpu, simulation
Sparkle
🎇 A modern particle engine running on GPU, using c++14 and OpenGL 4.4.
Stars: ✭ 162 (-67.01%)
Mutual labels:  gpu, simulation
Difftaichi
10 differentiable physical simulators built with Taichi differentiable programming (DiffTaichi, ICLR 2020)
Stars: ✭ 2,024 (+312.22%)
Mutual labels:  gpu, simulation
Webgl Fluid Simulation
Play with fluids in your browser (works even on mobile)
Stars: ✭ 11,621 (+2266.8%)
Mutual labels:  gpu, simulation
Visbrain
A multi-purpose GPU-accelerated open-source suite for brain data visualization
Stars: ✭ 172 (-64.97%)
Mutual labels:  brain, gpu
Gprmax
gprMax is open source software that simulates electromagnetic wave propagation using the Finite-Difference Time-Domain (FDTD) method for numerical modelling of Ground Penetrating Radar (GPR)
Stars: ✭ 268 (-45.42%)
Mutual labels:  gpu, simulation
Unity Robotics Hub
Central repository for tools, tutorials, resources, and documentation for robotics simulation in Unity.
Stars: ✭ 439 (-10.59%)
Mutual labels:  simulation
Recsim
A Configurable Recommender Systems Simulation Platform
Stars: ✭ 461 (-6.11%)
Mutual labels:  simulation
Sofa
Real-time multi-physics simulation with an emphasis on medical simulation.
Stars: ✭ 435 (-11.41%)
Mutual labels:  simulation
Boolr
A digital logic simulator
Stars: ✭ 445 (-9.37%)
Mutual labels:  simulation
Detect Gpu
Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.
Stars: ✭ 460 (-6.31%)
Mutual labels:  gpu
Python Opengl
An open access book on Python, OpenGL and Scientific Visualization, Nicolas P. Rougier, 2018
Stars: ✭ 441 (-10.18%)
Mutual labels:  gpu
Deeplearning.ai Natural Language Processing Specialization
This repository contains my full work and notes on Coursera's NLP Specialization (Natural Language Processing) taught by the instructor Younes Bensouda Mourri and Łukasz Kaiser offered by deeplearning.ai
Stars: ✭ 473 (-3.67%)
Mutual labels:  neural
Wechat brain
知乎答题王(头脑王者)辅助工具
Stars: ✭ 436 (-11.2%)
Mutual labels:  brain
Stablefluids
A straightforward GPU implementation of Jos Stam's "Stable Fluids" on Unity.
Stars: ✭ 430 (-12.42%)
Mutual labels:  gpu
Fieldtrip
The MATLAB toolbox for MEG, EEG and iEEG analysis
Stars: ✭ 481 (-2.04%)
Mutual labels:  brain
D Zone
An ambient life simulation driven by user activity within a Discord server
Stars: ✭ 466 (-5.09%)
Mutual labels:  simulation

.. -- rst --

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

Package Description

Project Website <https://neurokernel.github.io>_ | GitHub Repository <https://github.com/neurokernel/neurokernel>_ | Online Documentation <https://neurokernel.readthedocs.io>_ | Mailing List <https://lists.columbia.edu/mailman/listinfo/neurokernel-dev>_ | Forum <http://neurokernel.67426.x6.nabble.com/>_

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 2.7 (Python 3.0 is not guaranteed to work);
  • at least one NVIDIA GPU with Fermi <http://www.nvidia.com/content/pdf/fermi_white_papers/nvidia_fermi_compute_architecture_whitepaper.pdf>_ architecture or later;
  • NVIDIA's GPU drivers <http://www.nvidia.com/content/drivers/>_;
  • CUDA <http://www.nvidia.com/object/cuda_home_new.html>_ 5.0 or later;
  • OpenMPI <http://www.open-mpi.org>_ 1.8.4 or later compiled with CUDA support.

To check what GPUs are in your system, you can use the inxi <https://code.google.com/p/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 <https://developer.nvidia.com/cuda-downloads>_ for download information.

If you install Neurokernel in a virtualenv environment, you will need to install OpenMPI. See this page <https://www.open-mpi.org/faq/?category=building#easy-build>_ 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 <http://www.fmpeg.org>_ or libav <http://libav.org>_ installed to generate visualizations (see Examples_).

Installation

Download the latest Neurokernel code as follows: ::

git clone https://github.com/neurokernel/neurokernel.git

Since Neurokernel requires a fair number of additional Python packages to run, it is recommended that it either be installed in a virtualenv <http://www.virtualenv.org/>_ or conda <http://conda.io/>_ environment. Follow the relevant instructions below.

Virtualenv ^^^^^^^^^^ See this page <https://virtualenv.pypa.io/en/latest/installation.html>_ for virtualenv installation information.

Create a new virtualenv environment and install several required dependencies: ::

cd ~/ virtualenv NK ~/NK/bin/pip install numpy cython numexpr pycuda

If installation of PyCUDA fails because some of the CUDA development files or libraries are not found, you may need to specify where they are explicitly. For example, if CUDA is installed in /usr/local/cuda/, try installing PyCUDA as follows::

CUDA_ROOT=/usr/local/cuda/ CFLAGS=-I${CUDA_ROOT}/include
LDFLAGS=-L${CUDA_ROOT}/lib64 ~/NK/bin/pip install pycuda

Replace ${CUDA_ROOT}/lib with ${CUDA_ROOT}/lib64 if your system is running 64-bit Linux. If you continue to encounter installation problems, see the PyCUDA Wiki <http://wiki.tiker.net/PyCuda/Installation>_ for more information.

Run the following to install the remaining Python package dependencies listed in setup.py: ::

cd ~/neurokernel ~/NK/bin/python setup.py develop

Conda ^^^^^ Note that conda packages are currently only available for 64-bit Ubuntu Linux 14.04. If you would like packages for another distribution, please submit a request to the |nk_developers|_.

.. _nk_developers: http://github.com/neurokernel/neurokernel/issues .. |nk_developers| replace:: Neurokernel developers

First, install the following Ubuntu packages:

  • libibverbs1
  • libnuma1
  • libpmi0
  • libslurm26 (libslurm29 for Ubuntu 16.04)
  • libtorque2

These are required by the conda OpenMPI packages prepared for Neurokernel. Ensure that the stock Ubuntu OpenMPI packages are not installed because they may interfere with the ones that will be installed by conda. You also need to ensure that CUDA has been installed in /usr/local/cuda.

Install conda by either installing Anaconda <https://store.continuum.io/cshop/anaconda/>_ or Miniconda <http://conda.pydata.org/miniconda.html>_. Make sure that the following lines appear in your ~/.condarc file so that conda can find the packages required by Neurokernel: ::

channels:

  • neurokernel/channel/ubuntu1404
  • defaults

Create a new conda environment containing the packages required by Neurokernel by running the following command: ::

conda create -n NK neurokernel_deps

PyCUDA packages compiled against several versions of CUDA are available. If you need one compiled against a specific version that differs from the one automatically installed by the above command, you will need to manually install it afterwards as follows (replace cuda75 with the appropriate version): ::

source activate NK conda install pycuda=2015.1.3=np110py27_cuda75_0 source deactivate

Activate the new environment and install Neurokernel in it as follows: ::

source activate NK cd ~/neurokernel python setup.py develop

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 <https://github.com/neurokernel/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 <https://github.com/neurokernel/>_.

Building the Documentation

To build Neurokernel's HTML documentation locally, you will need to install

  • mock <http://www.voidspace.org.uk/python/mock/>_ 1.0 or later.
  • sphinx <http://sphinx-doc.org>_ 1.3 or later.
  • sphinx_rtd_theme <https://github.com/snide/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 <http://www.opensource.org/licenses/bsd-license.php>. See the included LICENSE file for more information.

.. _LICENSE: LICENSE.rst

Notes

The Neurokernel Project is independent of the NeuroKernel Operating System developed by NeuroDNA Computer <http://www.neurokernel.com>_.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].