Model the brain with the NEST simulator on Fedora

The latest version of the NEST simulator is now available in Fedora as part of the NeuroFedora initiative.  NEST is a standard tool used by computational neuroscientists to make large scale computer models of the brain  that are needed to investigate among other things, how the brain processes information.

The NEST Eco-system

NEST offers a wide range of ready-to-use models, excellent documentation, and is supported by a thriving Open Source development community.

It provides a simple Python interface which makes it really easy to use.
In addition, it is designed so it can be run on both laptops and super computing clusters. That way it can be used to make models that range from a few neurons to those that include millions of neurons. For reference, the human brain contains 86 billion neurons on average!

It is possible to build such clusters using the Message Passing Interface (MPI), and clusters must be built separately to support it.

Install NEST

To make it easier for the users, we provide various variants of NEST. For example, to install a version that doesn’t use MPI for use on a workstation/laptop, one can use:

$ sudo dnf install nest python3-nest

Install NEST with MPI support

Fedora includes two implementations of MPI: MPICH and OpenMPI, and NEST has been built for both. For the MPICH version, one simply installs the mpich variants:

$ sudo dnf install nest-mpich python3-nest-mpich

For OpenMPI, the commands are similar:

$ sudo dnf install nest-openmpi python3-nest-openmpi

Finally the following command loads the MPI environment modules in order to activate the correct NEST variant:

$ module load mpi/mpich-x86_64  # mpi/openmpi-x86_64 for openmpi

Next, NEST uses some environment variables, which can set up by sourcing the nest_vars.sh file:

$ which nest_vars.sh
/usr/lib64/mpich/bin/nest_vars.sh
$ source /usr/lib64/mpich/bin/nest_vars.sh

Using NEST

After the installation and configuration of NEST, you can start using it inside a Python shell.

$ ipython3
In [1]: import nest
[INFO] [2018.10.16 12:27:43 /builddir/build/BUILD/nest-simulator-2.16.0-mpich/nestkernel/rng_manager.cpp:238 @ Network::create_rngs_] : Creating default RNGs
[INFO] [2018.10.16 12:27:43 /builddir/build/BUILD/nest-simulator-2.16.0-mpich/nestkernel/rng_manager.cpp:284 @ Network::create_grng_] : Creating new default global RNG

Oct 16 12:27:43 SLIStartup [Error]:
NEST_DOC_DIR is not usable:

Oct 16 12:27:43 SLIStartup [Error]:
Directory '/usr/lib64/mpich/share/doc/nest' does not exist.

Oct 16 12:27:43 SLIStartup [Error]:
I'm using the default: /usr/lib64/mpich/share/doc/nest

-- N E S T --
Copyright (C) 2004 The NEST Initiative

Version: v2.16.0
Built: Oct 5 2018 20:22:17

This program is provided AS IS and comes with
NO WARRANTY. See the file LICENSE for details.

Problems or suggestions?
Visit http://www.nest-simulator.org

Type 'nest.help()' to find out more about NEST.

In [2]: nest.version()
Out[2]: 'NEST 2.16.0'

NEST documentation is provided in a nest-doc package, and we also provide a README.fedora file in all nest packages: nest, nest-mpich, nest-openmpi that provide detailed instructions on using the different variants. The same file can also be found here.

If you run into issues, find a bug, or just want to chat, you can find the NeuroFedora SIG here.

New in Fedora Using Software

4 Comments

  1. Rahman

    Oh.. Cool.. Let’s try it..

  2. NEST offers a wide range of ready-to-use models!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

The opinions expressed on this website are those of each author, not of the author's employer or of Red Hat. Fedora Magazine aspires to publish all content under a Creative Commons license but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. The Fedora logo is a trademark of Red Hat, Inc. Terms and Conditions

%d bloggers like this: