Skip to content

Commit c92d270

Browse files
author
C.A.P. Linssen
committed
Merge remote-tracking branch 'upstream/master' into sli_tests_to_py_aeif_cond_beta_multisynapse
2 parents 590a67b + 9e44490 commit c92d270

File tree

75 files changed

+2335
-646
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2335
-646
lines changed

.github/workflows/nestbuildmatrix.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ jobs:
527527
- "boost, optimize, warning"
528528
- "openmp, python, gsl, ltdl, boost, optimize, warning"
529529
- "mpi, python, gsl, ltdl, boost, optimize, warning"
530-
- "openmp, mpi, python, gsl, ltdl, boost, hdf5, sionlib, libneurosim, optimize, warning"
530+
- "openmp, mpi, python, gsl, ltdl, boost, hdf5, sionlib, libneurosim, optimize, warning, music"
531531

532532
steps:
533533
- name: Harden Runner
@@ -678,6 +678,7 @@ jobs:
678678
-Dwith-hdf5=${{ contains(matrix.use, 'hdf5') && 'ON' || 'OFF' }} \
679679
-Dwith-sionlib=${{ contains(matrix.use, 'sionlib') && '$HOME/.cache/sionlib.install' || 'OFF' }} \
680680
-Dwith-libneurosim=${{ contains(matrix.use, 'libneurosim') && '$HOME/.cache/libneurosim.install' || 'OFF' }} \
681+
-Dwith-music=${{ contains(matrix.use, 'music') && '$HOME/.cache/music.install' || 'OFF' }} \
681682
..
682683
683684
- name: "Add GCC problem matcher"
@@ -757,7 +758,7 @@ jobs:
757758
- name: "Set up Python 3.x"
758759
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
759760
with:
760-
python-version: 3.9
761+
python-version: 3.12
761762

762763
- name: "Install MacOS system dependencies"
763764
run: |
@@ -806,6 +807,7 @@ jobs:
806807
-Dwith-hdf5=${{ contains(matrix.use, 'hdf5') && 'ON' || 'OFF' }} \
807808
-Dwith-sionlib=${{ contains(matrix.use, 'sionlib') && '$HOME/.cache/sionlib.install' || 'OFF' }} \
808809
-Dwith-libneurosim=${{ contains(matrix.use, 'libneurosim') && '$HOME/.cache/libneurosim.install' || 'OFF' }} \
810+
-Dwith-music=${{ contains(matrix.use, 'music') && '$HOME/.cache/music.install' || 'OFF' }} \
809811
..
810812
811813
- name: "Add GCC problem matcher"

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.6.0-post0.dev0
1+
3.7.0-post0.dev0

doc/htmldoc/devices/index.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,21 @@
33
All about devices in NEST
44
=========================
55

6+
.. grid:: 1 1 2 2
7+
:gutter: 1
8+
9+
.. grid-item-card:: Stimulate the network
10+
:class-title: sd-d-flex-row sd-align-minor-center
11+
:link: stimuate_network
12+
:link-type: ref
13+
14+
.. grid-item-card:: Get data from simulation
15+
:class-title: sd-d-flex-row sd-align-minor-center
16+
:link: record_simulations
17+
:link-type: ref
18+
19+
20+
621
.. toctree::
722
:maxdepth: 1
823
:glob:

doc/htmldoc/devices/record_from_simulations.rst

Lines changed: 63 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,39 @@ Recording devices can fundamentally be subdivided into two groups:
3838
neuron (not the neuron to the sampler), and that the neuron must
3939
support the particular type of sampling.
4040

41+
.. _recording_backends:
4142

