What’s new in NEST 3.7¶
This page contains a summary of important breaking and non-breaking changes from NEST 3.6 to NEST 3.7. In addition to the release notes on GitHub, this page also contains transition information that helps you to update your simulation scripts when you come from an older version of NEST.
If you transition from an earlier version, please see our extensive transition guide from NEST 2.x to 3.0 and the list of updates for previous releases in the 3.x series.
E-prop plasticity in NEST¶
Another new NEST feature is eligibility propagation (e-prop) [1], a local and online learning algorithm for recurrent spiking neural networks (RSNNs) that serves as a biologically plausible approximation to backpropagation through time (BPTT). It relies on eligibility traces and neuron-specific learning signals to compute gradients without the need for error propagation backward in time. This approach aligns with the brain’s learning mechanisms and offers a strong candidate for efficient training of RSNNs in low-power neuromorphic hardware.
For further information, see:
Connectivity concepts¶
The documentation on Connectivity concepts now serves as a living reference for the connection rules defined in the article “Connectivity concepts in neuronal network modeling” [2].
Tripartite connectivity in NEST¶
NEST now supports creation of connections involving three populations
of neurons: a pre-synaptic, a post-synaptic and a third-factor
population. At present, as single tripartite connection rule is
available, tripartite_bernoulli_with_pool
. Tripartite connections
are created with the new TripartiteConnect()
function. The first
use case for tripartite connections are networks containing astrocyte
populations.
See examples using astrocyte models:
See connectivity documentation:
New connection rule: pairwise_poisson
¶
The number of synapses between pre- and post-synaptic neurons is drawn from a Poisson distribution.
The pairwise_poisson
method is adapted from the pairwise bernouilli
method.
See more information:
Ignore-and-fire neuron model¶
A neuron model for generating spikes at fixed intervals, irrespective of inputs.
The ignore_and_fire
neuron is primarily used for neuronal-network model verification and validation purposes
(“benchmarking”), in particular, to evaluate the correctness and performance of connectivity generation and inter-neuron
communication. It permits an easy scaling of the network size and/or connectivity without affecting the output spike
statistics.
See documentation for more information:
Neuron model with integrated short-term plasticity¶
The new iaf_tum_2000
neuron model incoroporates the tsodyks_synapse
directly
into the neuron model. In particular,
iaf_tum_2000
implements short-term depression and short-term facilitation based on Tsodyks et al. [3].
It is based on the iaf_psc_exp
model.
New parameter for compartmental model¶
In the compartmental model cm_default
, the voltage initialisation of each compartment
can now be specified by the user, by adding a v_comp entry to the compartment parameter dictionary.
See the model documentation:
New interface for NEST Extension Modules¶
The interface for NEST Extension Modules has been thoroughly revised. Key changes are
All extention modules must be derived from class
nest::NESTExtensionInterface
provided innest_extension_interface.h
.In your class, you must override the
initialize()
method with one that registers all components provided by your module.The
nest_extension_interface.h
header provides a large set of NEST includes, so once including it you should no longer need to include other NEST headers in most cases.
Modules are now unloaded upon
ResetKernel()
and new versions of modules can be loaded afterResetKernel()
.Modules can now also register connection builders and growth curves with the kernel.
For more information, see the extension module documentation:
NEST requires C++17¶
From NEST 3.7 on, we use some C++17 features in NEST code. Therefore, NEST needs to be built with a compiler that supports C++17. Most recent C++ compilers should do so.