The NEST simulator
NEST 3.1 is the result of 460 commits by 17 developers since NEST 3.0 which was released on 2021-06-10.
This release contains many bug fixes and improvements, especially in the Python setup where support for Python environments was improved.
The PyNEST API was extended to support a more intuitive way of setting and retrieving kernel parameters. Where you previously had nest.SetKernelStatus({"resolution": 0.2})
in your simulation script, you can now just write nest.resolution = 0.2
. Kernel attributes now come with their own docstrings and even tab-completion works for them! Additionally, PyNEST functions are now directly linked to the API reference throughout the documentation.
The testsuite now handles MPI tests more consistently and uses pytest for all Python tests.
have_connections_changed
correctly when we have fewer connections than MPI ranks
local_spike_counter
PYEXECDIR
set_connections_have_changed()
to thread 0
pp_pop_psc_delta
and pulsepacket_generator
pkg_resources
query with setup.py
name
pp_pop_psc_delta
to deprecation list
Parameter
classes
weighted_spikes_{ex,in}
from iaf_psc_{alpha,exp}
recordables
Vose
constructor
SetKernelStatus
parameters
__init__.py
Vose
class with std::discrete_distribution
syn_spec
to prevent it being modified
nest.hl_api
NEST 2.20.2 is the result of 15 commits by 7 developers since NEST 2.20.1 which was released on 2020-12-02.
This release contains mainly bug fixes and backports. Most notably it brings support for detailed timers (#2086, which allows more consistent comparisons between benchmark results obtained with this and later versions.
In particular it contains
NEST 2.14.1 is the result of 14 commits by 6 developers since NEST 2.14.0 which was released on 2017-10-20.
This patch release contains an optimization for the Potjans & Diesmann (2014) model and adds builtin detailed timers and corresponding documentation, which allows more consistent comparisons between benchmark results obtained with this and later versions.
NEST 3.0 is the result of 5043 commits by 47 developers since NEST 2.20.0 which was released on 2020-01-28.
With the release of NEST 3.0, we introduce a ton of new features to improve how you create and manage simulations.
NEST 3.0 introduces a more direct approach to accessing neuron and device properties and to interacting with synapses. You can now read and write properties of nodes and connections with the functions get()
and set()
or by direct member access (e.g., neuron.V_m = -55.0
). Parameter objects make mathematical and probabilistic functions available to pick neuron properties, create spatial positions, define connection probabilities, and much more. In addition, it is now way easier to perform operations such as slicing, iterating, and tests for equality on collections of neurons and synapses.
NEST 3.0 replaces the old random number generator library with a new one based on the C++ Standard Library. The new library also provides generators from the Random 123 library, including crypotgraphic generators. Most notably, you can now much more easily seed all generators and change the type of random number generator you are using.
We have improved how recordings from simulations are handled, making the infrastructure more modular and extensible. In addition to the previously supported recording methods, a new backend for SIONlib is now available. The interface for stimulation devices can now handle data from external sources, such as other simulators.
The Topology Module is no longer a separate module; it is integrated within PyNEST, and now referred to as support for spatially-structured networks.
NEST Server is a novel backend to NEST that allows to run simulations via a RESTful API. Instead of directly importing nest
into your Python session, the code that controls the simulation is sent over HTTP to NEST Server in this use-case.
.nestrc
init_state_
is called for models that need it, and remove redundant ones
cython --version
error
n
and a
when connecting
The list contains 322 PRs.
NEST 2.20.1 is the result of 105 commits by 12 developers since NEST 2.20.0 which was released on 2020-01-28.
This release contains mainly bug fixes and backports. Most notably it fixes issue #1394, which lead to incorrect simulation results under certain circumstances.
WARNING: This version of NEST is affected by issue #1394, which can lead to incorrect simulation results under certain circumstances. Please double-check all simulation results obtained with this version and if in doubt, re-run using a different split between MPI processes and threads. The description of the issue contains more details and will be updated when new information becomes available.
NEST 2.20.0 is the result of 454 commits in 77 pull requests by 25 developers since NEST 2.18.0 which was released on June 7, 2019.
This release wraps up the 2.x series of NEST and contains many improvements and bug fixes. Highlights are the addition of the generalized leaky integrate-and-fire neuron models by the Allen Institute, STDP synapses with nearest-neighbor spike pairing schemes and improved documentation, available on Read The Docs. Following is a list of all merged pull requests:
WARNING: This version of NEST is affected by issue #1394, which can lead to incorrect simulation results under certain circumstances. Please double-check all simulation results obtained with this version and if in doubt, re-run using a different split between MPI processes and threads. The description of the issue contains more details and will be updated when new information becomes available.
NEST 2.18.0 is the result of 116 pull-requests (1128 commits) by 31 developers since NEST 2.16.0 which was released on 2018-08-21.
This release provides a number of new neuron and plasticity models and additional functionality. It improves memory allocation and performance during network construction. It includes a number of bug fixes and is the first release that can be installed via aptitude and in an Conda environment directly from conda-forge.
verbosity
and debug
command line arguments as input script filename
get_synaptic_elements_vacant()
extras
directory
WARNING: This version of NEST is affected by issue #1394, which can lead to incorrect simulation results under certain circumstances. Please double-check all simulation results obtained with this version and if in doubt, re-run using a different split between MPI processes and threads. The description of the issue contains more details and will be updated when new information becomes available.
NEST 2.16.0 is the result of 89 merged pull requests by 39 developers since NEST 2.14.0 which was released on 20th of October 2017.
This release contains many bug fixes and improvements. Most notably it brings a new infrastructure for the storage of connections, which reduces the memory consumption and network build times (Jordan et al., 2018). and extends the rate model framework for novel use-cases (Senden et al., 2018).
If you use this version of NEST, please cite it as Linssen, Charl et al. (2018). NEST 2.16.0. Zenodo. 10.5281/zenodo.1400175. The full citation is available in different formats on Zenodo.
NEST v2.14.0 contains 705 repository commits by 33 developers since v2.12.0.
This release is mainly a bug fix release, but also contains some new features, most notably a framework for the simulation of rate neurons (Hahne et al., 2017).
offset
for recording (#669, #670)Simulate
into Prepare
, Run
and Cleanup
(#650, #692, #778, #803)benoulli_synapse
with probabilistic transmission (#747)help
and helpdesk
more robust when used from Python and Jupyter notebooks (#688)do_tests.sh
(#819)quantal_stp_synapse
(#680, #681)SetDefaults
for connections (#545, #704)music_event_out_proxy
now also works correctly in multi-threaded simulations (#696, #710)CopyModel
related to the delivery of secondary events (#708, #711)ResetKernel
now properly ensures that off_grid_spiking
is reset (#716)Name
insertion is now done in thread-serial contexts only and all plain strings for property handling are replaced with Name
objects (#719, #722, #724)check_synapse_params
to specific synapse classes and add tests for synapse parameter check (#735, #736, #739).#
are now excluded from help generation (#802)step_current_generator
is now internally represented in steps (#740, #815)iaf_psc_exp_ps
now handle simultaneous spikes independently (#368, #810)CopyModel
(#746, #804)CMAKE_NEST_PREFIX
now uses absolute path (#749, #783, #796)bad_alloc
exception (#644, #787)DataConnect
in multi-threaded mode as correct connectivity cannot be guaranteed here (#776)test_crash_or_die.sli
if NDEBUG is set as this does not work (#272, #770)precision
in spin_detector
and documentation (#767)const
qualifier (#755)do_tests.sh
(#816, #819)long
& double
from Time
units (#699)Time
class (#685, #706)binary_neuron_impl.h
in favor of code in binary_neuron.h
(#813)GetStructrualPlasticityStatus
format (#775)warning
function (#662, #769)primary_end_
marker for heterogeneous connections (#832, #834)iaf_psc_delta_canon
in connection with test_dcgen_vs_I_e.sli
(#822)sed
are used on BSD-based systems (#713, #744)check_code_style.sh
, which lead to aborting the continuous integration run in some cases (#814)trusty
in TravisCI with recommended group option (#757, #785)If you use this version of NEST, please cite it as Peyser, Alexander et al. (2017). NEST 2.14.0. Zenodo. 10.5281/zenodo.882971. The full citation is available in different formats on Zenodo.
NEST 2.12.0 contains 1763 repository commits from 169 pull requests by 40 developers since v2.10.0.
vogels_sprekeler_synapse
(Vogels et al., 2011; #218)aeif_cond_beta_multisynapse
using GSL ODE solver (#439)gif_psc_exp
, gif_psc_exp_multisynapse
, gif_cond_exp
, gif_cond_exp_multisynapse
(#261, #516, #579)weight_recorder
for recording weights of plastic synapses (#497)aeif_psc_alpha
, aeif_psc_exp
(#513)ht_neuron
(#491)sensitivity_to_perturbation.py
(#198)multiplicity
property of Event
s (#255)Connect
(#465)vim
syntax highlighing file (#253)SLI_PATH
for adding to the SLI search path and NEST_MODULES
for loading modules on startup (#479)supports_precise_spikes
for models supporting off-grid events (#475)Connect
now supports a new keyword symmetric
to also add a reverse connection in a single run, synapses which require this now have the requires_symmetric
flag set (#315, #524)Simulate
(#269)do_tests.sh
prints out the error message in case a test fails (#515)regexec
function (#251)iaf_psc_exp
(#276)hpc_benchmark.sli
example (#289)README.md
now contains all general information about NEST (#423)gcc
on BlueGene/Q (#447)ht_neuron
and minor code prettification (#387)README.md
s for testsuite and PyNEST (#503)iaf_neuron
in docstrings and examples by iaf_psc_alpha
(#626)GetConnections
performance up to 118 times (#490)all_to_all
(#568)gcc
output (#378)spike_detector
(#446)connect()
function in SPBuilder
(#216)readline
with Anaconda Python (#209)icpc
compiler (#232)nosetests
for the PyNEST testsuite (#321)spike_generator
(#327)libreadline
(#323)MyModule
example build and install problems (#328)iaf_psc_alpha
(#500)hh_cond_exp_traub
(#575, #590)operator<<
with regular function to avoid issues with K compiler (#587)sp_disconnect()
that could lead to heterogeneous connectors not being used any more during spike delivery (#597)get_targets()
for structural plasticity (#604)ConnectLayers
now connects thread siblings of devices properly (#666)Scheduler
and Network
classes into separate *Manager
classes according to their responsibility (#205)*.cpp
to *_impl.h
(#397)*_t
aliases for built-in C++ data types (#454)Parameter
class in Topology to TopologyParameter
(#408)The long deprecated functions ConvergentConnect
, DivergentConnect
, RandomConvergentConnect
, RandomDivergentConnect
and FindConnections
were removed in favor of the new unified Connect
framework. See the documentation on connection management for details on how to convert your code.
The following models will be removed in the next major release:
iaf_neuron
, please use iaf_psc_alpha
insteadsubnet
, siblingcontainer
and proxynode
will be removed without replacementaeif_cond_alpha_RK5
, please use plain aeif_cond_alpha
insteadDue to the upcoming removal of the subnet
model and the concept of a hierarchical network storage, the following functions are also marked as deprecated and will be removed together with the subnet
model in the next major release:
LayoutNetwork
, GetNetwork
BeginSubnet
, EndSubnet
, ChangeSubnet
, CurrentSubnet
GetNodes
, GetLeaves
, GetChildren
GetLID
The remaining functionality of DataConnect
over normal Connect
will be integrated into the normal Connect
function. Thus DataConnect
is marked as deprecated and will be removed once Connect
has the same feature set.
For all deprecated models and functions, a corresponding message will be printed upon usage (#580).
If you use this version of NEST, please cite it as Kunkel, Susanne et al. (2017). NEST 2.12.0. Zenodo. 10.5281/zenodo.259534. The full citation is available in different formats on Zenodo.