42-
Recorders for every-day situations
43-
----------------------------------
43+
What values can I record?
44+
-------------------------
45+
46+
This depends on neuron or synapse model specified.
47+
48+
You can get a list of properties that you can record using the ``recordables`` property.
49+
50+
::
51+
52+
>>> nest.GetDefaults("iaf_cond_alpha")["recordables"]
53+
["g_ex", "g_in", "t_ref_remaining", "V_m"]
54+
55+
56+
Recorders available in NEST
57+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
58+
59+
- :doc:`/models/multimeter`
60+
61+
62+
- :doc:`/models/spike_recorder`
63+
64+
65+
- :doc:`/models/weight_recorder`
66+
67+
Check out the following examples to see how the recorders are used:
68+
69+
- :doc:`/auto_examples/recording_demo`
70+
- :doc:`/auto_examples/multimeter_file`
71+
- :doc:`/auto_examples/urbanczik_synapse_example` uses all 3 recorders.
4472

45-
- :doc:`../models/multimeter`
46-
- :doc:`../models/spike_recorder`
47-
- :doc:`../models/weight_recorder`
4873

49-
.. _recording_backends:
5074

5175
Where does data end up?
5276
-----------------------
@@ -55,10 +79,6 @@ After a recording device has collected or sampled data, the data is
5579
handed to a dedicated *recording backend*, set for each recorder.
5680
These are responsible for how the data are processed.
5781

58-
Theoretically, recording backends are completely free in what they do
59-
with the data. The ones included in NEST can collect data in memory,
60-
display it on the terminal, or write it to files.
61-
6282
To specify the recording backend for a given recording device, the
6383
property ``record_to`` of the latter has to be set to the name of the
6484
recording backend to be used. This can either happen already in the
@@ -67,13 +87,33 @@ call to :py:func:`.Create` or by using :py:func:`.SetStatus` on the model instan
6787

6888
::
6989

70-
sr = nest.Create('spike_recorder', params={'record_to': 'ascii'})
90+
sr = nest.Create("spike_recorder", params={"record_to": "memory"})
7191

7292
Storing data in memory using the `memory` backend is the default for
7393
all recording devices as this does not require any additional setup of
7494
data paths or filesystem permissions and allows a convenient readout
7595
of data by the user after simulation.
7696

97+
For example, you can use the ``events`` property to get the data output from the `memory` backend
98+
from any of the recorders:
99+
100+
::
101+
102+
>>> spike_recorder.get("events")
103+
{"senders": array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]),
104+
"times": array([ 2.1, 4.4, 6.7, 8.9, 11.1, 13.3, 15.5, 17.7, 19.9, 22.1, 24.3, 26.5, 28.7])}
105+
106+
Additional properties can be set, depending on the recorder and recording backend used.
107+
108+
For example:
109+
110+
::
111+
112+
mm = nest.Create( "multimeter",
113+
params={"interval": 0.1, "record_from": ["V_m", "g_ex", "g_in"], "record_to": "ascii", "label": "my_multimeter"},
114+
)
115+
116+
77117
Each recording backend may provide a specific set of parameters
78118
(explained in the backend documentation below) that will be included
79119
in the model status dictionary once the backend is set. This means
@@ -97,7 +137,7 @@ kernel attribute ``recording_backends``.
97137
::
98138

99139
>>> print(nest.recording_backends)
100-
('ascii', 'memory', 'mpi', 'screen', 'sionlib')
140+
("ascii", "memory", "mpi", "screen", "sionlib")
101141

102142
If a recording backend has global properties (i.e., parameters shared
103143
by all enrolled recording devices), those can be inspected with
@@ -106,17 +146,17 @@ by all enrolled recording devices), those can be inspected with
106146
::
107147

108148
>>> nest.GetDefaults("sionlib")
109-
{'buffer_size': 1024,
110-
'filename': '',
111-
'sion_chunksize': 262144,
112-
'sion_collective': False,
113-
'sion_n_files': 1}
149+
{"buffer_size": 1024,
150+
"filename": "",
151+
"sion_chunksize": 262144,
152+
"sion_collective": False,
153+
"sion_n_files": 1}
114154

115155
Such global parameters can be set using :py:func:`.SetDefaults`
116156

117157
::
118158

