========================
*Compatible with Nengo 3.1.0*
*Compatible with NxSDK 0.9.0 - 0.9.9*
**Added**
- Added Legendre Memory Unit example.
(`267 <https://github.com/nengo/nengo-loihi/pull/267>`__)
- Added a ``timers`` attribute to ``Simulator`` that tracks the wall time
taken by various parts of the model, including build time and run time.
(`260 <https://github.com/nengo/nengo-loihi/pull/260>`__)
- Added the ``pop_type`` configuration option to the ``Connection`` config.
See `nengo_loihi.add_params
<https://www.nengo.ai/nengo-loihi/api.html#nengo_loihi.add_params>`__
for details. (`261 <https://github.com/nengo/nengo-loihi/pull/261>`__)
- Added the ``block_shape`` configuration option to the ``Ensemble`` config,
and added the ``nengo_loihi.BlockShape`` class to set that option.
See `nengo_loihi.add_params
<https://www.nengo.ai/nengo-loihi/api.html#nengo_loihi.add_params>`__
for details. (`264 <https://github.com/nengo/nengo-loihi/pull/264>`__)
- Added the ``Greedy`` allocator, which uses all cores on one chip before
proceeding to the next chip. ``Greedy`` is now the default allocator.
(`266 <https://github.com/nengo/nengo-loihi/pull/266>`__)
- Added the ``n_chips`` parameter to ``HardwareInterface`` for specifying
the number of chips on the board.
(`266 <https://github.com/nengo/nengo-loihi/pull/266>`__)
- Added ``Model.utilization_summary`` to provide a summary of how much of
the various resources of each block are utilized.
(`279 <https://github.com/nengo/nengo-loihi/pull/279>`__)
- Added some `new documentation <https://www.nengo.ai/nengo-loihi/tips>`__ focused on
mapping large models onto Loihi.
(`279 <https://github.com/nengo/nengo-loihi/pull/279>`__)
- Added a
`new example <https://www.nengo.ai/nengo-loihi/examples/cifar10-convnet.html>`_
showing how to map larger convolutional networks to Loihi (applied to CIFAR-10
dataset). (`282 <https://github.com/nengo/nengo-loihi/pull/282>`__)
- Added a
`Keras example <https://www.nengo.ai/nengo-loihi/examples/keras-to-loihi.html>`_
showing how to directly convert a Keras convolutional network to run on Loihi
using the NengoDL Keras Converter.
(`281 <https://github.com/nengo/nengo-loihi/pull/281>`__)
- Added support for NxSDK 0.9.8 and 0.9.9.
(`296 <https://github.com/nengo/nengo-loihi/pull/296>`__)
- Added support for the ``nengo.RegularSpiking`` neuron type, when using ``LIFRate``
or ``RectifiedLinear`` as the base type (these are equivalent to ``LIF`` and
``SpikingRectifiedLinear``, respectively).
(`296 <https://github.com/nengo/nengo-loihi/pull/296>`__)
- Added ``nengo_loihi.dvs.DVSFileChipProcess``, for getting input from a pre-recorded
DVS file and sending it to the Loihi board.
(`306 <https://github.com/nengo/nengo-loihi/pull/306>`__)
**Changed**
- We improved performance when ``precompute=False`` through better spike packing,
larger packets, and communicating to the host over a socket.
(`260 <https://github.com/nengo/nengo-loihi/pull/260>`__)
- The ``precompute`` argument of ``Simulator`` now defaults to ``None``
and will be automatically set to ``True`` if the model can be precomputed.
(`260 <https://github.com/nengo/nengo-loihi/pull/260>`__)
- Added the ``add_to_container`` argument to ``DecodeNeurons.get_ensemble``,
which makes it easier to add a decode neurons ensemble to a network.
(`260 <https://github.com/nengo/nengo-loihi/pull/260>`__)
- ``Convolution`` transforms with ``channels_last=True`` now work with outputs
up to 1024 neurons.
(`261 <https://github.com/nengo/nengo-loihi/pull/261>`__)
- The ``Probe`` has been renamed to ``LoihiProbe`` to mirror the ``LoihiBlock``
and ``LoihiInput`` classes, which are conceptually very similar.
It has also been moved from ``nengo_loihi.block`` to ``nengo_loihi.probe``.
(`264 <https://github.com/nengo/nengo-loihi/pull/264>`__)
- We now raise a more informative error if connecting to Loihi hardware fails.
(`264 <https://github.com/nengo/nengo-loihi/pull/264>`__)
- It is now possible to build models with larger ensembles because
the builder can now split large Loihi blocks into smaller ones.
(`264 <https://github.com/nengo/nengo-loihi/pull/264>`__)
- Modules for discretizing and validating models have been moved to the
``builder`` directory.
(`264 <https://github.com/nengo/nengo-loihi/pull/264>`__)
- It is now possible to use multi-chip allocators with all models,
including those that cannot be precomputed.
(`266 <https://github.com/nengo/nengo-loihi/pull/266>`__)
- Allocators like ``RoundRobin`` no longer accept the ``n_chips`` parameter.
Instead, the ``__call__`` method accepts ``n_chips``.
(`266 <https://github.com/nengo/nengo-loihi/pull/266>`__)
- NengoLoihi now supports NxSDK version 0.9.5.rc1.
(`272 <https://github.com/nengo/nengo-loihi/pull/272>`__)
- NengoLoihi now supports Nengo version 3.1. Support for Nengo 3.0 has been dropped.
(`296 <https://github.com/nengo/nengo-loihi/pull/296>`__)
- Minimum NengoDL version is now 3.4.0.
(`296 <https://github.com/nengo/nengo-loihi/pull/296>`__)
**Removed**
- Removed the ``OneToOne`` allocator, which only worked for one chip.
The ``Greedy`` allocator is identical for models that fit on one chip.
(`266 <https://github.com/nengo/nengo-loihi/pull/266>`__)
**Fixed**
- We no longer create a spike generator if we are communicating through Snips.
(`260 <https://github.com/nengo/nengo-loihi/pull/260>`__)
- Fixed an issue in which ignored axons were still having an effect in
convolutional networks where not all input pixels are used in the output.
(`261 <https://github.com/nengo/nengo-loihi/pull/261>`__)
- Fixed an issue that prevented population spikes to be sent to the chip when
``precompute=True``. (`261 <https://github.com/nengo/nengo-loihi/pull/261>`__)
- Fixed a bug preventing making sparse connections to an ensemble.
(`245 <https://github.com/nengo/nengo-loihi/issues/245>`__,
`246 <https://github.com/nengo/nengo-loihi/pull/246>`__)
- We now ignore TensorFlow and NengoDL if an incompatible version is installed
rather than exiting with an exception.
(`264 <https://github.com/nengo/nengo-loihi/pull/264>`__)
- We now shut down the connection to the board more reliably, which should
reduce the number of cases in which a model hangs indefinitely.
(`266 <https://github.com/nengo/nengo-loihi/pull/266>`__)
- ``LoihiLIF`` neurons now round ``tau_rc`` to mimic the discretization that occurs on
Loihi, for more accurate simulation in Nengo (this was already done in the rate
equation and NengoDL implementation of this neuron).
(`275 <https://github.com/nengo/nengo-loihi/pull/275>`__)
- ``LoihiLIF`` and ``LoihiSpikingRectifiedLinear`` now add the appropriate NengoDL
builders when instantiated, so they work properly if used in NengoDL without making
a NengoLoihi simulator.
(`248 <https://github.com/nengo/nengo-loihi/issues/248>`__,
`275 <https://github.com/nengo/nengo-loihi/pull/275>`__)
- Fixed bug when probing sliced objects.
(`284 <https://github.com/nengo/nengo-loihi/pull/284>`__)
- Fixed bug when connecting to a single neuron ensemble with a single scalar
weight. (`287 <https://github.com/nengo/nengo-loihi/pull/287>`__)
- Added an error if more than 32 "populations" (e.g. convolutional filters) are used
with ``pop_type=16`` axons, since this is not yet supported by NxSDK.
(`286 <https://github.com/nengo/nengo-loihi/pull/286>`__)