PyNN 0.8 beta 2 release notes¶
January 6th 2015
Welcome to the second beta release of PyNN 0.8!
The main new feature in this release is support for NEST 2.4. Previous versions of NEST are no longer supported.
With the rewrite of PyNEST in NEST 2.4, PyNN now has two backend simulators (NEURON being the other) that support Python 3. There was really no longer any excuse not to add Python 3 support to PyNN, which turned out to be very straightforward.
Standardization of random distributions¶
Since its earliest versions PyNN has supported swapping in and out different random number generators, but until
now there has been no standardization of these RNGs; for example the GSL random number library uses “gaussian” where
NumPy uses “normal”. This limited the usefulness of this feature, especially for the
NativeRNG class, which
signals that random number generation should be passed down to the simulator backend rather than being done at the
This has now, finally, been fixed. The names of random number distributions and of their parameters have now been standardized, based for the most part on the nomenclature used by Wikipedia. A quick example:
from pyNN.random import NumpyRNG, GSLRNG, RandomDistribution rd1 = RandomDistribution('normal' mu=0.5, sigma=0.1, rng=NumpyRNG(seed=922843)) rd2 = RandomDistribution('normal' mu=0.5, sigma=0.1, rng=GSLRNG(seed=426482))
Population.record()now has an optional sampling_interval argument, allowing recording at intervals larger than the integration time step.
FixedNumberPostConnectornow has an option with_replacement, which controls how the post-synaptic population is sampled, and affects the incidence of multiple connections between pairs of neurons (“multapses”).
- The default value of the min_delay argument to
setup()is now “auto”, which means that the simulator should calculate the minimal synaptic delay itself. This change can lead to large speedups for NEST and NEURON code.
- Reimplemented Izhikevich model for NEURON to allow current injection.
Connectors that can generate multiple connections between a given pair of neurons (“multapses”) now work properly with the pyNN.nest backend.
- Added a version of
CSAConnectorfor the NEST backend that passes down the CSA object to PyNEST’s
CGConnect()function. This greatly speeds up
- Added some new example scripts, deleted some of the more trivial, repetitive examples, and merged the several variants of the “VAbenchmarks” example into a single script.
- When data blocks from different MPI nodes are merged, the spike trains are now by default sorted by neuron ID. If this sorting proves to be too time-consuming we can in future expose sort/don’t sort as an option.
IF_cond_exp_gsfa_grrstandard model (integrate and fire neuron with spike frequency adaption and relative refractory period) to Brian backend, and fixed broken
- Improvements to callback handling.
- Assorted bug fixes