119-
>>> nest.SetDefaults('sionlib', {'buffer_size': 512})
159+
>>> nest.SetDefaults("sionlib", {"buffer_size": 512})
120160

121161
Built-in backends
122162
-----------------
@@ -126,8 +166,8 @@ NEST. Please note that the availability of some of them depends on the
126166
compile-time configuration for NEST. See the backend documentation for
127167
details.
128168

129-
- :doc:`../models/recording_backend_memory`
130-
- :doc:`../models/recording_backend_ascii`
131-
- :doc:`../models/recording_backend_screen`
132-
- :doc:`../models/recording_backend_sionlib`
133-
- :doc:`../models/recording_backend_mpi`
169+
.. include:: ../models/recording_backend_memory.rst
170+
.. include:: ../models/recording_backend_ascii.rst
171+
.. include:: ../models/recording_backend_screen.rst
172+
.. include:: ../models/recording_backend_sionlib.rst
173+
.. include:: ../models/recording_backend_mpi.rst

doc/htmldoc/examples/index.rst

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -80,31 +80,31 @@ PyNEST examples
8080

8181
* :doc:`../auto_examples/Potjans_2014/index`
8282

83+
84+
85+
.. grid-item-card:: EI clustered network (Rostami et al)
86+
:img-top: ../static/img/pynest/EI_clustered_network_schematic.png
87+
88+
:doc:`../auto_examples/EI_clustered_network/index`
89+
90+
91+
92+
.. grid:: 1 1 2 3
93+
8394
.. grid-item-card:: GLIF (from Allen institute)
8495
:img-top: ../static/img/pynest/glif_cond.png
8596

8697
* :doc:`../auto_examples/glif_cond_neuron`
8798
* :doc:`../auto_examples/glif_psc_neuron`
8899
* :doc:`../auto_examples/glif_psc_double_alpha_neuron`
89100

90-
91-
92-
.. grid:: 1 1 2 3
93-
94101
.. grid-item-card:: Compartmental neurons
95102
:img-top: ../static/img/pynest/dendritic_synapse_conductances.png
96103

97104
* :doc:`../auto_examples/compartmental_model/receptors_and_current`
98105
* :doc:`../auto_examples/compartmental_model/two_comps`
99106

100107

101-
.. grid-item-card:: Rate neurons
102-
:img-top: ../static/img/pynest/rate_neuron.png
103-
104-
* :doc:`../auto_examples/lin_rate_ipn_network`
105-
* :doc:`../auto_examples/rate_neuron_dm`
106-
107-
108108

109109
.. grid-item-card:: GIF (from Gerstner lab)
110110
:img-top: ../static/img/pynest/gif_pop.png
@@ -116,6 +116,13 @@ PyNEST examples
116116

117117
.. grid:: 1 1 2 3
118118

119+
.. grid-item-card:: Rate neurons
120+
:img-top: ../static/img/pynest/rate_neuron.png
121+
122+
* :doc:`../auto_examples/lin_rate_ipn_network`
123+
* :doc:`../auto_examples/rate_neuron_dm`
124+
125+
119126
.. grid-item-card:: Hodgkin-Huxley
120127
:img-top: ../static/img/pynest/hh_phase.png
121128

@@ -127,14 +134,14 @@ PyNEST examples
127134

128135
* :doc:`../auto_examples/BrodyHopfield`
129136

137+
.. grid:: 1 1 2 3
138+
130139
.. grid-item-card:: Brette and Gerstner
131140
:img-top: ../static/img/pynest/brette_gerstner2c.png
132141

133142
* :doc:`../auto_examples/brette_gerstner_fig_2c`
134143
* :doc:`../auto_examples/brette_gerstner_fig_3d`
135144

136-
.. grid:: 1 1 2 3
137-
138145

139146
.. grid-item-card:: Precise spiking
140147
:img-top: ../static/img/pynest/precisespiking.png
@@ -146,11 +153,6 @@ PyNEST examples
146153

