Configuration

Config system parameters

Some Loihi-specific configuration options are exposed through Nengo’s config system.

To configure these parameters, first call add_params on your network. Then, you can use the added configuration options in your network:

with nengo.Network() as net:
    nengo_loihi.add_params(net)

    a = nengo.Ensemble(10, 1)
    net.config[a].on_chip = False  # run the ensemble off-chip

For a full list of available config options, see add_params.

Build parameters

The builder contains a number of configurable parameters specific to Loihi models. Most of these parameters are located on the builder.Model object.

To configure these parameters, create an instance of builder.Model and pass it in to Simulator along with your network:

model = nengo_loihi.builder.Model(dt=0.001)
model.pes_error_scale = 50.

with nengo_loihi.Simulator(network, model=model) as sim:
    sim.run(1.0)

See builder.Model for a list of build parameters.

Loihi parameters

There are parameters specific to the Loihi board itself that are only exposed through the HardwareInterface.

Currently the only such parameter is the maximum number of spikes that can be sent to the board in one timestep. You may get a warning like:

Too many spikes (140) sent in one timestep. Increase the value
of `snip_max_spikes_per_step` (currently set to 50).

This occurs because we send spikes to the Loihi chip through a channel that has a fixed size. Models that spike more than we expect need to have that fixed size changed.

You can increase the value as follows:

with nengo_loihi.Simulator(network, target='loihi') as sim:
    sim.sims['loihi'].snips_max_spikes_per_step = 300

Note

You must set snip_max_spikes_per_step before calling sim.run.