Compatible with Nengo 3.1.0
Added
- The benchmarks in the
examples
folder now have nicer command-line interfaces. Use the--help
flag with any benchmark to learn more about the options. (#187) - The new
examples/benchmark_backends.py
script makes it easier to compare between different backends on any of the benchmarks. (#187)
Changed
- Sparse matrix multiplication is now faster in many cases by using the ELLPACK matrix
format. It uses more memory for some sparse matrices, though; for matrices where it
would result in a large increase in memory usage, we fall back on the old CSR format.
To force a particular format, set the
NENGO_OCL_SPMV_ALGORITHM
environment variable to either "ELLPACK" or "CSR". (#188) - Made NengoOCL available under the GPLv2 license. (#191)
Removed
- Dropped support for Python 3.5. (#187)
Compatible with Nengo 3.1.0
Added
- Added
remove_zero_incs
andremove_unmodified_resets
simplifications for the operator list. These are enabled by default, and remove unnecessary operators (e.g. that are multiplying by zero and adding that to a signal). This increases both build speed and run speed. These simplifications can be disabled by modifyingnengo_ocl.operators.simplifications
. (#183)
Changed
- Added support for Nengo 3.1.0, and retired support for Nengo 3.0.0. (#180)
- Changes to improve benchmarks, including comparing between benchmarks. (#182)
Compatible with Nengo 3.0.0
Added
Sparse
transforms are now supported. (#176)- Added
Simulator.clear_probes
method to clear probe data stored in memory. (#179)
Changed
- Now requires Python >= 3.5. (#172)
- Now supports Nengo 3.0.0. Note that support for previous Nengo versions has been dropped. (#172)
Convolution
transforms are now supported. The previous code supportingConv2d
andPool2d
processes (from NengoExtras) has been removed. (#172)
Improvements
- Supports recent Nengo versions, up to 2.8.0.
- Supports the new
SpikingRectifiedLinear
neuron type.
Improvements
- Supports recent Nengo versions, up to 2.6.0.
Bugfixes
- Fixed an issue in which stochastic processes would not be fully reset on simulator reset.
- Fixed an issue in which building a model multiple times could result in old probe data persisting.
Improvements
- Supports all Nengo versions from 2.1.2 to 2.3.1.
nengo_ocl.Simulator
is no longer a subclass ofnengo.Simulator
, reducing the chances that Nengo OCL will be affected by changes in Nengo.
Features
- Added support for
RectifiedLinear
andSigmoid
neuron types. - Added support for arbitrary
Process
subclasses. Unlike the processes that are explicitly supported likeWhiteSignal
, these processes may not fully utilize the OpenCL device. - Added support for applying synaptic filters to matrices, which is commonly done when probing connection weights.
Improvements
- Supports all Nengo versions from 2.1.2 to 2.3.0.
- The
LIF
model is now more accurate, and matches the implementation in Nengo (see Nengo#975). - Several operators have been optimized and should now run faster.
Bugfixes
- Fixed compatibility issues with Python 3, and certain versions of NumPy and Nengo.
Release in support of Nengo 2.1.0. Since Nengo no longer supports Python 2.6, we now support Python 2.7+ and 3.3+.
Features
- Added support for
Process
class and subclasses, new in Nengo in 2.1.0. We specifically support theWhiteNoise
,WhiteSignal
, andPresentInput
processes. We also support theConv2d
andPool2d
processes innengo_extras
. LinearFilter
is now fully supported, allowing for general synapses.
Improvements
- The Numpy simulator in this project (
sim_npy
) has been phased out and combined with the OCL simulator (sim_ocl
). It is now calledSimulator
and resides insimulator.py
. - Operator scheduling (i.e. the planner) is much faster. We still have only
one planner (
greedy_planner
), which now resides inplanners.py
. - Many small speed improvements, including a number of cases where data was needlessly copied off the device to check sizes, dtypes, etc.
Documentation
- Updated examples to use up-to-date Nengo syntax.
Initial release of Nengo OpenCL! Supports Nengo 2.0.x on Python 2.6+ and 3.3+.