147154
* :doc:`../auto_examples/CampbellSiegert`
148155

149-
.. grid-item-card:: SONATA network
150-
:img-top: ../static/img/300_pointneurons.png
151-
152-
* :doc:`../auto_examples/sonata_example/sonata_network`
153-
154156

155157
.. grid:: 1 1 2 3
156158

@@ -242,6 +244,11 @@ PyNEST examples
242244

243245
.. grid:: 1 1 2 3
244246

247+
.. grid-item-card:: SONATA network
248+
:img-top: ../static/img/300_pointneurons.png
249+
250+
* :doc:`../auto_examples/sonata_example/sonata_network`
251+
245252
.. grid-item-card:: HPC benchmark
246253
:img-top: ../static/img/nest_logo-faded.png
247254

@@ -342,6 +349,7 @@ PyNEST examples
342349
../auto_examples/astrocytes/astrocyte_interaction
343350
../auto_examples/astrocytes/astrocyte_small_network
344351
../auto_examples/astrocytes/astrocyte_brunel
352+
../auto_examples/EI_clustered_network/index
345353
../auto_examples/eprop_plasticity/index
346354

347355
.. toctree::

doc/htmldoc/get-started_index.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,10 @@ Next steps: Create your own network model
6161

6262
|random| Connect neurons, synapses, and devices
6363
^^^
64-
65-
* :ref:`connection_management`: A guide to building connections in NEST
64+
* :ref:`connectivity_concepts`: A guide to define network connectivity in NEST
6665
* :ref:`spatial_networks`: A deep dive into building 2D and 3D networks
66+
* :ref:`connection_generator`: Using an external library for generating connections
67+
* :ref:`synapse_spec`: Details on parameterizing synapses
6768

6869
.. grid-item-card::
6970
:class-header: sd-d-flex-row sd-align-minor-center sd-bg-info sd-text-white

doc/htmldoc/hpc/parallel_computing.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ Spikes between neurons and devices
161161
Synaptic plasticity models
162162
~~~~~~~~~~~~~~~~~~~~~~~~~~
163163

164-
For synapse models supporting plasticity, synapse dynamics in the
164+
For synapse models supporting :hxt_ref:`plasticity`, synapse dynamics in the
165165
``Connection`` object are always handled by the virtual process of the
166166
`target node`.
167167

doc/htmldoc/installation/cmake_options.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ follwing switch for the invocation of ``cmake``. It expects either
313313
-Dwith-libneurosim=[OFF|ON|</path/to/libneurosim>]
314314

315315
For details on how to use the Connection Generator Interface, see the
316-
:ref:`guide on connection management <conn_builder_conngen>`.
316+
:ref:`guide on connection generation <connection_generator>`.
317317

318318
.. _compile_with_python:
319319

doc/htmldoc/nest_behavior/running_simulations.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ NEST also has some models that determine the precise time of the
129129
threshold crossing during the interval. Please see the documentation on
130130
:ref:`precise spike time neurons <sim_precise_spike_times>`
131131
for details about neuron update in continuous time and the
132-
:ref:`documentation on connection management <connection_management>`
132+
:ref:`documentation on the connectivty concepts <connectivity_concepts>`
133133
for how to set the delay when creating synapses.
134134

135135
.. _stepped_simulations:

doc/htmldoc/networks/spatially_structured_networks.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1339,7 +1339,7 @@ The following table presents some query functions provided by NEST.
13391339
+---------------------------------+-----------------------------------------------------+
13401340
| ``nest.GetConnections()`` | Retrieve connections (all or for a given |
13411341
| | source or target); see also |
1342-
| | http://www.nest-simulator.org/connection_management.|
1342+
| | :ref:`connectivity_concepts`. |
13431343
+---------------------------------+-----------------------------------------------------+
13441344
| ``nest.GetNodes()`` | Returns a NodeCollection of all elements with given |
13451345
| | properties. |

0 commit comments

Comments
 (0)