From 79c101a58f72f856ff8a497eca695b2ec9918339 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Thu, 14 Mar 2024 08:59:34 +0100 Subject: [PATCH 1/6] add link to 3.7 whats new page --- doc/htmldoc/whats_new/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/htmldoc/whats_new/index.rst b/doc/htmldoc/whats_new/index.rst index 4b5abaf223..628bedddfc 100644 --- a/doc/htmldoc/whats_new/index.rst +++ b/doc/htmldoc/whats_new/index.rst @@ -8,6 +8,7 @@ versions of NEST. On the linked pages, you will find both information about new features, as well as quick guides on how to transition your simulation code to the new versions. +* :ref:`NEST 3.6 ` * :ref:`NEST 3.6 ` * :ref:`NEST 3.5 ` * :ref:`NEST 3.4 ` From 16bd2a2c32cc2fa48021382b2f042e1ffd47de3a Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Thu, 14 Mar 2024 09:01:37 +0100 Subject: [PATCH 2/6] fix typo --- doc/htmldoc/whats_new/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/htmldoc/whats_new/index.rst b/doc/htmldoc/whats_new/index.rst index 628bedddfc..4c5c53a10e 100644 --- a/doc/htmldoc/whats_new/index.rst +++ b/doc/htmldoc/whats_new/index.rst @@ -8,7 +8,7 @@ versions of NEST. On the linked pages, you will find both information about new features, as well as quick guides on how to transition your simulation code to the new versions. -* :ref:`NEST 3.6 ` +* :ref:`NEST 3.7 ` * :ref:`NEST 3.6 ` * :ref:`NEST 3.5 ` * :ref:`NEST 3.4 ` From b63b93f19a4dd658da2295906c6b6466d84bb4cc Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Thu, 14 Mar 2024 14:33:22 +0100 Subject: [PATCH 3/6] add ignore and fire, iaf_tum, pairwiase_poisson --- doc/htmldoc/whats_new/v3.7/index.rst | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/doc/htmldoc/whats_new/v3.7/index.rst b/doc/htmldoc/whats_new/v3.7/index.rst index 89601e1d99..a2ecaf6ea1 100644 --- a/doc/htmldoc/whats_new/v3.7/index.rst +++ b/doc/htmldoc/whats_new/v3.7/index.rst @@ -62,3 +62,42 @@ For further information, see: Maass W (2020). A solution to the learning dilemma for recurrent networks of spiking neurons. Nature Communications, 11:3625. https://doi.org/10.1038/s41467-020-17236-y + + +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: + +* :doc:`/models/ignore_and_fire` + +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. [2]_. +It is based on the ``iaf_psc_exp`` model. + +.. [2] Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent + networks with frequency-dependent synapses. Journal of Neuroscience, + 20 RC50. URL: http://infoscience.epfl.ch/record/183402 + + +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: + +* :ref:`connection_management` From 5ae0587e0b7bbf8723cbf8e5f4f078ec7cf2c587 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Thu, 21 Mar 2024 13:16:57 +0100 Subject: [PATCH 4/6] add note for pr2773 --- doc/htmldoc/whats_new/v3.7/index.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/htmldoc/whats_new/v3.7/index.rst b/doc/htmldoc/whats_new/v3.7/index.rst index a2ecaf6ea1..aae5940866 100644 --- a/doc/htmldoc/whats_new/v3.7/index.rst +++ b/doc/htmldoc/whats_new/v3.7/index.rst @@ -101,3 +101,13 @@ The ``pairwise_poisson`` method is adapted from the ``pairwise bernouilli`` meth See more information: * :ref:`connection_management` + +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: + +* :doc:`/models/cm_default` From 40e4f385efc8c8b8ed3e815f3a1871786c612f5e Mon Sep 17 00:00:00 2001 From: Hans Ekkehard Plesser Date: Fri, 22 Mar 2024 14:31:11 +0100 Subject: [PATCH 5/6] Update doc/htmldoc/whats_new/v3.7/index.rst --- doc/htmldoc/whats_new/v3.7/index.rst | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/doc/htmldoc/whats_new/v3.7/index.rst b/doc/htmldoc/whats_new/v3.7/index.rst index aae5940866..19e3bad50f 100644 --- a/doc/htmldoc/whats_new/v3.7/index.rst +++ b/doc/htmldoc/whats_new/v3.7/index.rst @@ -111,3 +111,21 @@ can now be specified by the user, by adding a `v_comp` entry to the compartment See the model documentation: * :doc:`/models/cm_default` + +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 in ``nest_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 after ``ResetKernel()``. +* Modules can now also register connection builders and growth curves with the kernel. + +For more information, see the extension module documentation: + +* :doc:`NEST Extension Module Documentation ` From 877dfc7f560b0ed900f16bbe22ac57935bd0f78a Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Fri, 22 Mar 2024 14:39:10 +0100 Subject: [PATCH 6/6] move around items --- doc/htmldoc/whats_new/v3.7/index.rst | 58 ++++++++++++++-------------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/doc/htmldoc/whats_new/v3.7/index.rst b/doc/htmldoc/whats_new/v3.7/index.rst index 19e3bad50f..6dedc980f1 100644 --- a/doc/htmldoc/whats_new/v3.7/index.rst +++ b/doc/htmldoc/whats_new/v3.7/index.rst @@ -13,13 +13,27 @@ If you transition from an earlier version, please see our extensive :ref:`transition guide from NEST 2.x to 3.0 ` and the :ref:`list of updates for previous releases in the 3.x series `. +E-prop plasticity in NEST +------------------------- -NEST requires C++17 -------------------- +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: + +* :doc:`/auto_examples/eprop_plasticity/index` +* :doc:`/models/index_e-prop plasticity` + +.. [1] Bellec G, Scherr F, Subramoney F, Hajek E, Salaj D, Legenstein R, + Maass W (2020). A solution to the learning dilemma for recurrent + networks of spiking neurons. Nature Communications, 11:3625. + https://doi.org/10.1038/s41467-020-17236-y -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. Tripartite connectivity in NEST ------------------------------- @@ -42,28 +56,6 @@ See connectivity documentation: * :ref:`tripartite_connectivity` -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: - -* :doc:`/auto_examples/eprop_plasticity/index` -* :doc:`/models/index_e-prop plasticity` - -.. [1] Bellec G, Scherr F, Subramoney F, Hajek E, Salaj D, Legenstein R, - Maass W (2020). A solution to the learning dilemma for recurrent - networks of spiking neurons. Nature Communications, 11:3625. - https://doi.org/10.1038/s41467-020-17236-y - - Ignore-and-fire neuron model ---------------------------- @@ -117,9 +109,8 @@ 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 in ``nest_extension_interface.h``. - +* All extention modules must be derived from class ``nest::NESTExtensionInterface`` provided in ``nest_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. @@ -129,3 +120,10 @@ The interface for NEST Extension Modules has been thoroughly revised. Key change For more information, see the extension module documentation: * :doc:`NEST 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.