Intermediate

Intel Loihi

Intel Loihi is the most advanced research neuromorphic processor available. The Lava software framework enables programming SNNs for Loihi and simulating them on conventional hardware.

Loihi 2 Architecture

Loihi 2 is Intel's second-generation neuromorphic research chip, featuring significant improvements over the original:

  • 128 neurocores per chip, each with up to 8,192 neurons
  • Programmable neuron models: Custom neuron dynamics via microcode, not just LIF
  • Graded spikes: Spikes can carry integer payloads, not just binary events
  • 3-factor learning rules: On-chip learning with reward signals for reinforcement learning
  • Enhanced connectivity: Faster spike routing and larger fan-out per neuron
  • Scalability: Multiple chips connected via chip-to-chip interfaces (Pohoiki Springs: 768 Loihi chips)

The Lava Framework

# Install Lava
pip install lava-nc

# Basic Lava process example
from lava.proc.lif.process import LIF
from lava.proc.dense.process import Dense
from lava.proc.io.source import RingBuffer as Source

# Create a simple SNN
input_layer = Source(data=spike_data)
weights = Dense(weights=weight_matrix)
neurons = LIF(shape=(n_neurons,), vth=10, du=1, dv=1)

# Connect layers
input_layer.s_out.connect(weights.s_in)
weights.a_out.connect(neurons.a_in)

Lava Programming Model

  1. Define Processes

    Processes are the basic computational units in Lava. Each process has ports (inputs/outputs) and internal state variables.

  2. Connect Processes

    Connect output ports to input ports to define the network topology. Data flows as spikes between processes.

  3. Choose a Backend

    Run on CPU (PyProcess), GPU (CuPyProcess), or Loihi hardware (NxProcess). Same code, different backends.

  4. Execute

    Run the network for a specified number of timesteps. Lava handles synchronization and data flow.

Training for Loihi

There are two main approaches to getting trained models onto Loihi:

ApproachMethodProsCons
Train-then-mapTrain SNN with snnTorch/Norse, export to LavaFamiliar PyTorch workflowMay need hardware-aware quantization
ANN-to-SNNTrain ANN, convert to SNN, deploy on LoihiLeverage existing ANN modelsConversion accuracy loss, higher latency
On-chip learningUse Loihi's on-chip learning rulesReal-time adaptationLimited to local learning rules

Accessing Loihi

  • Intel Neuromorphic Research Community (INRC): Apply for cloud access to Loihi systems through Intel's research program.
  • Lava Simulator: Develop and test on your local machine using CPU/GPU backends. No Loihi hardware required.
  • Kapoho Bay / Pohoiki Springs: USB and rack-mounted Loihi systems available through INRC partnerships.
Key takeaway: Intel Loihi 2 is a programmable neuromorphic processor with on-chip learning. The Lava framework lets you develop SNNs on your laptop and deploy to Loihi hardware with the same code. Start with Lava's CPU backend and apply to INRC for hardware access.

Ready to Go Deeper?

Live instructor-led courses from our partners. Affiliate disclosure.