Copyright (C) 2021 Intel Corporation SPDX-License-Identifier: BSD-3-Clause See: https://spdx.org/licenses/


Installing Lava

1. System Requirements

You can run Lava on any 64-bit systems with the following configuration:

Language Support - Python 3.8+

OS Support - Ubuntu 20.04 or later - Windows 10 - MacOS

We recommend using a 4 core CPU and 8 GB RAM as your machine configuration setup for compiling and executing your Lava applications.

2. Getting Started

2.1 Cloning Lava and Running from Source

We highly recommend cloning the repository and using pybuilder to setup lava. You will need to install pybuilder for this purpose.

Open a python terminal and run based on the OS you are on:

2.1.1 [Linux/MacOS]

  • cd $HOME

  • pip install -U pip

  • pip install “poetry>=1.1.13”

  • git clone git@github.com:lava-nc/lava.git

  • cd lava

  • poetry config virtualenvs.in-project true

  • poetry install

  • source .venv/bin/activate

  • pytest

Note that you should install the core Lava repository (lava) before installing other Lava libraries such as lava-optimization or lava-dl.

2.1.2 [Windows]

  • Commands in PowerShell

  • cd $HOME

  • git clone git@github.com:lava-nc/lava.git

  • cd lava

  • python3 -m venv .venv

  • .venv:nbsphinx-math:Scripts\activate

  • pip install -U pip

  • pip install “poetry>=1.1.13”

  • poetry config virtualenvs.in-project true

  • poetry install

  • pytest

Note that you should install the core Lava repository (lava) before installing other Lava libraries such as lava-optimization or lava-dl.

2.2 [Alternative] Installing Lava from Binaries

If you only need the lava package in your python environment, we will publish Lava releases via GitHub Releases. Please download the package and install it.

Open a python terminal and run:

[Windows]

  • python3 -m venv .venv

  • .venv:nbsphinx-math:Scripts\activate

  • pip install -U pip

  • pip install lava-nc-<version>.tar.gz

[MacOS/Linux]

  • python3 -m venv .venv

  • source .venv/bin/activate

  • pip install -U pip

  • pip install lava-nc-<version>.tar.gz

When running tests if you see ‘OSError: [Errno 24] Too many open files’ consider setting ulimit using ulimit -n 4096

3. Running Lava on Intel Loihi

Intel’s neuromorphic Loihi 1 or 2 research systems are currently not available commercially. Developers interested in using Lava with Loihi systems, need to join the Intel Neuromorphic Research Community (INRC). Once a member of the INRC, developers will gain access to cloud-hosted Loihi systems or are able to obtain physical Loihi systems on a loan basis. In addition, Intel will provide further proprietary components of the magma library which enable compiling processes for Loihi systems that need to be installed into the same Lava namespace.

To request INRC membership, please write an email to inrc_interest@intel.com with a research proposal.

Instructions how to run Lava on Loihi were sent to you during your INRC Account Setup. If you need support, email: nrc_support@intel-research.net

4. Lava Developer Guide

We have published a Lava Developer Guide which will help you to understand how you can contribute to Lava by following some known best practices and CI/CD processes.

5. Tutorials

Lava helps you to get started by providing a range of Tutorials.

  • export PYTHONPATH=~/lava/src

  • pip install jupyter

  • jupyter notebook

  • Open browser based on URL shown in the jupyter log

  • Navigate in the notebook to lava ~> tutorials

  • set PYTHONPATH=~/lava/src

  • pip install jupyter

  • jupyter notebook

  • Open browser based on URL shown in the jupyter log

  • Navigate in the notebook to lava ~> tutorials

How to learn more?

To dive into Lava, start by writing your own end-to-end MNIST classifier or by diving into our series of in-depth tutorials, starting with a introduction to Processes.

If you want to find out more about Lava, have a look at the Lava documentation.

To receive regular updates on the latest developments and releases of the Lava Software Framework please subscribe to the INRC newsletter.