diff --git a/documentation/5/.buildinfo b/documentation/5/.buildinfo
index 1284fa5c1..6939044a0 100644
--- a/documentation/5/.buildinfo
+++ b/documentation/5/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 2c4baab60789ed94dfde1315088742e7
+config: f03c42cb031d0fa577de64a58a6717cc
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/documentation/5/_downloads/1eed1518b8928bc24e721527ef1f9970/mnist_mb_classifier.ipynb b/documentation/5/_downloads/1eed1518b8928bc24e721527ef1f9970/mnist_mb_classifier.ipynb
index a61527000..2928dc2d7 100644
--- a/documentation/5/_downloads/1eed1518b8928bc24e721527ef1f9970/mnist_mb_classifier.ipynb
+++ b/documentation/5/_downloads/1eed1518b8928bc24e721527ef1f9970/mnist_mb_classifier.ipynb
@@ -35,7 +35,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.0"
+ "version": "3.8.12"
}
},
"nbformat": 4,
diff --git a/documentation/5/_downloads/26866b29b5e6aaf47b3ba4c4dbee6718/userproject_jupyter.zip b/documentation/5/_downloads/26866b29b5e6aaf47b3ba4c4dbee6718/userproject_jupyter.zip
index 6d4cf95b6..6664f33ff 100644
Binary files a/documentation/5/_downloads/26866b29b5e6aaf47b3ba4c4dbee6718/userproject_jupyter.zip and b/documentation/5/_downloads/26866b29b5e6aaf47b3ba4c4dbee6718/userproject_jupyter.zip differ
diff --git a/documentation/5/_downloads/3e0a0a579abc8e5181823f00a5779b71/userproject_python.zip b/documentation/5/_downloads/3e0a0a579abc8e5181823f00a5779b71/userproject_python.zip
index cacf56dfa..851c38301 100644
Binary files a/documentation/5/_downloads/3e0a0a579abc8e5181823f00a5779b71/userproject_python.zip and b/documentation/5/_downloads/3e0a0a579abc8e5181823f00a5779b71/userproject_python.zip differ
diff --git a/documentation/5/_downloads/64c7fcd62013f68609d54d02d741b663/potjans_microcircuit.ipynb b/documentation/5/_downloads/64c7fcd62013f68609d54d02d741b663/potjans_microcircuit.ipynb
index 008f11e6a..2ae0ae9fc 100644
--- a/documentation/5/_downloads/64c7fcd62013f68609d54d02d741b663/potjans_microcircuit.ipynb
+++ b/documentation/5/_downloads/64c7fcd62013f68609d54d02d741b663/potjans_microcircuit.ipynb
@@ -35,7 +35,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.0"
+ "version": "3.8.12"
}
},
"nbformat": 4,
diff --git a/documentation/5/_downloads/f57116a727438d4e47eb66f1b799aa48/superspike_demo.ipynb b/documentation/5/_downloads/f57116a727438d4e47eb66f1b799aa48/superspike_demo.ipynb
index 1ff964dcb..8263a6d20 100644
--- a/documentation/5/_downloads/f57116a727438d4e47eb66f1b799aa48/superspike_demo.ipynb
+++ b/documentation/5/_downloads/f57116a727438d4e47eb66f1b799aa48/superspike_demo.ipynb
@@ -35,7 +35,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.0"
+ "version": "3.8.12"
}
},
"nbformat": 4,
diff --git a/documentation/5/_sources/sg_execution_times.rst.txt b/documentation/5/_sources/sg_execution_times.rst.txt
index 4957555dd..a0875a4e2 100644
--- a/documentation/5/_sources/sg_execution_times.rst.txt
+++ b/documentation/5/_sources/sg_execution_times.rst.txt
@@ -32,12 +32,12 @@ Computation times
* - Example
- Time
- Mem (MB)
- * - :ref:`sphx_glr_userproject_mnist_mb_classifier.py` (``../userproject/mnist_mb_classifier.py``)
+ * - :ref:`sphx_glr_userproject_mnist_mb_classifier.py` (``..\userproject\mnist_mb_classifier.py``)
- 00:00.000
- 0.0
- * - :ref:`sphx_glr_userproject_potjans_microcircuit_pygenn.py` (``../userproject/potjans_microcircuit_pygenn.py``)
+ * - :ref:`sphx_glr_userproject_potjans_microcircuit.py` (``..\userproject\potjans_microcircuit.py``)
- 00:00.000
- 0.0
- * - :ref:`sphx_glr_userproject_superspike_demo.py` (``../userproject/superspike_demo.py``)
+ * - :ref:`sphx_glr_userproject_superspike_demo.py` (``..\userproject\superspike_demo.py``)
- 00:00.000
- 0.0
diff --git a/documentation/5/_sources/source/pygenn.rst.txt b/documentation/5/_sources/source/pygenn.rst.txt
index 6875f8b1b..a1937c5ce 100644
--- a/documentation/5/_sources/source/pygenn.rst.txt
+++ b/documentation/5/_sources/source/pygenn.rst.txt
@@ -73,30 +73,6 @@ pygenn.init\_var\_snippets module
:undoc-members:
:show-inheritance:
-pygenn.libgenn\_cuda\_backend\_dynamic module
----------------------------------------------
-
-.. automodule:: pygenn.libgenn_cuda_backend_dynamic
- :members:
- :undoc-members:
- :show-inheritance:
-
-pygenn.libgenn\_dynamic module
-------------------------------
-
-.. automodule:: pygenn.libgenn_dynamic
- :members:
- :undoc-members:
- :show-inheritance:
-
-pygenn.libgenn\_single\_threaded\_cpu\_backend\_dynamic module
---------------------------------------------------------------
-
-.. automodule:: pygenn.libgenn_single_threaded_cpu_backend_dynamic
- :members:
- :undoc-members:
- :show-inheritance:
-
pygenn.model\_preprocessor module
---------------------------------
diff --git a/documentation/5/_sources/userproject/mnist_mb_classifier.rst.txt b/documentation/5/_sources/userproject/mnist_mb_classifier.rst.txt
index b5e4e8cc6..1705ea0ba 100644
--- a/documentation/5/_sources/userproject/mnist_mb_classifier.rst.txt
+++ b/documentation/5/_sources/userproject/mnist_mb_classifier.rst.txt
@@ -2,7 +2,7 @@
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
-.. "userproject/mnist_mb_classifier.py"
+.. "userproject\mnist_mb_classifier.py"
.. LINE NUMBERS ARE GIVEN BELOW.
.. only:: html
diff --git a/documentation/5/_sources/userproject/potjans_microcircuit.rst.txt b/documentation/5/_sources/userproject/potjans_microcircuit.rst.txt
index 4a0be75c8..cd828a02f 100644
--- a/documentation/5/_sources/userproject/potjans_microcircuit.rst.txt
+++ b/documentation/5/_sources/userproject/potjans_microcircuit.rst.txt
@@ -2,7 +2,7 @@
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
-.. "userproject/potjans_microcircuit.py"
+.. "userproject\potjans_microcircuit.py"
.. LINE NUMBERS ARE GIVEN BELOW.
.. only:: html
diff --git a/documentation/5/_sources/userproject/superspike_demo.rst.txt b/documentation/5/_sources/userproject/superspike_demo.rst.txt
index 816c74a21..4f260b334 100644
--- a/documentation/5/_sources/userproject/superspike_demo.rst.txt
+++ b/documentation/5/_sources/userproject/superspike_demo.rst.txt
@@ -2,7 +2,7 @@
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
-.. "userproject/superspike_demo.py"
+.. "userproject\superspike_demo.py"
.. LINE NUMBERS ARE GIVEN BELOW.
.. only:: html
diff --git a/documentation/5/_static/basic.css b/documentation/5/_static/basic.css
index cfc60b86c..1506b6540 100644
--- a/documentation/5/_static/basic.css
+++ b/documentation/5/_static/basic.css
@@ -55,7 +55,7 @@ div.sphinxsidebarwrapper {
div.sphinxsidebar {
float: left;
- width: 230px;
+ width: 450px;
margin-left: -100%;
font-size: 90%;
word-wrap: break-word;
diff --git a/documentation/5/_static/classic.css b/documentation/5/_static/classic.css
index d0ed3264d..564c5bccd 100644
--- a/documentation/5/_static/classic.css
+++ b/documentation/5/_static/classic.css
@@ -38,7 +38,7 @@ div.documentwrapper {
}
div.bodywrapper {
- margin: 0 0 0 230px;
+ margin: 0 0 0 450px;
}
div.body {
diff --git a/documentation/5/bibliography.html b/documentation/5/bibliography.html
index cd0bee059..edba56e07 100644
--- a/documentation/5/bibliography.html
+++ b/documentation/5/bibliography.html
@@ -3,11 +3,11 @@
-
+
Bibliography — PyGeNN documentation
-
+
diff --git a/documentation/5/building_networks.html b/documentation/5/building_networks.html
index e9ea6181b..aa86bb17a 100644
--- a/documentation/5/building_networks.html
+++ b/documentation/5/building_networks.html
@@ -3,11 +3,11 @@
-
+
Building networks — PyGeNN documentation
-
+
@@ -303,13 +303,13 @@ set_sparse_connections() (pygenn.genn_groups.SynapseGroupMixin method)
- set_values() (pygenn.model_preprocessor.ExtraGlobalParameter method)
-
-
set_var_location() (pygenn.CurrentSource method)
sparse_connectivity_initialiser (pygenn.SynapseGroup property)
-
-
+
spike_event_recording_enabled (pygenn.NeuronGroup property)
spike_recording_data (pygenn.genn_groups.NeuronGroupMixin property)
diff --git a/documentation/5/index.html b/documentation/5/index.html
index 0cb5a5b38..97e59b4c4 100644
--- a/documentation/5/index.html
+++ b/documentation/5/index.html
@@ -3,11 +3,11 @@
-
+
PyGeNN documentation — PyGeNN documentation
-
+
diff --git a/documentation/5/objects.inv b/documentation/5/objects.inv
index 4eb8ffd16..9d173063d 100644
Binary files a/documentation/5/objects.inv and b/documentation/5/objects.inv differ
diff --git a/documentation/5/py-modindex.html b/documentation/5/py-modindex.html
index 4b1f3c7f7..f3cd08634 100644
--- a/documentation/5/py-modindex.html
+++ b/documentation/5/py-modindex.html
@@ -6,7 +6,7 @@
Python Module Index — PyGeNN documentation
-
+
diff --git a/documentation/5/search.html b/documentation/5/search.html
index 221efc219..75841b743 100644
--- a/documentation/5/search.html
+++ b/documentation/5/search.html
@@ -6,7 +6,7 @@
Search — PyGeNN documentation
-
+
diff --git a/documentation/5/searchindex.js b/documentation/5/searchindex.js
index 0e1f4c0a3..fd56b40e6 100644
--- a/documentation/5/searchindex.js
+++ b/documentation/5/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["bibliography", "building_networks", "custom_models", "index", "sg_execution_times", "simulating_networks", "source/modules", "source/pygenn", "upgrading", "userproject/index", "userproject/mnist_mb_classifier", "userproject/potjans_microcircuit", "userproject/sg_execution_times", "userproject/superspike_demo"], "filenames": ["bibliography.rst", "building_networks.rst", "custom_models.rst", "index.rst", "sg_execution_times.rst", "simulating_networks.rst", "source/modules.rst", "source/pygenn.rst", "upgrading.rst", "userproject/index.rst", "userproject/mnist_mb_classifier.rst", "userproject/potjans_microcircuit.rst", "userproject/sg_execution_times.rst", "userproject/superspike_demo.rst"], "titles": ["Bibliography", "Building networks", "Custom models", "PyGeNN documentation", "Computation times", "Simulating networks", "pygenn", "pygenn package", "Upgrading from GeNN 4", "User projects", "MNIST classification using an insect-inspired mushroom body model", "PyGeNN implementation of local cortical microcircuit model", "Computation times", "PyGeNN implementation of SuperSpike"], "terms": {"morrison2008": [0, 2, 7], "morrison": 0, "A": [0, 1, 2, 7], "diesmann": [0, 11], "m": [0, 1, 5, 7, 11, 13], "gerstner": 0, "w": [0, 2, 13], "2008": 0, "phenomenolog": 0, "model": [0, 3, 4, 5, 7, 8, 9, 12, 13], "synapt": [0, 1, 2, 7, 10, 11, 13], "plastic": 0, "base": [0, 1, 2, 5, 7, 13], "spike": [0, 1, 3, 10, 11, 13], "time": [0, 1, 2, 5, 7, 8, 10, 11, 13], "biolog": 0, "cybernet": 0, "98": [0, 7], "459": 0, "478": 0, "http": [0, 2], "doi": 0, "org": 0, "10": [0, 1, 5, 7, 10, 11, 13], "1007": 0, "s00422": 0, "008": [0, 11], "0233": [0, 10], "1": [0, 1, 2, 3, 5, 7, 10, 11, 13], "potjans2014": [0, 11], "potjan": [0, 11], "t": [0, 2, 5, 7, 8, 10, 11, 13], "c": [0, 1, 2, 3, 7, 10, 11, 13], "2014": 0, "The": [0, 2, 3, 5, 7, 8, 11], "cell": [0, 10, 11], "type": [0, 1, 2, 6, 11, 13], "specif": [0, 11], "cortic": [0, 9, 12], "microcircuit": [0, 9, 12], "relat": [0, 7], "structur": [0, 1, 2, 8, 13], "activ": [0, 2, 7, 11], "full": [0, 2, 7, 10, 11, 13], "scale": [0, 7, 10, 11], "network": [0, 2, 3, 7, 10, 11, 13], "cerebr": 0, "cortex": 0, "24": 0, "3": [0, 1, 4, 7, 10, 11, 12, 13], "785": 0, "806": 0, "1093": 0, "cercor": 0, "bhs358": 0, "i": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13], "defin": [1, 2, 7, 10], "follow": [1, 2, 5, 7, 10, 11, 13], "gennmodel": [1, 2, 5, 6, 7, 8, 10, 11, 13], "must": [1, 2, 7], "creat": [1, 2, 7, 10, 11, 13], "name": [1, 2, 5, 7], "default": [1, 2, 5, 7, 10, 11, 13], "precis": [1, 2, 7, 11], "see": [1, 2, 7, 11], "ref": 1, "floatprecis": 1, "float": [1, 2, 7, 10, 11, 13], "yourmodelnam": 1, "By": [1, 2, 5, 7], "us": [0, 1, 2, 3, 4, 5, 7, 8, 9, 11, 12, 13], "hardwar": [1, 2, 3, 8], "acceler": [0, 1, 3], "code": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13], "gener": [1, 3, 5, 7, 9, 10, 11, 13], "backend": [1, 5, 7], "avail": 1, "howev": [1, 2, 5, 7], "thi": [1, 2, 3, 5, 7, 8, 10, 11, 13], "can": [1, 2, 5, 7, 8, 10, 11, 13], "overriden": 1, "keyword": [1, 2, 5, 7], "argument": [1, 2, 5, 7], "For": [1, 2, 5, 7], "exampl": [1, 2, 4, 5, 7, 9, 10, 11, 12, 13], "singl": [1, 2, 5, 7, 8], "thread": [1, 2, 5, 7, 11], "cpu": [1, 2, 5, 7], "could": [1, 2, 5, 7], "manual": [1, 7], "select": 1, "single_threaded_cpu": 1, "addition": [1, 2, 5, 7], "ani": [1, 2, 5, 7], "prefer": [1, 7], "expos": [1, 2, 7], "configur": [1, 2, 7], "here": [1, 2, 7], "cuda": [1, 5], "allow": [1, 2, 7, 10, 11], "you": [1, 2, 3, 5, 7, 8], "which": [1, 2, 3, 5, 7], "devic": [1, 2, 5, 7, 10, 11], "via": [1, 2, 5, 7], "manual_device_id": [1, 7], "ar": [1, 2, 3, 5, 7, 8, 11, 13], "homogen": [1, 2], "across": [1, 2, 5, 7], "an": [1, 2, 4, 5, 7, 9, 12], "entir": 1, "dynam": [1, 13], "initialis": [1, 7, 8, 13], "mani": [1, 2, 7, 10, 11], "wai": [1, 2, 7, 8], "gpu": [0, 1, 2, 3, 5, 7, 8, 10], "fill": 1, "them": [1, 2, 5, 7], "constant": [1, 2, 7, 10], "valu": [1, 2, 7, 10, 11], "ini": 1, "0": [1, 2, 4, 5, 7, 10, 11, 12, 13], "0529324": 1, "copi": [1, 2, 5, 7, 10], "sequenc": [1, 2, 7], "from": [1, 2, 3, 4, 5, 7, 10, 11, 12, 13], "python": [1, 3, 5, 7, 9, 10, 11, 13], "np": [1, 2, 5, 10, 11, 13], "arang": [1, 5, 11], "400": [1, 13], "specifi": [2, 7], "snippet": [1, 3, 7, 8], "itself": [], "param": [1, 2, 7, 10, 13], "mean": [1, 2, 7, 11, 13], "05": [11, 13], "sd": [1, 2, 7, 11, 13], "01": 10, "pygenn": [1, 2, 4, 5, 8, 9, 10, 12], "init_var": [1, 6, 7, 11, 13], "normal": [1, 2, 7, 11], "where": [1, 2, 5, 7, 8], "built": [1, 2, 5, 7], "includ": [1, 2, 3, 7, 11], "init_var_snippet": [1, 6], "modul": [2, 3, 6], "like": [1, 3, 5, 8], "other": [1, 2, 7, 8], "part": [2, 7], "genn": [1, 2, 3, 5, 7, 9, 13], "easili": [2, 3, 7], "your": [1, 2, 5, 7], "own": 5, "describ": [1, 2, 3, 5, 7, 8], "todo": [1, 13], "As": [1, 2, 5, 7], "well": [1, 2, 5, 7], "variou": [1, 2], "have": [1, 2, 5, 7, 8, 13], "belong": 1, "postsynapt": [1, 5, 8, 11], "attach": [1, 2, 7], "call": [1, 2, 3, 5, 7], "r": [1, 2, 7, 13], "assign": [1, 2, 7], "syntax": 1, "neuron_var_ref": [1, 2, 7], "create_var_ref": [1, 6, 7, 13], "ng": 1, "v": [1, 2, 5, 7, 10, 11, 13], "current_source_var_ref": 1, "custom_update_var_ref": 1, "cu": 1, "postsynaptic_model_var_ref": 1, "create_psm_var_ref": [1, 6, 7], "sg": [1, 7], "wu_pre_var_ref": 1, "create_wu_pre_var_ref": [1, 6, 7], "pre": 1, "wu_post_var_ref": 1, "create_wu_post_var_ref": [1, 6, 7], "post": [1, 2, 7], "neurongroup": [1, 5, 6, 7], "return": [1, 2, 7, 10, 11, 13], "add_neuron_popul": [1, 7, 10, 11, 13], "currentsourc": [1, 2, 6, 7], "add_current_sourc": [1, 7, 10, 11], "customupd": [1, 6, 7], "add_custom_upd": [1, 7, 13], "synapsegroup": [1, 2, 5, 6, 7, 8], "add_synapse_popul": [1, 7, 8, 10, 11, 13], "while": [1, 2, 5, 7, 11, 13], "interchang": 1, "same": [1, 2, 5, 7, 8], "long": [1, 2, 10], "all": [1, 2, 4, 5, 7, 8, 9, 11, 13], "referenc": [1, 2, 7, 8], "delai": [1, 2, 5, 7, 8, 11], "size": [1, 2, 7, 10, 13], "per": [1, 2, 5, 7, 11, 13], "weight": [1, 5, 7, 8, 10, 11, 13], "slightli": 1, "differ": [1, 2, 5, 7, 11], "wu_var_ref": 1, "create_wu_var_ref": [1, 6, 7, 13], "g": [1, 2, 5, 7, 10, 11], "cu_wu_var_ref": 1, "customupdatewu": [1, 6, 7], "oper": [1, 2, 5, 7, 8], "anoth": [1, 7], "group": [1, 5, 7, 8], "": [0, 1, 2, 5, 7, 10, 11, 13], "state": [1, 2, 5, 7, 8, 10], "updatebasehash": [], "These": [1, 2, 7], "also": [1, 2, 5, 7], "addit": 1, "featur": [1, 2, 8], "thei": [1, 2, 5, 7, 8], "link": 1, "transpos": [1, 7, 13], "wu_transpose_var_ref": 1, "back_sg": 1, "tranpos": [1, 7, 13], "dimens": 1, "e": [1, 2, 5, 7, 11, 13], "its": [1, 7], "_postsynaptic_": 1, "ha": [1, 2, 5, 7], "number": [1, 3, 5, 7, 8, 10, 11, 13], "_presynaptic_": [1, 2, 7], "vice": 1, "versa": 1, "after": [1, 2, 5, 7, 10], "run": [1, 2, 5, 7], "made": [1, 5, 7, 8], "forward": [1, 2, 7], "appli": [1, 2, 5, 7, 11], "_": [1, 2, 5, 7, 11], "onli": [1, 2, 7, 8, 10], "possibl": [1, 2, 7, 8], "synapsematrixtyp": [1, 2, 6, 7, 8], "dens": [1, 7, 8, 10, 13], "contain": [1, 2, 3, 7], "ad": [1, 2, 7], "pop_nam": [1, 7, 11], "num_neuron": [1, 2, 7, 11], "var": [1, 2, 5, 7, 10, 13], "add": [1, 2, 7, 8, 11, 13], "arg": [7, 10, 11, 13], "new": [2, 7, 8], "neuronmodel": 7, "class": [1, 2, 5, 7], "string": [1, 2, 3, 7, 8], "instanc": [1, 7], "deriv": [2, 5, 7, 13], "genn_wrapp": [], "genn_model": [2, 7], "create_neuron_model": [1, 2, 6, 7, 10, 13], "dict": [1, 7], "initi": [1, 2, 5, 7, 10, 13], "tonic": [1, 7], "izhikevich": [1, 7], "izh_p": [], "02": [1, 2, 7], "b": [1, 5, 7], "2": [0, 1, 2, 7, 10, 11, 13], "65": [1, 7, 11], "d": [1, 7, 11, 13], "6": [0, 1, 7, 11], "condit": [2, 7], "izh_ini": [], "u": [1, 7, 9, 11, 13], "20": [1, 7, 10], "pop1": [1, 7], "user": [1, 2, 3, 5, 7, 8], "mai": [1, 2, 7], "necessit": [], "uniqu": [1, 7, 11], "predefin": [], "detail": [1, 2, 7], "two": [1, 2, 7], "matrix_typ": [1, 7, 11], "target": [1, 2, 7, 8, 11, 13], "weight_update_init": [1, 7], "postsynaptic_init": [1, 7], "connectivity_init": [1, 7], "none": [1, 2, 7, 10, 11, 13], "matrix": [2, 5, 7], "object": [5, 7], "sparseconnectivityinit": [1, 7], "toeplitzconnectivityinit": [1, 7], "input": [1, 10, 11, 13], "cs_name": [1, 7], "current_source_model": [1, 6], "pop": [1, 5, 7, 10, 11], "var_ref": [1, 2, 7, 13], "currentsourcemodel": [], "create_current_source_model": [1, 2, 6, 7, 10], "should": [1, 2, 7, 10], "inject": [1, 2, 7, 10], "cu_nam": [1, 7], "group_nam": [1, 7], "custom_update_model": [1, 6], "egp_ref": [1, 7], "customupdatemodel": [], "customupdatemodelbas": [1, 7], "create_custom_update_model": [1, 2, 6, 7, 13], "extra": [2, 7, 8], "global": [2, 7, 8], "add_custom_connectivity_upd": [1, 7], "syn_group": [1, 7], "custom_conn_update_model": [1, 7], "pre_var": [1, 2, 5, 7, 13], "post_var": [1, 2, 5, 7, 13], "pre_var_ref": [1, 2, 7, 13], "post_var_ref": [1, 2, 7, 13], "perform": [1, 2, 7], "within": [2, 7, 13], "customconnetivityupdatemodel": [], "customconnectivityupdatemodel": [], "create_custom_connectivity_update_model": [1, 2, 6, 7], "presynapt": [1, 2, 7, 13], "function": [1, 2, 5, 7, 8, 11, 13], "implement": [1, 2, 4, 7, 8, 9, 12], "we": [2, 5, 7, 8, 10], "essenti": [2, 7, 13], "c99": [2, 8], "en": 2, "cpprefer": 2, "com": 2, "languag": [2, 3, 8], "No": [2, 7], "preprocessor": 2, "enough": 2, "support": [1, 2, 3, 7, 8], "printf": 2, "debug": [2, 7], "messag": 2, "much": [2, 5], "more": [1, 2, 8, 11], "strstr": 2, "etc": [2, 13], "typedefin": 2, "cannot": [2, 3, 5, 7], "some": [1, 2, 7], "esoter": 2, "octal": 2, "integ": [2, 5, 7], "hexadecim": 2, "point": [2, 5, 7, 11, 13], "liter": 2, "aren": 2, "address": [2, 8], "isn": [2, 8], "On": [2, 5], "local": [2, 7, 8, 9, 12], "assum": [2, 8], "store": [2, 8], "regist": [2, 8], "limit": [2, 8], "when": [0, 1, 2, 5, 7, 8, 10], "deal": [2, 8], "paramet": [2, 7, 8, 10, 11, 13], "arrai": [2, 7, 8, 13], "longer": [2, 7, 8], "do": [2, 5, 7, 8], "stuff": [2, 8], "const": [2, 7, 8, 10, 13], "int": [1, 2, 7, 8, 10, 11, 13], "egpsubset": [2, 8], "egp": [2, 7, 8], "offset": [2, 7, 8, 11], "instead": [2, 7, 8], "overload": [2, 7], "so": [2, 5, 7, 8, 13], "sin": 2, "30": [0, 2, 7], "0f": 2, "resolv": 2, "rather": [1, 2, 7, 8, 10, 11, 13], "than": [1, 2, 7, 10, 11, 13], "doubl": 2, "version": [2, 7, 8], "without": 2, "suffix": [2, 7], "treat": [2, 7], "scalar": [2, 7, 10, 13], "alwai": 2, "0d": 2, "lp64": 2, "data": [1, 2, 5, 10, 11, 13], "platform": [2, 5], "32": [2, 7, 13], "bit": 2, "64": [1, 2, 7], "standard": [1, 2, 7, 10, 11], "librari": [2, 7], "co": 2, "tan": 2, "aco": 2, "asin": 2, "atan": 2, "atan2": 2, "cosh": 2, "sinh": 2, "tanh": [2, 7], "acosh": 2, "asinh": 2, "atanh": 2, "exp": [2, 7, 10, 13], "expm1": 2, "exp2": 2, "pow": [2, 13], "scalbn": 2, "log": [2, 7, 11, 13], "log1p": 2, "log2": 2, "log10": 2, "ldexp": 2, "ilogb": 2, "sqrt": [2, 11, 13], "cbrt": 2, "hypot": 2, "ceil": [2, 7], "floor": 2, "fmod": 2, "round": [2, 10, 11], "rint": 2, "trunc": 2, "nearbyint": 2, "nextaft": 2, "remaind": 2, "fab": [2, 13], "fdim": 2, "fmax": [2, 7, 10, 13], "fmin": [2, 7, 10, 13], "erf": 2, "erfc": 2, "tgamma": 2, "lgamma": 2, "copysign": 2, "fma": 2, "min": [2, 7, 11, 13], "max": [2, 7, 10, 11, 13], "ab": [2, 11], "form": [2, 7, 8], "nois": [1, 2, 7, 13], "probabilist": 2, "mechan": [2, 7], "In": [1, 2, 5, 7, 8, 11], "gennrand_uniform": [2, 7], "drawn": [2, 7], "uniformli": [2, 7], "interv": 2, "gennrand_norm": [2, 7], "distribut": [1, 2, 7, 10, 11], "deviat": [1, 2, 7, 11], "gennrand_exponenti": 2, "exponenti": [1, 2, 7, 13], "lambda": [2, 7, 13], "gennrand_log_norm": 2, "std": 2, "gennrand_gamma": 2, "alpha": [2, 7, 13], "gamma": [2, 7], "shape": [1, 2, 7, 10], "gennrand_binomi": 2, "n": [2, 7, 10, 11], "p": [0, 2, 7, 11], "binomi": [2, 7], "pass": [2, 7, 8], "numer": [1, 2, 7], "popul": [2, 5, 7, 10, 11, 13], "being": [2, 7], "enhanc": 2, "effici": [1, 2, 7], "comput": [0, 2, 7, 13], "friendli": [2, 5], "provid": [1, 2, 5, 7], "decai": [2, 7], "each": [1, 2, 5, 7, 10, 13], "timestep": [1, 2, 5, 7, 10, 11, 13], "tau": [1, 2, 5, 7, 10, 11, 13], "one": [2, 7], "bwlo": 2, "derived_param": [2, 7, 13], "exptc": [2, 13], "par": [2, 7, 13], "dt": [2, 7, 10, 11, 13], "create_var_init_snippet": [1, 2, 6, 7], "class_nam": [2, 7], "str": [1, 2, 7, 13], "tupl": [2, 7], "resolvedtyp": [2, 7], "param_nam": [2, 7], "var_init_cod": [2, 7], "extra_global_param": [2, 5, 7, 13], "refer": [2, 3, 7, 8], "read": [2, 7], "repres": [2, 7], "simul": [0, 2, 3, 7, 10, 11], "step": [2, 5, 7, 10], "And": [2, 7], "id": [2, 7, 11, 13], "index": [2, 3, 7, 11, 13], "start": [2, 7, 13], "zero": [1, 2, 5, 7, 13], "id_pr": [2, 7], "id_post": [2, 7], "num_pr": [2, 7], "num_post": [2, 7], "final": [1, 2, 7], "write": [2, 7, 8, 11], "option": [2, 7, 8], "callabl": [2, 7], "calcul": [1, 2, 7, 11, 13], "paramss": [2, 7], "statement": [2, 7], "requir": [2, 5, 7, 8, 13], "want": [2, 5, 7, 8, 10], "sampl": [1, 2, 7], "redraw": [2, 7], "neg": [2, 7], "ensur": [2, 7], "remain": [2, 7], "causal": [2, 7], "normal_positive_model": [2, 7], "normal_posit": [2, 7], "stat": [2, 7, 11], "behaviour": [1, 2, 3, 7], "varaccess": [1, 2, 6, 7], "var_name_typ": [], "sim_cod": [2, 7, 10, 13], "threshold_condition_cod": [2, 7, 10, 13], "reset_cod": [2, 7, 10, 13], "additional_input_var": [2, 7, 13], "auto_refractory_requir": [2, 7], "bool": [2, 7], "fals": [2, 7, 10, 11, 13], "isyn": [2, 7, 10, 13], "total": [2, 4, 7, 11, 12], "incom": [2, 7], "access": [1, 2, 5, 7], "modifi": [2, 7], "everi": [1, 2, 7, 11, 13], "threshold": [2, 7], "express": [2, 7, 13], "test": [2, 7, 10], "whether": [1, 2, 7], "emit": [2, 5, 7], "reset": [1, 2, 7, 10, 13], "list": [2, 7, 11], "doe": [2, 7, 8], "auto": [2, 7, 10], "refractori": [2, 7], "logic": [2, 7], "leaki": [2, 7], "integr": [2, 7, 10, 13], "frac": [2, 7], "dv": [2, 7], "i_": [2, 7], "rm": [2, 7], "syn": [1, 2, 7], "solv": [2, 7], "euler": [2, 7], "method": [2, 5, 7], "leaky_integrator_model": [2, 7], "leaky_integr": [2, 7], "read_writ": [2, 7], "receiv": [2, 7], "linear": [2, 7], "sum": [2, 7, 10, 13], "come": [2, 7], "through": [2, 7, 11, 13], "combin": [2, 7], "non": [2, 7], "linearli": [2, 7], "our": [2, 7], "product": [2, 7], "isyn2": [2, 7], "driven": [2, 7], "what": [1, 2, 3, 7], "output": [1, 2, 7, 10, 11, 13], "deliv": [1, 2, 7, 10], "create_weight_update_model": [1, 2, 6, 7, 10, 13], "pre_var_name_typ": [2, 7], "post_var_name_typ": [2, 7], "pre_neuron_var_ref": [2, 7, 13], "varaccessmod": [2, 6, 7], "post_neuron_var_ref": [2, 7, 13], "pre_spike_syn_cod": [2, 7, 10, 13], "event_cod": [], "pre_event_syn_cod": [2, 7], "post_event_syn_cod": [2, 7], "learn_post_cod": [], "post_spike_syn_cod": [2, 7, 10], "synapse_dynamics_cod": [2, 7, 13], "event_threshold_condition_cod": [], "pre_event_threshold_condition_cod": [2, 7], "post_event_threshold_condition_cod": [2, 7], "pre_spike_cod": [2, 7, 13], "post_spike_cod": [2, 7], "pre_dynamics_cod": [2, 7, 13], "post_dynamics_cod": [2, 7, 13], "assumpt": [2, 7], "addtopost": [2, 7, 13], "inc": [2, 7], "amount": [2, 7], "dendrit": [2, 7, 11], "insert": [2, 7], "between": [1, 2, 5, 7, 11, 13], "addtopostdelai": [2, 7], "onc": [1, 2, 5, 7, 10], "again": [2, 7], "length": [2, 7], "heterogen": [2, 7], "weightupdatemodel": [2, 7], "staticpulsedendriticdelai": [2, 7, 11], "simpl": [2, 3, 7], "maximum": [2, 7, 11], "max_dendritic_delay_timestep": [2, 7, 11], "properti": [2, 5, 7], "One": [2, 5, 7], "effect": [2, 7], "occur": [1, 2, 7], "revers": [2, 7, 11], "direct": [2, 7], "term": [0, 1, 2, 7], "addtopr": [2, 7], "v_post": [2, 7], "would": [1, 2, 5, 7], "_outgoing_": [2, 7], "accumul": [1, 2, 7], "set": [1, 2, 5, 7, 8, 10, 11], "pre_target_var": [2, 7], "unlik": [2, 7], "action": [2, 7, 10, 11, 13], "directli": [2, 5, 7, 8], "indic": [2, 5, 7, 11, 13], "stdp": [2, 7, 10], "rule": [2, 7, 10, 13], "nearest": [2, 7], "neighbour": [2, 7], "pair": [1, 2, 7], "depend": [2, 7], "delta": [2, 7], "w_": [2, 7], "ij": [2, 7], "begin": [2, 7], "case": [2, 7], "a_": [2, 7], "left": [2, 7], "tau_": [2, 7], "right": [2, 7], "leq0": [2, 7], "end": [2, 7, 10, 11, 13], "fulli": [1, 2, 7], "manner": [2, 7], "stdp_additive_model": [2, 7], "stdp_addit": [2, 7], "tauplu": [2, 7], "tauminu": [2, 7], "aplu": [2, 7], "aminu": [2, 7], "wmin": [2, 7, 10, 13], "wmax": [2, 7, 10, 13], "st_post": [2, 7, 10], "newweight": [2, 7, 10], "st_pre": [2, 7, 10], "memori": [1, 2, 5, 7, 10], "cost": [2, 7], "tend": [2, 7], "grow": [2, 7], "o": [2, 7], "therefor": [2, 7], "basi": [2, 7], "good": [2, 7], "idea": [2, 7], "extend": [2, 5, 7], "_trace_": [2, 7], "stdp_additive_2_model": [2, 7], "create_custom_weight_update_class": [2, 7], "stdp_additive_2": [2, 7], "pretrac": [2, 7], "posttrac": [2, 7], "tauplusdecai": [2, 7], "tauminusdecai": [2, 7], "previous": [2, 5, 7], "intern": [2, 7], "continu": [2, 7], "od": [2, 7], "typic": [1, 2, 7], "computation": [2, 7], "veri": [1, 2, 5, 7], "costli": [2, 7], "becaus": [2, 5, 7], "larg": [2, 7], "discuss": [2, 5, 7], "context": [2, 7], "rate": [2, 7, 11, 13], "contin": [2, 7], "definit": [2, 7], "v_pre": [2, 7], "trigger": [1, 2, 7], "evalu": [2, 7], "involv": [2, 7], "respect": [2, 7, 8], "voltag": [2, 7], "greater": [2, 7], "end_toggle_cod": [], "whenev": [2, 7], "true": [2, 5, 7, 10, 11, 13], "add_cpp_python_text": [], "set_event_cod": [], "macro": [], "execut": [1, 2, 4, 7, 12], "staticgrad": 7, "set_needs_pre_spike_event_tim": [], "set_needs_prev_pre_spike_event_tim": [], "is_pre_spike_event_time_requir": [], "is_prev_pre_spike_event_time_requir": [], "set_pr": [], "prev_set_pr": [], "how": [1, 2, 7, 10, 11], "translat": [1, 2], "equat": [2, 7], "over": [1, 2, 5], "create_postsynaptic_model": [1, 2, 6, 7, 13], "decay_cod": [], "apply_input_cod": [], "injectcurr": [2, 7, 10], "x": [2, 5, 7], "goe": [2, 7], "post_target_var": [2, 7, 13], "injection_cod": [2, 7, 10], "helper": [11, 13], "target_var": [2, 7], "row_update_cod": [2, 7], "host_update_cod": [2, 7], "design": [2, 7], "issu": [2, 7], "regard": [2, 7], "accompani": [2, 7], "push": [2, 7, 10], "pull": [2, 7], "illustr": [2, 7], "abov": [2, 5, 7, 8], "launch": [2, 5, 7], "main": [2, 7], "abil": [2, 7], "diagon": [2, 7, 8], "remove_diagonal_model": [2, 7], "remove_diagon": [2, 7], "for_each_synaps": [2, 7, 8], "remove_synaps": [2, 7], "break": [2, 7, 13], "similarli": [2, 5, 7], "back": [2, 7], "add_diagonal_model": [2, 7], "add_diagon": [2, 7], "add_synaps": [2, 7], "import": [2, 5, 7, 10, 11, 13], "lot": [2, 7], "_might_": [2, 7], "automat": [1, 2, 7, 11], "detect": [2, 7], "shuffl": [2, 7], "around": [2, 7], "accordingli": [2, 7], "fine": [2, 7], "know": [2, 7], "If": [2, 3, 5, 7, 13], "need": [1, 2, 5, 7, 8], "hook": [2, 7], "abl": [2, 7], "previou": [1, 2, 5, 7, 13], "common": [2, 5, 7], "scenario": [2, 7], "determin": [2, 7, 10, 11], "element": [2, 5, 7], "row": [2, 7, 8, 13], "get": [2, 7, 11, 13], "befor": [2, 5, 7], "postind": [2, 7], "unsign": [2, 7, 13], "pushpostindtodevic": [2, 7], "mlgenn": 0, "machin": [1, 3], "learn": [0, 1, 2, 3, 7, 10, 13], "neural": [0, 3], "snn": [0, 2], "foundat": [], "construct": [2, 3, 5, 7], "build": [2, 3, 5, 7, 8, 10, 11, 13], "api": [3, 5], "inspir": [4, 9, 12], "modern": [], "ml": [], "kera": [], "aim": 8, "reduc": [2, 7, 8, 13], "cognit": [], "load": [5, 7, 10, 11, 13], "layer": 11, "hyperparamet": [], "enabl": [0, 1, 5, 11], "rapid": [], "prototyp": [], "upgrad": 3, "4": [3, 7, 11], "custom": [3, 7, 10, 13], "bibliographi": 3, "project": [3, 10, 11], "search": [3, 7], "page": 3, "00": [4, 12], "000": [4, 12], "file": [4, 7, 12, 13], "galleri": [4, 9, 10, 11, 13], "mem": [4, 12], "mb": [4, 12], "mnist": [4, 9, 12], "classif": [4, 9, 12], "insect": [4, 9, 12], "mushroom": [4, 9, 12], "bodi": [4, 9, 12], "userproject": [4, 7, 12], "mnist_mb_classifi": [4, 10, 12], "py": [4, 10, 11, 12, 13], "potjans_microcircuit_pygenn": 4, "superspik": [0, 4, 9, 12], "superspike_demo": [4, 12, 13], "packag": [3, 6], "customconnectivityupd": [6, 7], "customupdatevaraccess": [1, 2, 6, 7], "parallelismhint": [6, 7], "plogsever": [6, 7], "synapsematrixconnect": [6, 7], "synapsematrixweight": [6, 7], "varaccessdim": [6, 7], "varaccessmodeattribut": [6, 7], "varloc": [1, 5, 6, 7, 11], "create_egp_ref": [1, 6, 7], "create_psm_egp_ref": [6, 7], "create_sparse_connect_init_snippet": [1, 2, 6, 7], "create_toeplitz_connect_init_snippet": [1, 2, 6, 7], "create_wu_egp_ref": [6, 7], "get_var_access_dim": [6, 7], "init_postsynapt": [1, 6, 7, 8, 10, 11, 13], "init_sparse_connect": [1, 6, 7, 10, 11], "init_toeplitz_connect": [1, 6, 7], "init_weight_upd": [1, 6, 7, 8, 10, 11, 13], "submodul": 6, "cuda_backend": 6, "custom_connectivity_update_model": [1, 6], "init_sparse_connectivity_snippet": [1, 6], "init_toeplitz_connectivity_snippet": [1, 6], "libgenn_cuda_backend_dynam": 6, "libgenn_dynam": 6, "libgenn_single_threaded_cpu_backend_dynam": 6, "neuron_model": [1, 6], "postsynaptic_model": 6, "runtim": [5, 6], "single_threaded_cpu_backend": 6, "weight_update_model": [1, 6], "pybind11_object": 7, "currentsourcemixin": 7, "get_var_loc": 7, "self": 7, "_genn": 7, "arg0": 7, "set_param_dynam": [5, 7, 13], "set_var_loc": 7, "arg1": 7, "var_initialis": 7, "customconnectivityupdatemixin": 7, "get_post_var_loc": 7, "get_pre_var_loc": 7, "post_var_initialis": 7, "post_var_refer": 7, "pre_var_initialis": 7, "pre_var_refer": 7, "set_post_var_loc": 7, "set_pre_var_loc": 7, "synapse_group": 7, "update_group_nam": 7, "var_refer": 7, "customupdatebas": 7, "customupdatemixin": 7, "member": [1, 7], "read_onli": [2, 7], "read_only_shar": 7, "read_only_shared_neuron": 7, "reduce_batch_sum": [2, 7], "reduce_batch_max": [2, 7], "reduce_neuron_sum": [2, 7], "reduce_neuron_max": [2, 7], "33": 7, "84": 7, "76": 7, "52": 7, "44": 7, "customupdatewumixin": 7, "model_nam": 7, "time_precis": 7, "genn_log_level": 7, "warn": 7, "code_gen_log_level": 7, "transpiler_log_level": 7, "runtime_log_level": 7, "backend_log_level": 7, "preference_kwarg": 7, "modelspecintern": 7, "help": [7, 10, 11, 13], "current": [0, 3, 5, 7, 10, 11], "sourc": [7, 9, 10, 11, 13], "connect": [0, 7, 8, 10, 11], "neuron": [3, 5, 10, 11, 13], "backend_nam": 7, "path_to_model": 7, "always_rebuild": 7, "never_rebuild": 7, "path": 7, "place": [1, 5, 7], "directori": 7, "rebuilt": 7, "even": 7, "doesn": [7, 11], "appear": 7, "never": 7, "ever": 7, "prevent": 7, "overwrit": 7, "custom_upd": [7, 13], "free_device_mem_byt": 7, "get_custom_update_tim": [7, 13], "get_custom_update_transpose_tim": [7, 13], "init_sparse_tim": [7, 11, 13], "init_tim": [7, 11, 13], "num_recording_timestep": [5, 7, 10, 11, 13], "share": [1, 2, 5, 7], "neuron_update_tim": [7, 11, 13], "postsynaptic_update_tim": 7, "presynaptic_update_tim": [7, 11, 13], "pull_recording_buffers_from_devic": [5, 7, 10, 11, 13], "record": [7, 10, 11, 13], "buffer": 7, "step_tim": [5, 7, 10, 11, 13], "make": [2, 3, 5, 7, 13], "synapse_dynamics_tim": [7, 13], "unload": 7, "neurongroupmixin": 7, "num_delay_slot": 7, "prev_spike_time_loc": 7, "prev_spike_time_requir": 7, "recording_zero_copy_en": 7, "spike_event_recording_en": [5, 7], "spike_recording_en": [5, 7, 10, 11, 13], "spike_time_loc": 7, "spike_time_requir": 7, "word_packed_bitmask": 7, "fatal": 7, "error": [5, 7, 13], "info": 7, "verbos": 7, "5": [1, 7, 8, 10, 11, 13], "synapsegroupmixin": 7, "axonal_delay_step": [7, 8], "back_prop_delay_step": 7, "dendritic_delay_loc": 7, "get_ps_var_loc": 7, "get_wu_post_var_loc": 7, "get_wu_pre_var_loc": 7, "get_wu_var_loc": 7, "kernel_s": 7, "max_connect": 7, "max_source_connect": 7, "narrow_sparse_ind_en": 7, "num_threads_per_spik": [7, 11], "output_loc": 7, "parallelism_hint": 7, "ps_initialis": 7, "set_ps_param_dynam": 7, "set_ps_var_loc": 7, "set_wu_param_dynam": 7, "set_wu_post_var_loc": 7, "set_wu_pre_var_loc": 7, "set_wu_var_loc": 7, "sparse_connectivity_initialis": 7, "sparse_connectivity_loc": 7, "toeplitz_connectivity_initialis": 7, "wu_initialis": 7, "bitmask": [1, 2, 7], "spars": [1, 5, 7, 8, 10, 11, 13], "procedur": [1, 2, 7, 8, 11], "toeplitz": [1, 7, 8], "8": [7, 11], "16": 7, "dense_proceduralg": [1, 7, 8], "procedural_kernelg": [1, 7, 8], "66": 7, "129": 7, "136": 7, "264": 7, "68": 7, "272": 7, "individu": 7, "kernel": [1, 2, 5, 7, 11, 13], "256": [7, 13], "128": 7, "read_only_dupl": [2, 7], "97": 7, "batch": [1, 5], "reduce_sum": [2, 7], "reduce_max": [2, 7], "12": [0, 7], "zero_copi": 7, "host_devic": [1, 7], "host_device_zero_copi": [1, 7], "7": [1, 7, 11], "update_cod": [2, 7, 13], "extra_global_param_ref": [2, 7], "kwarg": 7, "egprefer": [1, 7], "varrefer": [1, 7], "row_build_cod": [2, 7], "col_build_cod": [2, 7], "calc_max_row_len_func": [2, 7], "calc_max_col_len_func": [2, 7], "calc_kernel_size_func": [2, 7], "initsparseconnectivitysnippet": [], "first": [2, 5, 7, 11, 13], "second": [11, 13], "inherit": [], "derivedparamfunc": [], "column": [2, 7], "calcmaxlengthfunc": [], "col": 13, "calckernelsizefunc": [], "diagonal_build_cod": [2, 7], "inittoeplitzconnectivitysnippet": [], "var_nam": [7, 10], "transpose_sg": 7, "transpose_var_nam": 7, "wuvarrefer": [1, 7], "init": [1, 7, 8, 11, 13], "initsparseconnectivitysnippetbas": [1, 7], "init_toeplitz_connect_snippet": [1, 7], "varinit": [1, 7], "initvarsnippet": 7, "initvarsnippetbas": [1, 7], "backendbas": 7, "blocksizeselect": 7, "occup": 7, "deviceselect": 7, "optim": [1, 7], "most_memori": 7, "preferencesbas": 7, "block_size_select_method": 7, "constant_cache_overhead": 7, "device_select_method": 7, "enable_nccl_reduct": 7, "generate_line_info": 7, "manual_block_s": 7, "show_ptx_info": 7, "statebas": 7, "nccl_generate_unique_id": 7, "nccl_init_commun": 7, "nccl_unique_id": 7, "create_backend": 7, "arg2": 7, "arg3": 7, "dc": [7, 11], "currentsourcemodelbas": [1, 7], "gaussiannois": [1, 7], "poissonexp": [7, 11], "conv2d": [1, 7], "fixednumberpostwithreplac": 7, "fixednumberprewithreplac": [7, 10], "fixednumbertotalwithreplac": [7, 11], "fixedprob": [1, 7], "fixedprobabilitynoautaps": 7, "onetoon": 7, "uninitialis": 7, "avgpoolconv2d": 7, "inittoeplitzconnectivitysnippetbas": [1, 7], "normalclip": [7, 11, 13], "normalclippeddelai": [7, 11], "uniform": 7, "neuronmodelbas": [1, 7], "izhikevichvari": 7, "lif": [7, 10, 11], "poisson": [7, 13], "poissonnew": 7, "rulkovmap": 7, "spikesourc": 7, "spikesourcearrai": [7, 13], "traubmil": 7, "traubmilesalt": 7, "traubmilesfast": 7, "traubmilesnstep": 7, "deltacurr": [7, 10, 13], "postsynapticmodelbas": [1, 7], "expcond": [1, 7], "expcurr": [1, 7, 10, 11, 13], "arraybas": [5, 7], "host_view": 7, "pull_from_devic": [5, 7, 10, 13], "pull_slice_1d_from_devic": 7, "push_slice_1d_to_devic": 7, "push_to_devic": [5, 7, 10, 13], "alloc": [1, 5, 7], "allocate_arrai": 7, "get_arrai": 7, "get_delay_point": 7, "get_recorded_post_spike_ev": 7, "numpi": [7, 10, 11, 13], "ndarrai": [1, 7], "float64": 7, "int32": 7, "get_recorded_pre_spike_ev": 7, "get_recorded_spik": 7, "initialize_spars": 7, "set_dynamic_param_valu": [5, 7, 13], "numericvalu": 7, "piecewisestdp": 7, "weightupdatemodelbas": [1, 7], "staticpuls": [7, 8, 10], "staticpulseconstantweight": [1, 7, 8, 10], "backward": 8, "compat": 8, "strive": 8, "most": 8, "updat": [5, 8, 11, 13], "wa": [5, 8], "underli": 8, "compil": 8, "wherea": [5, 8], "pars": 8, "subset": 8, "variabl": [8, 10, 13], "old": 8, "xx": [7, 8], "necessari": [8, 11], "order": [5, 7, 8, 11, 13], "streamlin": 8, "process": [1, 5, 8], "achiev": [7, 8], "thing": [2, 8], "maintain": [3, 8], "sever": [1, 2, 7, 8], "area": 8, "psm": 8, "were": 8, "realli": 8, "ugli": 8, "confus": 8, "now": 8, "just": [5, 8], "let": 8, "whatev": 8, "sort": [2, 7, 8, 13], "loop": [2, 5, 7, 8, 11, 13], "outsid": 8, "reus": 8, "similar": [1, 8], "globalg": 8, "individualg": 8, "almost": [5, 8], "Then": 8, "ve": 8, "renam": 8, "obviou": 8, "variant": [7, 8], "chose": 8, "unusu": 8, "pointer": 8, "await": 8, "pr": 8, "settabl": 8, "replac": [2, 7, 8], "remov": 8, "implicit": [7, 8], "refernec": 8, "below": [7, 9], "develop": [3, 9, 11, 13], "download": [9, 10, 11, 13], "userproject_python": 9, "zip": [9, 13], "jupyt": [9, 10, 11, 13], "notebook": [9, 10, 11, 13], "userproject_jupyt": 9, "sphinx": [9, 10, 11, 13], "go": [1, 10, 11, 13], "plot": [10, 11, 13], "argpars": [10, 11, 13], "argumentpars": [10, 11, 13], "tqdm": 10, "factor": [10, 11], "convert": [7, 10, 13], "normalis": 10, "imag": [7, 10], "pixel": 10, "na": [7, 10, 11], "input_scal": 10, "80": [1, 7, 10, 13], "stimul": 10, "correct": [2, 7, 10], "mbon": 10, "train": [1, 10, 13], "mbon_stimulus_curr": 10, "match": [10, 11], "num_pn": 10, "784": 10, "kenyon": 10, "capac": [7, 10], "num_kc": 10, "20000": 10, "num_mbon": 10, "present": [1, 10], "present_time_m": 10, "lif_param": [10, 11], "taum": [10, 11], "vrest": [7, 10, 11, 13], "60": [10, 13], "vreset": [10, 11], "vthresh": [10, 11, 13], "50": [7, 10, 11, 13], "ioffset": [10, 11], "taurefrac": [10, 11, 13], "pn": 10, "pn_param": 10, "100": [5, 10, 11], "pn_kc_weight": 10, "pn_kc_tau_syn": 10, "pn_kc_fan_in": 10, "kc": 10, "ggn": 10, "inhibit": 10, "200": [10, 13], "ggn_param": 10, "kc_mbon_tau_syn": 10, "kc_mbon_param": 10, "15": [7, 10], "rho": 10, "eta": 10, "00002": 10, "cs_model": 10, "magnitud": [2, 7, 10], "minim": [7, 10], "fire": [7, 10, 11], "if_model": 10, "IF": [7, 10], "symmetr": 10, "symmetric_stdp": 10, "cli": [10, 13], "parser": [10, 11, 13], "add_argu": [10, 11, 13], "store_tru": [10, 11, 13], "save": [5, 10, 11, 13], "parse_arg": [10, 11, 13], "reshap": [10, 13], "test_imag": 10, "els": [10, 11, 13], "train_imag": 10, "astyp": 10, "float32": [10, 11], "axi": [10, 13], "newaxi": 10, "label": 10, "test_label": 10, "train_label": 10, "mnist_mb": 10, "lif_init": [10, 11], "refractim": [10, 11, 13], "if_init": 10, "turn": [10, 13], "pn_input": 10, "supervis": [0, 10], "mbon_input": 10, "synaps": [3, 5, 8, 10, 11, 13], "pn_kc_connect": 10, "num": [2, 7, 10, 11, 13], "pn_kc": 10, "pn_kc_ind": 10, "npy": [5, 10], "set_sparse_connect": [7, 10], "kc_ggn": 10, "ggn_kc": 10, "kc_mbon_weight_upd": 10, "kc_mbon_g": 10, "kc_mbon": 10, "present_timestep": 10, "def": [10, 11, 13], "reset_spike_tim": 10, "spike_tim": [5, 10, 11], "view": [7, 10, 13], "finfo": [10, 11], "reset_out_post": 10, "out_post": 10, "reset_neuron": 10, "var_init": 10, "var_val": 10, "item": [10, 11], "num_correct": 10, "rang": [7, 10, 13], "count": [10, 13], "mbon_spike_tim": 10, "mbon_spike_id": 10, "spike_recording_data": [5, 7, 10, 11, 13], "len": [10, 11, 13], "argmin": 10, "print": [10, 11, 13], "f": [0, 7, 10, 11, 13], "pull_connectivity_from_devic": [7, 10], "weigh": 10, "kc_mbon_g_view": 10, "vstack": [10, 13], "get_sparse_pre_ind": [7, 10], "get_sparse_post_ind": [7, 10], "plot_weight_distribut": 10, "matplotlib": [10, 11, 13], "pyplot": [10, 11, 13], "plt": [10, 11, 13], "fig": [10, 11, 13], "subplot": [10, 11, 13], "figsiz": 10, "hist": 10, "bin": 10, "axvlin": 10, "averag": [7, 10, 13], "linestyl": 10, "set_xlabel": [10, 11, 13], "set_ylabel": [10, 11, 13], "show": [10, 11, 13], "ipynb": [10, 11, 13], "reimplement": [11, 13], "tobia": 11, "marku": 11, "It": [7, 11, 13], "spontan": 11, "asynchron": [5, 11], "irregular": 11, "agreement": 11, "vivo": 11, "awak": 11, "anim": 11, "low": [7, 11], "excitatori": 11, "scipi": [2, 7, 11], "norm": 11, "perf_count": 11, "layer_nam": 11, "23": 11, "population_nam": 11, "dt_m": 11, "background": 11, "background_r": 11, "rel": 11, "inhibitori": 11, "except": [7, 11], "l4e": 11, "l2": 11, "3e": 11, "mean_w": 11, "87": 11, "8e": 11, "external_w": 11, "801": 11, "paper": [2, 7, 11], "paragraph": 11, "under": [3, 11, 13], "parameter": 11, "caption": 11, "supplementari": 11, "layer_23_4_w": 11, "rel_w": 11, "mention": 11, "chosen": [5, 11], "origin": [7, 11], "layer_23_4_relw": 11, "20683": 11, "5834": 11, "21915": 11, "5479": 11, "4850": 11, "1065": 11, "14395": 11, "2948": 11, "probabl": [1, 7, 11], "given": [7, 11], "connection_probabilti": 11, "23e": 11, "1009": 11, "23i": 11, "1689": 11, "4e": 11, "0437": 11, "4i": 11, "0818": 11, "5e": 11, "0323": 11, "5i": 11, "6e": 11, "0076": 11, "6i": 11, "1346": 11, "1371": 11, "0316": 11, "0515": 11, "0755": 11, "0042": 11, "0077": 11, "0059": 11, "0497": 11, "135": 11, "0067": 11, "0003": 11, "0453": 11, "0691": 11, "0029": 11, "0794": 11, "1597": 11, "0033": 11, "1057": 11, "1004": 11, "0622": 11, "0505": 11, "0057": 11, "0831": 11, "3726": 11, "0204": 11, "0548": 11, "0269": 11, "0257": 11, "0022": 11, "06": 11, "3158": 11, "0086": 11, "0156": 11, "0066": 11, "0211": 11, "0166": 11, "0572": 11, "0197": 11, "0396": 11, "2252": 11, "0364": 11, "001": [11, 13], "0034": 11, "0005": 11, "0277": 11, "0658": 11, "1443": 11, "degre": 11, "extern": [7, 11], "num_external_input": 11, "1600": 11, "1500": 11, "2100": 11, "1900": 11, "2000": 11, "2900": 11, "somewhat": [7, 11], "realiz": 11, "mean_firing_r": 11, "971": 11, "868": 11, "746": 11, "396": 11, "142": 11, "9": [11, 13], "078": 11, "991": 11, "523": 11, "mean_delai": 11, "75": 11, "delay_sd": 11, "375": 11, "get_scaled_num_neuron": 11, "neuron_scal": 11, "get_full_num_input": 11, "src_layer": 11, "src_pop": [1, 7, 11], "trg_layer": 11, "trg_pop": 11, "num_src": 11, "num_trg": 11, "connection_prob": 11, "get_mean_weight": 11, "get_scaled_num_connect": 11, "connectivity_scal": 11, "num_input": [11, 13], "assert": 11, "multipli": [2, 7, 11], "get_full_mean_input_curr": 11, "mean_input_curr": 11, "get_pars": [10, 11, 13], "durat": [7, 11], "1000": [11, 13], "profil": [11, 13], "creation": 11, "potjans_microcircuit": [11, 12], "fuse_postsynaptic_model": 11, "default_narrow_sparse_ind_en": 11, "timing_en": [11, 13], "kernel_profil": [11, 13], "default_var_loc": 11, "default_sparse_connectivity_loc": 11, "58": 11, "poisson_init": 11, "exp_curr_init": 11, "quantil": 11, "9999": [2, 7, 11], "normal_quantile_cdf": 11, "ppf": [2, 7, 11], "max_delai": 11, "fm": 11, "slot": 11, "note": [1, 3, 7, 11, 13], "seem": 11, "ineffici": [5, 7, 11], "aggress": 11, "merg": 11, "max_dendritic_delay_slot": 11, "total_neuron": 11, "neuron_popul": 11, "ext_input_r": 11, "ext_weight": 11, "ext_input_curr": 11, "25": [7, 11], "poisson_param": 11, "tausyn": [7, 11], "pop_siz": 11, "neuron_pop": 11, "_poisson": 11, "tpopul": 11, "dictionari": [1, 5, 7, 11], "total_synaps": 11, "num_sub_row": 11, "procedural_connect": 11, "trg_name": 11, "src_name": 11, "mean_weight": 11, "weight_sd": 11, "num_connect": 11, "tconnect": 11, "numconnect": 11, "meanweight": 11, "weightsd": 11, "meandelai": 11, "delaysd": 11, "fix": [2, 7, 11, 13], "connector": 11, "connect_param": 11, "d_dist": 11, "synapse_nam": 11, "hack": 11, "cast": 11, "w_dist": 11, "static_synapse_init": 11, "syn_pop": 11, "span": 11, "duration_timestep": 11, "ten_percent_timestep": 11, "sim_start_tim": 11, "advanc": 11, "sim_end_tim": 11, "tsimul": 11, "tinit": 11, "tspars": 11, "tneuron": 11, "tsynaps": 11, "save_data": [11, 13], "csv": [11, 13], "savetxt": [11, 13], "_spike": 11, "column_stack": [11, 13], "delimit": [11, 13], "fmt": [11, 13], "header": [11, 13], "figur": [7, 11], "ax": [11, 13], "yuck": 11, "re": [5, 11, 13], "ordered_neuron_popul": 11, "start_id": 11, "bar_i": 11, "spike_id": [5, 11], "actor": 11, "scatter": [11, 13], "edgecolor": [11, 13], "bar": 11, "colour": 11, "barh": 11, "align": 11, "center": 11, "color": 11, "get_facecolor": 11, "ecolor": 11, "black": 11, "po": 11, "firingr": 11, "hz": [7, 11], "set_ytick": 11, "set_yticklabel": 11, "spantyp": [], "span_typ": [], "timestep_m": 13, "num_output": 13, "num_hidden": 13, "tau_rise_m": 13, "tau_decay_m": 13, "tau_rms_m": 13, "30000": 13, "tau_avg_err_m": 13, "10000": 13, "r0": 13, "epsilon": 13, "1e": 13, "tau_decay_": 13, "tau_rise_": 13, "tau_avg_err_": 13, "scale_tr_err_flt": 13, "auryn": 13, "unit": [7, 13], "volt": 13, "1000x": 13, "w_min": 13, "w_max": 13, "w0": 13, "experi": 13, "input_freq_hz": 13, "update_time_m": 13, "500": 13, "trial_m": 13, "1890": 13, "update_timestep": 13, "trial_timestep": 13, "calc_t_peak": 13, "tau_ris": 13, "tau_decai": 13, "write_spike_fil": 13, "filenam": 13, "r_max_prop_model": 13, "r_max_prop": 13, "updatetim": 13, "taurm": 13, "upsilon": 13, "updatetimestep": 13, "exprm": 13, "gradient": [1, 2, 7, 13], "superspike_model": 13, "tauris": 13, "taudecai": 13, "beta": [7, 13], "z": 13, "ztilda": 13, "sigmaprim": 13, "errtilda": 13, "filter": [7, 13], "trace": 13, "partial": [3, 13], "oneplushi": 13, "elig": 13, "feedback_model": 13, "feedback": 13, "hidden_neuron_model": 13, "hidden": 13, "taumem": 13, "isynfeedback": 13, "rmembran": 13, "membran": [7, 13], "potenti": [7, 13], "is_auto_refractory_requir": [], "output_neuron_model": 13, "tauavgerr": 13, "errris": 13, "avgsqrerr": 13, "errdecai": 13, "startspik": [7, 13], "endspik": [7, 13], "spiketim": [7, 13], "normfactor": 13, "trisemult": 13, "tdecaymult": 13, "tpeak": 13, "mulavgerr": 13, "spred": 13, "sreal": 13, "mismatch": 13, "temp": 13, "trial": [7, 13], "narg": 13, "oxford": 13, "ra": 13, "600": 13, "record_tri": 13, "target_spik": 13, "loadtxt": 13, "target_fil": 13, "dtype": 13, "neuron_id": 13, "format": [5, 7, 13], "millisecond": 13, "target_neuron_end_tim": 13, "cumsum": 13, "bincount": 13, "minlength": 13, "target_neuron_start_tim": 13, "concaten": 13, "frozen": 13, "input_isi_m": 13, "input_spike_tim": 13, "random": [7, 13], "vector": 13, "reach": 13, "otherwis": [7, 13], "stack": 13, "input_spikes_per_neuron": 13, "togeth": 13, "input_spik": 13, "input_neuron_end_tim": 13, "input_neuron_start_tim": 13, "input_init_var": 13, "hidden_param": 13, "hidden_init_var": 13, "output_param": 13, "output_init_var": 13, "superspike_param": 13, "superspike_pre_init_var": 13, "superspike_post_init_var": 13, "input_hidden_weight_dist_param": 13, "input_hidden_init_var": 13, "hidden_output_weight_dist_param": 13, "hidden_output_init_var": 13, "r_max_prop_param": 13, "descript": 13, "generatelineinfo": 13, "set_init_valu": [5, 7, 13], "any_record": 13, "input_hidden": 13, "inputhidden": 13, "hidden_output": 13, "hiddenoutput": 13, "output_hidden": 13, "outputhidden": 13, "input_hidden_transpos": 13, "calculatetranspos": 13, "input_hidden_optimiser_var_ref": 13, "input_hidden_optimis": 13, "gradientlearn": 13, "hidden_output_optimiser_var_ref": 13, "hidden_output_optimis": 13, "output_avg_sqr_err_var": 13, "current_r0": 13, "hidden_spik": 13, "output_spik": 13, "num_trial": 13, "displai": [7, 13], "perid": 13, "squar": [2, 7, 13], "time_": 13, "mean_error": 13, "0e": 13, "upload": 13, "repeat": 13, "input_spikes_": 13, "hidden_spikes_": 13, "output_spikes_": 13, "append": 13, "sharex": 13, "sharei": 13, "enumer": 13, "start_time_": 13, "890": 13, "sphx_glr_userproject_potjans_microcircuit_pygenn": 4, "usag": [10, 11, 13], "h": [7, 10, 11, 13], "__name__": [10, 11, 13], "__main__": [10, 11, 13], "digit": 10, "zenke2018": [0, 13], "zenk": [0, 13], "ganguli": [0, 13], "2018": 0, "multilay": 0, "1514": 0, "1541": 0, "1162": 0, "neco_a_01086": 0, "knight2018": [0, 2, 7], "knight": [0, 3], "j": 0, "nowotni": [0, 3], "outperform": 0, "hpc": 0, "neuromorph": 0, "solut": 0, "speed": [0, 7], "energi": 0, "highli": 0, "frontier": 0, "neurosci": 0, "decemb": 0, "19": 0, "3389": 0, "fnin": 0, "00941": 0, "turner2022": [0, 2, 7], "turner": 0, "subramanian": 0, "2022": 0, "infer": 0, "engin": 0, "024002": 0, "1088": 0, "2634": 0, "4386": 0, "ac5ac5": 0, "smaller": 1, "occupi": 1, "scenerio": 1, "sweep": 1, "overcom": 1, "rune": 1, "multipl": [1, 2, 7], "speak": [1, 7], "batch_siz": 1, "512": 1, "duplic": [1, 2, 7], "control": 1, "associ": [1, 2, 5, 7], "pleas": [1, 2, 3, 7], "either": [1, 7], "hard": 1, "high": [1, 7], "cach": 1, "often": [1, 5], "snipept": [1, 7], "both": [1, 5, 7], "host": [1, 5], "altern": 1, "newer": 1, "embed": 1, "system": [1, 5], "jetson": 1, "tx1": 1, "physic": 1, "seper": [1, 8], "thu": [1, 5], "Their": 1, "kind": 1, "static": [1, 7], "puls": [1, 7], "weight_init": [1, 7], "postsynaptic_models_model": [1, 7], "conduct": [1, 7], "dense_procedur": 1, "simpli": [1, 7], "prob": [1, 7], "2d": [1, 7], "convolut": [1, 2, 7], "62": [1, 7], "conv_kh": [1, 7], "conv_kw": [1, 7], "conv_ih": [1, 7], "conv_iw": [1, 7], "conv_ic": [1, 7], "conv_oh": [1, 7], "conv_ow": [1, 7], "conv_oc": [1, 7], "4096": [1, 7], "3844": [1, 7], "compon": 1, "init_toeplitz_connectivity_connect": [1, 7], "target_pop": [1, 7], "gaussian": [1, 7], "section": 1, "benefit": 1, "occasion": 1, "classifi": 1, "stimuli": 1, "been": [1, 7], "preced": [1, 7], "simultan": [1, 7], "customconnectivityupdatemodelbas": [1, 7], "customconnectivityupdatemodelbaseupdatemodelbas": [1, 7], "customis": [2, 3], "fly": 2, "id_post_begin": [2, 7], "addsynaps": [2, 7], "binom": [2, 7], "fixed_number_post": [2, 7], "idpost": [2, 7], "short": [2, 7], "up": [2, 3, 7], "text": [2, 7], "look": [2, 3, 5, 7], "invers": [2, 7], "cummul": [2, 7], "cdf": [2, 7], "chanc": [2, 7], "bound": [2, 7], "draw": [2, 7], "independ": [2, 7], "id_diag": [2, 7], "id_kern_0": [2, 7], "id_kern_1": [2, 7], "id_kern_n": [2, 7], "dimension": [2, 7], "insid": [2, 7], "convolv": [2, 7], "kern_dim": [2, 7], "pop_dim": [2, 7], "simple_conv2d_model": [2, 7], "pynn": [2, 7], "simple_conv2d": [2, 7], "kern_siz": [2, 7], "kernrow": [2, 7], "kerncol": [2, 7], "prerow": [2, 7], "precol": [2, 7], "haven": [2, 7], "gone": [2, 7], "off": [2, 7], "edg": [2, 7], "postrow": [2, 7], "postcol": [2, 7], "pre_": [2, 7], "post_": [2, 7], "pre_event_cod": [2, 7], "uniform_noise_model": [2, 7], "uniform_nois": [2, 7], "demand": 2, "reset_model": [2, 7], "mode": [2, 7], "reduce_model": [2, 7], "gradient_batch_reduc": [2, 7], "reducedgradi": [2, 7], "neuron_reduc": [2, 7], "softwar": 3, "nvidia": 3, "genncod": 3, "find": 3, "contact": 3, "dr": 3, "jame": 3, "prof": 3, "thoma": 3, "epsrc": 3, "grant": 3, "ep": 3, "v052241": 3, "unlock": 3, "research": 3, "p006094": 3, "brain": 3, "board": 3, "j019690": 3, "green": 3, "lazi": 5, "hasn": 5, "chang": [5, 7], "instantan": [5, 7], "report": 5, "simplest": 5, "synchronis": 5, "event": 5, "natur": [5, 7], "dedic": 5, "collect": 5, "transfer": 5, "spike_event_recording_data": 5, "real": 5, "interact": 5, "encapsul": 5, "model_preprocessor": [5, 6], "variablebas": [5, 7], "locat": 5, "content": 5, "noth": 5, "recommend": 5, "leav": 5, "work": [5, 7], "transparantli": 5, "To": [5, 8], "current_valu": [5, 7], "transform": [5, 7, 13], "matric": 5, "extract": 5, "wish": 5, "current_view": [5, 7], "behav": 5, "extraglobalparamet": [5, 7], "hold": [5, 7], "psm_extra_global_param": 5, "groupmixin": [5, 7], "increas": 5, "parameterm": 5, "genn_group": 6, "load_init_egp": 7, "get_var_valu": 7, "parent": 7, "pull_extra_global_param_from_devic": 7, "egp_nam": 7, "pull_var_from_devic": 7, "push_extra_global_param_to_devic": 7, "push_var_to_devic": 7, "post_spike_event_recording_data": 7, "pre_spike_event_recording_data": 7, "pull_in_syn_from_devic": 7, "pull_psm_extra_global_param_from_devic": 7, "wrapper": 7, "push_connectivity_to_devic": 7, "push_in_syn_to_devic": 7, "push_psm_extra_global_param_to_devic": 7, "pre_indic": 7, "post_indic": 7, "rag": 7, "weight_update_var_s": 7, "variable_typ": 7, "set_arrai": 7, "view_shap": 7, "variable_nam": 7, "init_valu": 7, "inform": 7, "about": 7, "set_valu": 7, "synapsevari": 7, "delay_group": 7, "valinit_valuesu": 7, "get_snippet": 7, "snippet_base_class": 7, "built_in_snippet_modul": 7, "check": 7, "valid": 7, "nativ": 7, "model_famili": 7, "snippetbas": 7, "rais": 7, "attributeerror": 7, "exist": 7, "someth": 7, "get_var_init": 7, "var_spac": 7, "initials": 7, "map": 7, "prepare_egp": 7, "prepare_param_v": 7, "prepare_var": 7, "var_typ": 7, "becom": [7, 8], "cumbersom": 8, "wors": 8, "take": [7, 8], "improv": 8, "axon": 8, "entri": [7, 11, 13], "friedemann": 13, "surya": 13, "radcliff": 13, "camera": 13, "flag": 7, "differnet": 7, "amp": 7, "amplitud": 7, "noisi": 7, "equival": 7, "channel": 7, "discret": 7, "ascend": 7, "1st": 7, "statist": 7, "npost": 7, "next": 7, "smallest": 7, "special": 7, "stage": 7, "multinomi": 7, "parallelis": 7, "result": 7, "bernoulli": 7, "repeatedli": 7, "geometr": 7, "success": 7, "gap": 7, "devroy": 7, "1986": 7, "invert": 7, "autaps": 7, "recurr": 7, "br": 7, "inneffici": 7, "gemetr": 7, "mark": 7, "cite": 7, "izhikevich2003simpl": 7, "usual": 7, "eqnarrai": 7, "04": 7, "140": 7, "du": 7, "bv": 7, "increment": 7, "mv": 7, "particular": 7, "popular": 7, "though": 7, "due": 7, "strictli": 7, "inconsist": 7, "recoveri": 7, "sensit": 7, "unless": 7, "randomli": 7, "vspike": 7, "trefract": 7, "last": 7, "period": 7, "tspike": 7, "rest": 7, "four": 7, "That": 7, "equal": 7, "undefin": 7, "firingprob": 7, "cdot": 7, "pattern": 7, "leq": 7, "approxim": 7, "math": 7, "correspond": 7, "relev": 7, "especi": 7, "quit": 7, "small": 7, "moder": 7, "worth": 7, "poor": 7, "accord": 7, "timesteptospik": 7, "11": 7, "curand": 7, "rulkov": 7, "rulkov2002": 7, "nowotny2005self": 7, "ll": 7, "v_": 7, "big": 7, "y": 7, "ybig": [], "intend": 7, "prev": 7, "60mv": 7, "shift": 7, "excit": 7, "468": 7, "roughli": 7, "resist": 7, "regul": 7, "omega": 7, "empti": 7, "spikegeneratorgroup": 7, "brian": 7, "globel": 7, "hodgkin": 7, "huxlei": 7, "traub": 7, "mile": 7, "algorithm": 7, "taken": 7, "traub1991": 7, "i_k": 7, "leak": 7, "i_m": 7, "i_i": 7, "g_": 7, "m_i": 7, "h_i": 7, "v_i": 7, "e_": 7, "k": 7, "n_i": 7, "dy": 7, "alpha_i": 7, "beta_i": 7, "y_i": 7, "alpha_n": 7, "032": 7, "1big": [], "beta_n": 7, "5exp": [], "55": 7, "40": 7, "alpha_m": 7, "beta_m": 7, "28": 7, "alpha_h": 7, "128exp": [], "48": 7, "18": 7, "beta_h": 7, "143": 7, "nf": 7, "02672": 7, "mu": 7, "63": 7, "563": 7, "43": 7, "95": 7, "block": 7, "gna": 7, "mohm": 7, "cm": 7, "ena": 7, "equi": 7, "gk": 7, "ek": 7, "gl": 7, "el": 7, "densiti": 7, "muf": 7, "ordinari": 7, "differenti": 7, "ldt": 7, "004": 7, "singular": 7, "hit": 7, "l": 7, "hospit": 7, "workaround": 7, "avoid": 7, "munimum": 7, "fast": 7, "inner": 7, "There": 7, "pool": 7, "intialis": 7, "seldom": 7, "constructor": 7, "distanc": 7, "resampl": 7, "out": 7, "my": 7, "thgenn": 7, "minimum": 7, "expdecai": 7, "expf": 7, "finit": 7, "transmiss": 7, "window": 7, "piecewis": 7, "html": 7, "learn1synapse_explain_html": 7, "png": 7, "latex": 7, "learn1synapse_explain": 7, "width": 7, "10cm": 7, "curv": 7, "raw": 7, "graw": 7, "sugmoid": 7, "obtain": 7, "impli": 7, "unpair": 7, "incur": 7, "henc": 7, "stxx": 7, "arbitrarili": 7, "subject": 7, "sigmoid": 7, "revert": 7, "correctli": 7, "map_classol": 7, "cc": 7, "mbody1": 7, "neuronn": 7, "gkcdn": 7, "scalar_min": 7, "cnt": 7, "fprintf": 7, "stdout": 7, "too": 7, "tmp": 7, "mykcdn_p": 7, "grawkcdn": 7, "cerr": 7, "endl": 7, "lead": 7, "infin": 7, "nomin": 7, "extrem": 7, "act": 7, "g_0": 7, "t_": 7, "compar": 7, "tlrn": 7, "tchng": 7, "tdecai": 7, "strength": 7, "tpunish10": 7, "suppress": 7, "respons": 7, "tpunish01": 7, "gmax": 7, "maxim": 7, "gmid": 7, "midpoint": 7, "gslope": 7, "slope": 7, "taushift": 7, "gsyn0": 7, "grade": 7, "gradual": 7, "gsyn": 7, "larger": 7, "epr": 7, "vslope": 7, "releas": 7, "_pre": 7, "_post": 7, "coupl": 7, "sim": 7}, "objects": {"": [[7, 0, 0, "-", "pygenn"]], "pygenn": [[7, 1, 1, "", "CurrentSource"], [7, 1, 1, "", "CustomConnectivityUpdate"], [7, 1, 1, "", "CustomUpdate"], [7, 1, 1, "", "CustomUpdateVarAccess"], [7, 1, 1, "", "CustomUpdateWU"], [7, 1, 1, "", "GeNNModel"], [7, 1, 1, "", "NeuronGroup"], [7, 1, 1, "", "ParallelismHint"], [7, 1, 1, "", "PlogSeverity"], [7, 1, 1, "", "SynapseGroup"], [7, 1, 1, "", "SynapseMatrixConnectivity"], [7, 1, 1, "", "SynapseMatrixType"], [7, 1, 1, "", "SynapseMatrixWeight"], [7, 1, 1, "", "VarAccess"], [7, 1, 1, "", "VarAccessDim"], [7, 1, 1, "", "VarAccessMode"], [7, 1, 1, "", "VarAccessModeAttribute"], [7, 1, 1, "", "VarLocation"], [7, 5, 1, "", "create_current_source_model"], [7, 5, 1, "", "create_custom_connectivity_update_model"], [7, 5, 1, "", "create_custom_update_model"], [7, 5, 1, "", "create_egp_ref"], [7, 5, 1, "", "create_neuron_model"], [7, 5, 1, "", "create_postsynaptic_model"], [7, 5, 1, "", "create_psm_egp_ref"], [7, 5, 1, "", "create_psm_var_ref"], [7, 5, 1, "", "create_sparse_connect_init_snippet"], [7, 5, 1, "", "create_toeplitz_connect_init_snippet"], [7, 5, 1, "", "create_var_init_snippet"], [7, 5, 1, "", "create_var_ref"], [7, 5, 1, "", "create_weight_update_model"], [7, 5, 1, "", "create_wu_egp_ref"], [7, 5, 1, "", "create_wu_post_var_ref"], [7, 5, 1, "", "create_wu_pre_var_ref"], [7, 5, 1, "", "create_wu_var_ref"], [7, 0, 0, "-", "cuda_backend"], [7, 0, 0, "-", "current_source_models"], [7, 0, 0, "-", "custom_connectivity_update_models"], [7, 0, 0, "-", "custom_update_models"], [7, 0, 0, "-", "genn_groups"], [7, 5, 1, "", "get_var_access_dim"], [7, 5, 1, "", "init_postsynaptic"], [7, 5, 1, "", "init_sparse_connectivity"], [7, 0, 0, "-", "init_sparse_connectivity_snippets"], [7, 5, 1, "", "init_toeplitz_connectivity"], [7, 0, 0, "-", "init_toeplitz_connectivity_snippets"], [7, 5, 1, "", "init_var"], [7, 0, 0, "-", "init_var_snippets"], [7, 5, 1, "", "init_weight_update"], [7, 0, 0, "-", "model_preprocessor"], [7, 0, 0, "-", "neuron_models"], [7, 0, 0, "-", "postsynaptic_models"], [7, 0, 0, "-", "runtime"], [7, 0, 0, "-", "single_threaded_cpu_backend"], [7, 0, 0, "-", "types"], [7, 0, 0, "-", "weight_update_models"]], "pygenn.CurrentSource": [[7, 2, 1, "", "get_var_location"], [7, 3, 1, "", "model"], [7, 3, 1, "", "name"], [7, 3, 1, "", "params"], [7, 2, 1, "", "set_param_dynamic"], [7, 2, 1, "", "set_var_location"], [7, 3, 1, "", "var_initialisers"]], "pygenn.CustomConnectivityUpdate": [[7, 2, 1, "", "get_post_var_location"], [7, 2, 1, "", "get_pre_var_location"], [7, 2, 1, "", "get_var_location"], [7, 3, 1, "", "model"], [7, 3, 1, "", "name"], [7, 3, 1, "", "params"], [7, 3, 1, "", "post_var_initialisers"], [7, 3, 1, "", "post_var_references"], [7, 3, 1, "", "pre_var_initialisers"], [7, 3, 1, "", "pre_var_references"], [7, 2, 1, "", "set_param_dynamic"], [7, 2, 1, "", "set_post_var_location"], [7, 2, 1, "", "set_pre_var_location"], [7, 2, 1, "", "set_var_location"], [7, 3, 1, "", "synapse_group"], [7, 3, 1, "", "update_group_name"], [7, 3, 1, "", "var_initialisers"], [7, 3, 1, "", "var_references"]], "pygenn.CustomUpdate": [[7, 3, 1, "", "num_neurons"], [7, 3, 1, "", "var_references"]], "pygenn.CustomUpdateVarAccess": [[7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_ONLY_SHARED"], [7, 4, 1, "", "READ_ONLY_SHARED_NEURON"], [7, 4, 1, "", "READ_WRITE"], [7, 4, 1, "", "REDUCE_BATCH_MAX"], [7, 4, 1, "", "REDUCE_BATCH_SUM"], [7, 4, 1, "", "REDUCE_NEURON_MAX"], [7, 4, 1, "", "REDUCE_NEURON_SUM"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.CustomUpdateWU": [[7, 3, 1, "", "synapse_group"], [7, 3, 1, "", "var_references"]], "pygenn.GeNNModel": [[7, 2, 1, "", "add_current_source"], [7, 2, 1, "", "add_custom_connectivity_update"], [7, 2, 1, "", "add_custom_update"], [7, 2, 1, "", "add_neuron_population"], [7, 2, 1, "", "add_synapse_population"], [7, 3, 1, "", "backend_name"], [7, 2, 1, "", "build"], [7, 2, 1, "", "custom_update"], [7, 3, 1, "", "dT"], [7, 3, 1, "", "free_device_mem_bytes"], [7, 2, 1, "", "get_custom_update_time"], [7, 2, 1, "", "get_custom_update_transpose_time"], [7, 3, 1, "", "init_sparse_time"], [7, 3, 1, "", "init_time"], [7, 2, 1, "", "load"], [7, 3, 1, "", "neuron_update_time"], [7, 3, 1, "", "postsynaptic_update_time"], [7, 3, 1, "", "presynaptic_update_time"], [7, 2, 1, "", "pull_recording_buffers_from_device"], [7, 2, 1, "", "step_time"], [7, 3, 1, "", "synapse_dynamics_time"], [7, 3, 1, "", "t"], [7, 3, 1, "", "timestep"], [7, 2, 1, "", "unload"]], "pygenn.NeuronGroup": [[7, 2, 1, "", "get_var_location"], [7, 3, 1, "", "model"], [7, 3, 1, "", "name"], [7, 3, 1, "", "num_delay_slots"], [7, 3, 1, "", "num_neurons"], [7, 3, 1, "", "params"], [7, 3, 1, "", "prev_spike_time_location"], [7, 3, 1, "", "prev_spike_time_required"], [7, 3, 1, "", "recording_zero_copy_enabled"], [7, 2, 1, "", "set_param_dynamic"], [7, 2, 1, "", "set_var_location"], [7, 3, 1, "", "spike_event_recording_enabled"], [7, 3, 1, "", "spike_recording_enabled"], [7, 3, 1, "", "spike_time_location"], [7, 3, 1, "", "spike_time_required"], [7, 3, 1, "", "var_initialisers"]], "pygenn.ParallelismHint": [[7, 4, 1, "", "POSTSYNAPTIC"], [7, 4, 1, "", "PRESYNAPTIC"], [7, 4, 1, "", "WORD_PACKED_BITMASK"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.PlogSeverity": [[7, 4, 1, "", "DEBUG"], [7, 4, 1, "", "ERROR"], [7, 4, 1, "", "FATAL"], [7, 4, 1, "", "INFO"], [7, 4, 1, "", "NONE"], [7, 4, 1, "", "VERBOSE"], [7, 4, 1, "", "WARNING"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.SynapseGroup": [[7, 3, 1, "", "axonal_delay_steps"], [7, 3, 1, "", "back_prop_delay_steps"], [7, 3, 1, "", "dendritic_delay_location"], [7, 2, 1, "", "get_ps_var_location"], [7, 2, 1, "", "get_wu_post_var_location"], [7, 2, 1, "", "get_wu_pre_var_location"], [7, 2, 1, "", "get_wu_var_location"], [7, 3, 1, "", "kernel_size"], [7, 3, 1, "", "matrix_type"], [7, 3, 1, "", "max_connections"], [7, 3, 1, "", "max_dendritic_delay_timesteps"], [7, 3, 1, "", "max_source_connections"], [7, 3, 1, "", "name"], [7, 3, 1, "", "narrow_sparse_ind_enabled"], [7, 3, 1, "", "num_threads_per_spike"], [7, 3, 1, "", "output_location"], [7, 3, 1, "", "parallelism_hint"], [7, 3, 1, "", "post_target_var"], [7, 3, 1, "", "pre_target_var"], [7, 3, 1, "", "ps_initialiser"], [7, 2, 1, "", "set_ps_param_dynamic"], [7, 2, 1, "", "set_ps_var_location"], [7, 2, 1, "", "set_wu_param_dynamic"], [7, 2, 1, "", "set_wu_post_var_location"], [7, 2, 1, "", "set_wu_pre_var_location"], [7, 2, 1, "", "set_wu_var_location"], [7, 3, 1, "", "sparse_connectivity_initialiser"], [7, 3, 1, "", "sparse_connectivity_location"], [7, 3, 1, "", "toeplitz_connectivity_initialiser"], [7, 3, 1, "", "wu_initialiser"]], "pygenn.SynapseMatrixConnectivity": [[7, 4, 1, "", "BITMASK"], [7, 4, 1, "", "DENSE"], [7, 4, 1, "", "PROCEDURAL"], [7, 4, 1, "", "SPARSE"], [7, 4, 1, "", "TOEPLITZ"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.SynapseMatrixType": [[7, 4, 1, "", "BITMASK"], [7, 4, 1, "", "DENSE"], [7, 4, 1, "", "DENSE_PROCEDURALG"], [7, 4, 1, "", "PROCEDURAL"], [7, 4, 1, "", "PROCEDURAL_KERNELG"], [7, 4, 1, "", "SPARSE"], [7, 4, 1, "", "TOEPLITZ"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.SynapseMatrixWeight": [[7, 4, 1, "", "INDIVIDUAL"], [7, 4, 1, "", "KERNEL"], [7, 4, 1, "", "PROCEDURAL"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccess": [[7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_ONLY_DUPLICATE"], [7, 4, 1, "", "READ_ONLY_SHARED_NEURON"], [7, 4, 1, "", "READ_WRITE"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccessDim": [[7, 4, 1, "", "BATCH"], [7, 4, 1, "", "ELEMENT"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccessMode": [[7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_WRITE"], [7, 4, 1, "", "REDUCE_MAX"], [7, 4, 1, "", "REDUCE_SUM"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccessModeAttribute": [[7, 4, 1, "", "MAX"], [7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_WRITE"], [7, 4, 1, "", "REDUCE"], [7, 4, 1, "", "SUM"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarLocation": [[7, 4, 1, "", "DEVICE"], [7, 4, 1, "", "HOST"], [7, 4, 1, "", "HOST_DEVICE"], [7, 4, 1, "", "HOST_DEVICE_ZERO_COPY"], [7, 4, 1, "", "ZERO_COPY"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.cuda_backend": [[7, 1, 1, "", "Backend"], [7, 1, 1, "", "BlockSizeSelect"], [7, 1, 1, "", "DeviceSelect"], [7, 1, 1, "", "Preferences"], [7, 1, 1, "", "Runtime"], [7, 5, 1, "", "create_backend"]], "pygenn.cuda_backend.BlockSizeSelect": [[7, 4, 1, "", "MANUAL"], [7, 4, 1, "", "OCCUPANCY"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.cuda_backend.DeviceSelect": [[7, 4, 1, "", "MANUAL"], [7, 4, 1, "", "MOST_MEMORY"], [7, 4, 1, "", "OPTIMAL"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.cuda_backend.Preferences": [[7, 3, 1, "", "block_size_select_method"], [7, 3, 1, "", "constant_cache_overhead"], [7, 3, 1, "", "device_select_method"], [7, 3, 1, "", "enable_nccl_reductions"], [7, 3, 1, "", "generate_line_info"], [7, 3, 1, "", "manual_block_sizes"], [7, 3, 1, "", "manual_device_id"], [7, 3, 1, "", "show_ptx_info"]], "pygenn.cuda_backend.Runtime": [[7, 2, 1, "", "nccl_generate_unique_id"], [7, 2, 1, "", "nccl_init_communicator"], [7, 3, 1, "", "nccl_unique_id"]], "pygenn.current_source_models": [[7, 5, 1, "", "DC"], [7, 5, 1, "", "GaussianNoise"], [7, 5, 1, "", "PoissonExp"]], "pygenn.custom_update_models": [[7, 5, 1, "", "Transpose"]], "pygenn.genn_groups": [[7, 1, 1, "", "CurrentSourceMixin"], [7, 1, 1, "", "CustomConnectivityUpdateMixin"], [7, 1, 1, "", "CustomUpdateMixin"], [7, 1, 1, "", "CustomUpdateWUMixin"], [7, 1, 1, "", "GroupMixin"], [7, 1, 1, "", "NeuronGroupMixin"], [7, 1, 1, "", "SynapseGroupMixin"]], "pygenn.genn_groups.CurrentSourceMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.CustomConnectivityUpdateMixin": [[7, 2, 1, "", "get_var_values"], [7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.CustomUpdateMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.CustomUpdateWUMixin": [[7, 2, 1, "", "get_var_values"], [7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.GroupMixin": [[7, 2, 1, "", "pull_extra_global_param_from_device"], [7, 2, 1, "", "pull_var_from_device"], [7, 2, 1, "", "push_extra_global_param_to_device"], [7, 2, 1, "", "push_var_to_device"], [7, 2, 1, "", "set_dynamic_param_value"]], "pygenn.genn_groups.NeuronGroupMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 3, 1, "", "spike_recording_data"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.SynapseGroupMixin": [[7, 2, 1, "", "get_sparse_post_inds"], [7, 2, 1, "", "get_sparse_pre_inds"], [7, 2, 1, "", "get_var_values"], [7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 3, 1, "", "post_spike_event_recording_data"], [7, 3, 1, "", "pre_spike_event_recording_data"], [7, 2, 1, "", "pull_connectivity_from_device"], [7, 2, 1, "", "pull_in_syn_from_device"], [7, 2, 1, "", "pull_psm_extra_global_param_from_device"], [7, 2, 1, "", "push_connectivity_to_device"], [7, 2, 1, "", "push_in_syn_to_device"], [7, 2, 1, "", "push_psm_extra_global_param_to_device"], [7, 2, 1, "", "set_sparse_connections"], [7, 3, 1, "", "synapse_group"], [7, 2, 1, "", "unload"], [7, 3, 1, "", "weight_update_var_size"]], "pygenn.init_sparse_connectivity_snippets": [[7, 5, 1, "", "Conv2D"], [7, 5, 1, "", "FixedNumberPostWithReplacement"], [7, 5, 1, "", "FixedNumberPreWithReplacement"], [7, 5, 1, "", "FixedNumberTotalWithReplacement"], [7, 5, 1, "", "FixedProbability"], [7, 5, 1, "", "FixedProbabilityNoAutapse"], [7, 5, 1, "", "OneToOne"], [7, 5, 1, "", "Uninitialised"]], "pygenn.init_toeplitz_connectivity_snippets": [[7, 5, 1, "", "AvgPoolConv2D"], [7, 5, 1, "", "Conv2D"], [7, 5, 1, "", "Uninitialised"]], "pygenn.init_var_snippets": [[7, 5, 1, "", "Binomial"], [7, 5, 1, "", "Constant"], [7, 5, 1, "", "Exponential"], [7, 5, 1, "", "Gamma"], [7, 5, 1, "", "Kernel"], [7, 5, 1, "", "Normal"], [7, 5, 1, "", "NormalClipped"], [7, 5, 1, "", "NormalClippedDelay"], [7, 5, 1, "", "Uniform"], [7, 5, 1, "", "Uninitialised"]], "pygenn.model_preprocessor": [[7, 1, 1, "", "Array"], [7, 1, 1, "", "ArrayBase"], [7, 1, 1, "", "ExtraGlobalParameter"], [7, 1, 1, "", "SynapseVariable"], [7, 1, 1, "", "Variable"], [7, 1, 1, "", "VariableBase"], [7, 5, 1, "", "get_snippet"], [7, 5, 1, "", "get_var_init"], [7, 5, 1, "", "prepare_egps"], [7, 5, 1, "", "prepare_param_vals"], [7, 5, 1, "", "prepare_vars"]], "pygenn.model_preprocessor.Array": [[7, 3, 1, "", "view"]], "pygenn.model_preprocessor.ArrayBase": [[7, 2, 1, "", "pull_from_device"], [7, 2, 1, "", "push_to_device"], [7, 2, 1, "", "set_array"]], "pygenn.model_preprocessor.ExtraGlobalParameter": [[7, 2, 1, "", "set_init_values"], [7, 2, 1, "", "set_values"], [7, 3, 1, "", "values"], [7, 3, 1, "", "view"]], "pygenn.model_preprocessor.SynapseVariable": [[7, 3, 1, "", "current_values"], [7, 3, 1, "", "current_view"], [7, 3, 1, "", "values"], [7, 3, 1, "", "view"]], "pygenn.model_preprocessor.Variable": [[7, 3, 1, "", "current_values"], [7, 3, 1, "", "current_view"], [7, 3, 1, "", "values"], [7, 3, 1, "", "view"]], "pygenn.model_preprocessor.VariableBase": [[7, 2, 1, "", "set_array"], [7, 2, 1, "", "set_init_values"], [7, 2, 1, "", "set_values"]], "pygenn.neuron_models": [[7, 5, 1, "", "Izhikevich"], [7, 5, 1, "", "IzhikevichVariable"], [7, 5, 1, "", "LIF"], [7, 5, 1, "", "Poisson"], [7, 5, 1, "", "PoissonNew"], [7, 5, 1, "", "RulkovMap"], [7, 5, 1, "", "SpikeSource"], [7, 5, 1, "", "SpikeSourceArray"], [7, 5, 1, "", "TraubMiles"], [7, 5, 1, "", "TraubMilesAlt"], [7, 5, 1, "", "TraubMilesFast"], [7, 5, 1, "", "TraubMilesNStep"]], "pygenn.postsynaptic_models": [[7, 5, 1, "", "DeltaCurr"], [7, 5, 1, "", "ExpCond"], [7, 5, 1, "", "ExpCurr"]], "pygenn.runtime": [[7, 1, 1, "", "ArrayBase"], [7, 1, 1, "", "Runtime"], [7, 1, 1, "", "StateBase"]], "pygenn.runtime.ArrayBase": [[7, 3, 1, "", "host_view"], [7, 2, 1, "", "pull_from_device"], [7, 2, 1, "", "pull_slice_1d_from_device"], [7, 2, 1, "", "push_slice_1d_to_device"], [7, 2, 1, "", "push_to_device"]], "pygenn.runtime.Runtime": [[7, 2, 1, "", "allocate"], [7, 2, 1, "", "allocate_array"], [7, 2, 1, "", "custom_update"], [7, 2, 1, "", "get_array"], [7, 2, 1, "", "get_custom_update_time"], [7, 2, 1, "", "get_custom_update_transpose_time"], [7, 2, 1, "", "get_delay_pointer"], [7, 2, 1, "", "get_recorded_post_spike_events"], [7, 2, 1, "", "get_recorded_pre_spike_events"], [7, 2, 1, "", "get_recorded_spikes"], [7, 3, 1, "", "init_sparse_time"], [7, 3, 1, "", "init_time"], [7, 2, 1, "", "initialize"], [7, 2, 1, "", "initialize_sparse"], [7, 3, 1, "", "neuron_update_time"], [7, 3, 1, "", "postsynaptic_update_time"], [7, 3, 1, "", "presynaptic_update_time"], [7, 2, 1, "", "pull_recording_buffers_from_device"], [7, 2, 1, "", "set_dynamic_param_value"], [7, 3, 1, "", "state"], [7, 2, 1, "", "step_time"], [7, 3, 1, "", "synapse_dynamics_time"], [7, 3, 1, "", "time"], [7, 3, 1, "", "timestep"]], "pygenn.single_threaded_cpu_backend": [[7, 1, 1, "", "Backend"], [7, 1, 1, "", "Preferences"], [7, 5, 1, "", "create_backend"]], "pygenn.weight_update_models": [[7, 5, 1, "", "PiecewiseSTDP"], [7, 5, 1, "", "StaticGraded"], [7, 5, 1, "", "StaticPulse"], [7, 5, 1, "", "StaticPulseConstantWeight"], [7, 5, 1, "", "StaticPulseDendriticDelay"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"bibliographi": 0, "build": 1, "network": [1, 5], "The": 1, "model": [1, 2, 10, 11], "popul": 1, "paramet": [1, 5], "variabl": [1, 2, 5, 7], "refer": 1, "neuron": [1, 2, 7], "synaps": [1, 2, 7], "current": [1, 2], "sourc": [1, 2], "custom": [1, 2], "updat": [1, 2, 7], "connect": [1, 2], "genncod": [2, 8], "random": 2, "number": 2, "gener": 2, "type": 7, "initialis": 2, "snippet": 2, "spars": 2, "toeplitz": 2, "addit": [2, 7], "input": [2, 7], "weight": 2, "pre": [2, 7], "postsynapt": [2, 7], "dynam": [2, 5, 7], "spike": [2, 5, 7], "like": [2, 7], "event": [2, 7], "parallel": [2, 7], "iter": [2, 7], "remov": [2, 7], "creation": [2, 7], "host": [2, 7], "pygenn": [3, 6, 7, 11, 13], "document": 3, "indic": 3, "tabl": 3, "comput": [4, 12], "time": [4, 12], "simul": 5, "packag": 7, "submodul": 7, "cuda_backend": 7, "modul": 7, "current_source_model": 7, "custom_connectivity_update_model": 7, "custom_update_model": 7, "init_sparse_connectivity_snippet": 7, "init_toeplitz_connectivity_snippet": 7, "init_var_snippet": 7, "libgenn_cuda_backend_dynam": 7, "libgenn_dynam": 7, "libgenn_single_threaded_cpu_backend_dynam": 7, "neuron_model": 7, "postsynaptic_model": 7, "runtim": 7, "single_threaded_cpu_backend": 7, "weight_update_model": 7, "upgrad": 8, "from": 8, "genn": 8, "4": 8, "syntax": 8, "chang": 8, "user": 9, "project": 9, "mnist": 10, "classif": 10, "us": 10, "an": 10, "insect": 10, "inspir": 10, "mushroom": 10, "bodi": 10, "implement": [11, 13], "local": 11, "cortic": 11, "microcircuit": 11, "superspik": 13, "name": [10, 11, 13], "argument": [10, 11, 13], "extra": [1, 5], "global": [1, 5], "locat": 1, "batch": [2, 7], "reduct": [2, 7], "record": 5, "push": 5, "pull": 5, "valu": 5, "view": 5, "genn_group": 7, "model_preprocessor": 7}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Bibliography": [[0, "bibliography"]], "Building networks": [[1, "building-networks"]], "The model": [[1, "the-model"]], "Populations": [[1, "populations"]], "Parameters": [[1, "parameters"]], "Extra global parameters": [[1, "extra-global-parameters"], [5, "extra-global-parameters"]], "Extra global parameter references": [[1, "extra-global-parameter-references"]], "Variables": [[1, "variables"], [5, "variables"]], "Variables references": [[1, "variables-references"]], "Variable locations": [[1, "variable-locations"]], "Neuron populations": [[1, "neuron-populations"]], "Synapse populations": [[1, "synapse-populations"]], "Current sources": [[1, "current-sources"]], "Custom updates": [[1, "custom-updates"]], "Custom connectivity updates": [[1, "custom-connectivity-updates"]], "Custom models": [[2, "custom-models"]], "GeNNCode": [[2, "genncode"], [8, "genncode"]], "Random number generation": [[2, "random-number-generation"]], "Initialisation snippets": [[2, "initialisation-snippets"]], "Variable initialisation": [[2, "variable-initialisation"]], "Sparse connectivity initialisation": [[2, "sparse-connectivity-initialisation"]], "Toeplitz connectivity initialisation": [[2, "toeplitz-connectivity-initialisation"]], "Models": [[2, "models"]], "Neuron models": [[2, "neuron-models"]], "Additional input variables": [[2, "additional-input-variables"], [7, "additional-input-variables"]], "Weight update models": [[2, "weight-update-models"]], "Pre and postsynaptic dynamics": [[2, "pre-and-postsynaptic-dynamics"], [7, "pre-and-postsynaptic-dynamics"]], "Synapse dynamics": [[2, "synapse-dynamics"], [7, "synapse-dynamics"]], "Spike-like events": [[2, "spike-like-events"], [7, "spike-like-events"]], "Postsynaptic models": [[2, "postsynaptic-models"]], "Current source models": [[2, "current-source-models"]], "Custom update models": [[2, "custom-update-models"]], "Batch reduction": [[2, "batch-reduction"], [7, "batch-reduction"]], "Neuron reduction": [[2, "neuron-reduction"], [7, "neuron-reduction"]], "Custom connectivity update models": [[2, "custom-connectivity-update-models"]], "Parallel synapse iteration and removal": [[2, "parallel-synapse-iteration-and-removal"], [7, "parallel-synapse-iteration-and-removal"]], "Parallel synapse creation": [[2, "parallel-synapse-creation"], [7, "parallel-synapse-creation"]], "Host updates": [[2, "host-updates"], [7, "host-updates"]], "PyGeNN documentation": [[3, "pygenn-documentation"]], "Indices and tables": [[3, "indices-and-tables"]], "Computation times": [[4, "computation-times"], [12, "computation-times"]], "Simulating networks": [[5, "simulating-networks"]], "Spike recording": [[5, "spike-recording"]], "Pushing and pulling": [[5, "pushing-and-pulling"]], "Values and views": [[5, "values-and-views"]], "Dynamic parameters": [[5, "dynamic-parameters"]], "pygenn": [[6, "pygenn"]], "Upgrading from GeNN 4": [[8, "upgrading-from-genn-4"]], "Syntax changes": [[8, "syntax-changes"]], "User projects": [[9, "user-projects"]], "MNIST classification using an insect-inspired mushroom body model": [[10, "mnist-classification-using-an-insect-inspired-mushroom-body-model"]], "Named Arguments": [[10, "named-arguments"], [11, "named-arguments"], [13, "named-arguments"]], "PyGeNN implementation of local cortical microcircuit model": [[11, "pygenn-implementation-of-local-cortical-microcircuit-model"]], "PyGeNN implementation of SuperSpike": [[13, "pygenn-implementation-of-superspike"]], "pygenn package": [[7, "module-pygenn"]], "Submodules": [[7, "submodules"]], "pygenn.cuda_backend module": [[7, "module-pygenn.cuda_backend"]], "pygenn.current_source_models module": [[7, "module-pygenn.current_source_models"]], "pygenn.custom_connectivity_update_models module": [[7, "module-pygenn.custom_connectivity_update_models"]], "pygenn.custom_update_models module": [[7, "module-pygenn.custom_update_models"]], "pygenn.genn_groups module": [[7, "module-pygenn.genn_groups"]], "pygenn.init_sparse_connectivity_snippets module": [[7, "module-pygenn.init_sparse_connectivity_snippets"]], "pygenn.init_toeplitz_connectivity_snippets module": [[7, "module-pygenn.init_toeplitz_connectivity_snippets"]], "pygenn.init_var_snippets module": [[7, "module-pygenn.init_var_snippets"]], "pygenn.libgenn_cuda_backend_dynamic module": [[7, "pygenn-libgenn-cuda-backend-dynamic-module"]], "pygenn.libgenn_dynamic module": [[7, "pygenn-libgenn-dynamic-module"]], "pygenn.libgenn_single_threaded_cpu_backend_dynamic module": [[7, "pygenn-libgenn-single-threaded-cpu-backend-dynamic-module"]], "pygenn.model_preprocessor module": [[7, "module-pygenn.model_preprocessor"]], "pygenn.neuron_models module": [[7, "module-pygenn.neuron_models"]], "pygenn.postsynaptic_models module": [[7, "module-pygenn.postsynaptic_models"]], "pygenn.runtime module": [[7, "module-pygenn.runtime"]], "pygenn.single_threaded_cpu_backend module": [[7, "module-pygenn.single_threaded_cpu_backend"]], "pygenn.types module": [[7, "module-pygenn.types"]], "pygenn.weight_update_models module": [[7, "module-pygenn.weight_update_models"]]}, "indexentries": {"array (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.Array"]], "arraybase (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.ArrayBase"]], "arraybase (class in pygenn.runtime)": [[7, "pygenn.runtime.ArrayBase"]], "avgpoolconv2d() (in module pygenn.init_toeplitz_connectivity_snippets)": [[7, "pygenn.init_toeplitz_connectivity_snippets.AvgPoolConv2D"]], "batch (pygenn.varaccessdim attribute)": [[7, "pygenn.VarAccessDim.BATCH"]], "bitmask (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.BITMASK"]], "bitmask (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.BITMASK"]], "backend (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.Backend"]], "backend (class in pygenn.single_threaded_cpu_backend)": [[7, "pygenn.single_threaded_cpu_backend.Backend"]], "binomial() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Binomial"]], "blocksizeselect (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.BlockSizeSelect"]], "constant() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Constant"]], "conv2d() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.Conv2D"]], "conv2d() (in module pygenn.init_toeplitz_connectivity_snippets)": [[7, "pygenn.init_toeplitz_connectivity_snippets.Conv2D"]], "currentsource (class in pygenn)": [[7, "pygenn.CurrentSource"]], "currentsourcemixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CurrentSourceMixin"]], "customconnectivityupdate (class in pygenn)": [[7, "pygenn.CustomConnectivityUpdate"]], "customconnectivityupdatemixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin"]], "customupdate (class in pygenn)": [[7, "pygenn.CustomUpdate"]], "customupdatemixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CustomUpdateMixin"]], "customupdatevaraccess (class in pygenn)": [[7, "pygenn.CustomUpdateVarAccess"]], "customupdatewu (class in pygenn)": [[7, "pygenn.CustomUpdateWU"]], "customupdatewumixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin"]], "dc() (in module pygenn.current_source_models)": [[7, "pygenn.current_source_models.DC"]], "debug (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.DEBUG"]], "dense (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.DENSE"]], "dense (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.DENSE"]], "dense_proceduralg (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.DENSE_PROCEDURALG"]], "device (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.DEVICE"]], "deltacurr() (in module pygenn.postsynaptic_models)": [[7, "pygenn.postsynaptic_models.DeltaCurr"]], "deviceselect (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.DeviceSelect"]], "element (pygenn.varaccessdim attribute)": [[7, "pygenn.VarAccessDim.ELEMENT"]], "error (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.ERROR"]], "expcond() (in module pygenn.postsynaptic_models)": [[7, "pygenn.postsynaptic_models.ExpCond"]], "expcurr() (in module pygenn.postsynaptic_models)": [[7, "pygenn.postsynaptic_models.ExpCurr"]], "exponential() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Exponential"]], "extraglobalparameter (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter"]], "fatal (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.FATAL"]], "fixednumberpostwithreplacement() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedNumberPostWithReplacement"]], "fixednumberprewithreplacement() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedNumberPreWithReplacement"]], "fixednumbertotalwithreplacement() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedNumberTotalWithReplacement"]], "fixedprobability() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedProbability"]], "fixedprobabilitynoautapse() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedProbabilityNoAutapse"]], "gamma() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Gamma"]], "gaussiannoise() (in module pygenn.current_source_models)": [[7, "pygenn.current_source_models.GaussianNoise"]], "gennmodel (class in pygenn)": [[7, "pygenn.GeNNModel"]], "groupmixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.GroupMixin"]], "host (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.HOST"]], "host_device (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.HOST_DEVICE"]], "host_device_zero_copy (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.HOST_DEVICE_ZERO_COPY"]], "individual (pygenn.synapsematrixweight attribute)": [[7, "pygenn.SynapseMatrixWeight.INDIVIDUAL"]], "info (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.INFO"]], "izhikevich() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.Izhikevich"]], "izhikevichvariable() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.IzhikevichVariable"]], "kernel (pygenn.synapsematrixweight attribute)": [[7, "pygenn.SynapseMatrixWeight.KERNEL"]], "kernel() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Kernel"]], "lif() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.LIF"]], "manual (pygenn.cuda_backend.blocksizeselect attribute)": [[7, "pygenn.cuda_backend.BlockSizeSelect.MANUAL"]], "manual (pygenn.cuda_backend.deviceselect attribute)": [[7, "pygenn.cuda_backend.DeviceSelect.MANUAL"]], "max (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.MAX"]], "most_memory (pygenn.cuda_backend.deviceselect attribute)": [[7, "pygenn.cuda_backend.DeviceSelect.MOST_MEMORY"]], "none (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.NONE"]], "neurongroup (class in pygenn)": [[7, "pygenn.NeuronGroup"]], "neurongroupmixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.NeuronGroupMixin"]], "normal() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Normal"]], "normalclipped() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.NormalClipped"]], "normalclippeddelay() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.NormalClippedDelay"]], "occupancy (pygenn.cuda_backend.blocksizeselect attribute)": [[7, "pygenn.cuda_backend.BlockSizeSelect.OCCUPANCY"]], "optimal (pygenn.cuda_backend.deviceselect attribute)": [[7, "pygenn.cuda_backend.DeviceSelect.OPTIMAL"]], "onetoone() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.OneToOne"]], "postsynaptic (pygenn.parallelismhint attribute)": [[7, "pygenn.ParallelismHint.POSTSYNAPTIC"]], "presynaptic (pygenn.parallelismhint attribute)": [[7, "pygenn.ParallelismHint.PRESYNAPTIC"]], "procedural (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.PROCEDURAL"]], "procedural (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.PROCEDURAL"]], "procedural (pygenn.synapsematrixweight attribute)": [[7, "pygenn.SynapseMatrixWeight.PROCEDURAL"]], "procedural_kernelg (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.PROCEDURAL_KERNELG"]], "parallelismhint (class in pygenn)": [[7, "pygenn.ParallelismHint"]], "piecewisestdp() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.PiecewiseSTDP"]], "plogseverity (class in pygenn)": [[7, "pygenn.PlogSeverity"]], "poisson() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.Poisson"]], "poissonexp() (in module pygenn.current_source_models)": [[7, "pygenn.current_source_models.PoissonExp"]], "poissonnew() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.PoissonNew"]], "preferences (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.Preferences"]], "preferences (class in pygenn.single_threaded_cpu_backend)": [[7, "pygenn.single_threaded_cpu_backend.Preferences"]], "read_only (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_ONLY"]], "read_only (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_ONLY"]], "read_only (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.READ_ONLY"]], "read_only (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.READ_ONLY"]], "read_only_duplicate (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_ONLY_DUPLICATE"]], "read_only_shared (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_ONLY_SHARED"]], "read_only_shared_neuron (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_ONLY_SHARED_NEURON"]], "read_only_shared_neuron (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_ONLY_SHARED_NEURON"]], "read_write (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_WRITE"]], "read_write (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_WRITE"]], "read_write (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.READ_WRITE"]], "read_write (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.READ_WRITE"]], "reduce (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.REDUCE"]], "reduce_batch_max (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_BATCH_MAX"]], "reduce_batch_sum (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_BATCH_SUM"]], "reduce_max (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.REDUCE_MAX"]], "reduce_neuron_max (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_NEURON_MAX"]], "reduce_neuron_sum (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_NEURON_SUM"]], "reduce_sum (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.REDUCE_SUM"]], "rulkovmap() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.RulkovMap"]], "runtime (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.Runtime"]], "runtime (class in pygenn.runtime)": [[7, "pygenn.runtime.Runtime"]], "sparse (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.SPARSE"]], "sparse (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.SPARSE"]], "sum (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.SUM"]], "spikesource() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.SpikeSource"]], "spikesourcearray() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.SpikeSourceArray"]], "statebase (class in pygenn.runtime)": [[7, "pygenn.runtime.StateBase"]], "staticgraded() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticGraded"]], "staticpulse() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticPulse"]], "staticpulseconstantweight() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticPulseConstantWeight"]], "staticpulsedendriticdelay() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticPulseDendriticDelay"]], "synapsegroup (class in pygenn)": [[7, "pygenn.SynapseGroup"]], "synapsegroupmixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.SynapseGroupMixin"]], "synapsematrixconnectivity (class in pygenn)": [[7, "pygenn.SynapseMatrixConnectivity"]], "synapsematrixtype (class in pygenn)": [[7, "pygenn.SynapseMatrixType"]], "synapsematrixweight (class in pygenn)": [[7, "pygenn.SynapseMatrixWeight"]], "synapsevariable (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.SynapseVariable"]], "toeplitz (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.TOEPLITZ"]], "toeplitz (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.TOEPLITZ"]], "transpose() (in module pygenn.custom_update_models)": [[7, "pygenn.custom_update_models.Transpose"]], "traubmiles() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMiles"]], "traubmilesalt() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMilesAlt"]], "traubmilesfast() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMilesFast"]], "traubmilesnstep() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMilesNStep"]], "uniform() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Uniform"]], "uninitialised() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.Uninitialised"]], "uninitialised() (in module pygenn.init_toeplitz_connectivity_snippets)": [[7, "pygenn.init_toeplitz_connectivity_snippets.Uninitialised"]], "uninitialised() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Uninitialised"]], "verbose (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.VERBOSE"]], "varaccess (class in pygenn)": [[7, "pygenn.VarAccess"]], "varaccessdim (class in pygenn)": [[7, "pygenn.VarAccessDim"]], "varaccessmode (class in pygenn)": [[7, "pygenn.VarAccessMode"]], "varaccessmodeattribute (class in pygenn)": [[7, "pygenn.VarAccessModeAttribute"]], "varlocation (class in pygenn)": [[7, "pygenn.VarLocation"]], "variable (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.Variable"]], "variablebase (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.VariableBase"]], "warning (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.WARNING"]], "word_packed_bitmask (pygenn.parallelismhint attribute)": [[7, "pygenn.ParallelismHint.WORD_PACKED_BITMASK"]], "zero_copy (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.ZERO_COPY"]], "add_current_source() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_current_source"]], "add_custom_connectivity_update() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_custom_connectivity_update"]], "add_custom_update() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_custom_update"]], "add_neuron_population() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_neuron_population"]], "add_synapse_population() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_synapse_population"]], "allocate() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.allocate"]], "allocate_array() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.allocate_array"]], "axonal_delay_steps (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.axonal_delay_steps"]], "back_prop_delay_steps (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.back_prop_delay_steps"]], "backend_name (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.backend_name"]], "block_size_select_method (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.block_size_select_method"]], "build() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.build"]], "constant_cache_overhead (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.constant_cache_overhead"]], "create_backend() (in module pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.create_backend"]], "create_backend() (in module pygenn.single_threaded_cpu_backend)": [[7, "pygenn.single_threaded_cpu_backend.create_backend"]], "create_current_source_model() (in module pygenn)": [[7, "pygenn.create_current_source_model"]], "create_custom_connectivity_update_model() (in module pygenn)": [[7, "pygenn.create_custom_connectivity_update_model"]], "create_custom_update_model() (in module pygenn)": [[7, "pygenn.create_custom_update_model"]], "create_egp_ref() (in module pygenn)": [[7, "pygenn.create_egp_ref"]], "create_neuron_model() (in module pygenn)": [[7, "pygenn.create_neuron_model"]], "create_postsynaptic_model() (in module pygenn)": [[7, "pygenn.create_postsynaptic_model"]], "create_psm_egp_ref() (in module pygenn)": [[7, "pygenn.create_psm_egp_ref"]], "create_psm_var_ref() (in module pygenn)": [[7, "pygenn.create_psm_var_ref"]], "create_sparse_connect_init_snippet() (in module pygenn)": [[7, "pygenn.create_sparse_connect_init_snippet"]], "create_toeplitz_connect_init_snippet() (in module pygenn)": [[7, "pygenn.create_toeplitz_connect_init_snippet"]], "create_var_init_snippet() (in module pygenn)": [[7, "pygenn.create_var_init_snippet"]], "create_var_ref() (in module pygenn)": [[7, "pygenn.create_var_ref"]], "create_weight_update_model() (in module pygenn)": [[7, "pygenn.create_weight_update_model"]], "create_wu_egp_ref() (in module pygenn)": [[7, "pygenn.create_wu_egp_ref"]], "create_wu_post_var_ref() (in module pygenn)": [[7, "pygenn.create_wu_post_var_ref"]], "create_wu_pre_var_ref() (in module pygenn)": [[7, "pygenn.create_wu_pre_var_ref"]], "create_wu_var_ref() (in module pygenn)": [[7, "pygenn.create_wu_var_ref"]], "current_values (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.current_values"]], "current_values (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.current_values"]], "current_view (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.current_view"]], "current_view (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.current_view"]], "custom_update() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.custom_update"]], "custom_update() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.custom_update"]], "dt (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.dT"]], "dendritic_delay_location (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.dendritic_delay_location"]], "device_select_method (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.device_select_method"]], "enable_nccl_reductions (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.enable_nccl_reductions"]], "free_device_mem_bytes (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.free_device_mem_bytes"]], "generate_line_info (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.generate_line_info"]], "get_array() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_array"]], "get_custom_update_time() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.get_custom_update_time"]], "get_custom_update_time() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_custom_update_time"]], "get_custom_update_transpose_time() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.get_custom_update_transpose_time"]], "get_custom_update_transpose_time() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_custom_update_transpose_time"]], "get_delay_pointer() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_delay_pointer"]], "get_post_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.get_post_var_location"]], "get_pre_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.get_pre_var_location"]], "get_ps_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_ps_var_location"]], "get_recorded_post_spike_events() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_recorded_post_spike_events"]], "get_recorded_pre_spike_events() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_recorded_pre_spike_events"]], "get_recorded_spikes() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_recorded_spikes"]], "get_snippet() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.get_snippet"]], "get_sparse_post_inds() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.get_sparse_post_inds"]], "get_sparse_pre_inds() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.get_sparse_pre_inds"]], "get_var_access_dim() (in module pygenn)": [[7, "pygenn.get_var_access_dim"]], "get_var_init() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.get_var_init"]], "get_var_location() (pygenn.currentsource method)": [[7, "pygenn.CurrentSource.get_var_location"]], "get_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.get_var_location"]], "get_var_location() (pygenn.neurongroup method)": [[7, "pygenn.NeuronGroup.get_var_location"]], "get_var_values() (pygenn.genn_groups.customconnectivityupdatemixin method)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin.get_var_values"]], "get_var_values() (pygenn.genn_groups.customupdatewumixin method)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin.get_var_values"]], "get_var_values() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.get_var_values"]], "get_wu_post_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_wu_post_var_location"]], "get_wu_pre_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_wu_pre_var_location"]], "get_wu_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_wu_var_location"]], "host_view (pygenn.runtime.arraybase property)": [[7, "pygenn.runtime.ArrayBase.host_view"]], "init_postsynaptic() (in module pygenn)": [[7, "pygenn.init_postsynaptic"]], "init_sparse_connectivity() (in module pygenn)": [[7, "pygenn.init_sparse_connectivity"]], "init_sparse_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.init_sparse_time"]], "init_sparse_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.init_sparse_time"]], "init_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.init_time"]], "init_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.init_time"]], "init_toeplitz_connectivity() (in module pygenn)": [[7, "pygenn.init_toeplitz_connectivity"]], "init_var() (in module pygenn)": [[7, "pygenn.init_var"]], "init_weight_update() (in module pygenn)": [[7, "pygenn.init_weight_update"]], "initialize() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.initialize"]], "initialize_sparse() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.initialize_sparse"]], "kernel_size (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.kernel_size"]], "load() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.load"]], "load() (pygenn.genn_groups.currentsourcemixin method)": [[7, "pygenn.genn_groups.CurrentSourceMixin.load"]], "load() (pygenn.genn_groups.customconnectivityupdatemixin method)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin.load"]], "load() (pygenn.genn_groups.customupdatemixin method)": [[7, "pygenn.genn_groups.CustomUpdateMixin.load"]], "load() (pygenn.genn_groups.customupdatewumixin method)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin.load"]], "load() (pygenn.genn_groups.neurongroupmixin method)": [[7, "pygenn.genn_groups.NeuronGroupMixin.load"]], "load() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.load"]], "load_init_egps() (pygenn.genn_groups.currentsourcemixin method)": [[7, "pygenn.genn_groups.CurrentSourceMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.customconnectivityupdatemixin method)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.customupdatemixin method)": [[7, "pygenn.genn_groups.CustomUpdateMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.customupdatewumixin method)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.neurongroupmixin method)": [[7, "pygenn.genn_groups.NeuronGroupMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.load_init_egps"]], "manual_block_sizes (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.manual_block_sizes"]], "manual_device_id (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.manual_device_id"]], "matrix_type (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.matrix_type"]], "max_connections (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.max_connections"]], "max_dendritic_delay_timesteps (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.max_dendritic_delay_timesteps"]], "max_source_connections (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.max_source_connections"]], "model (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.model"]], "model (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.model"]], "model (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.model"]], "module": [[7, "module-pygenn"], [7, "module-pygenn.cuda_backend"], [7, "module-pygenn.current_source_models"], [7, "module-pygenn.custom_connectivity_update_models"], [7, "module-pygenn.custom_update_models"], [7, "module-pygenn.genn_groups"], [7, "module-pygenn.init_sparse_connectivity_snippets"], [7, "module-pygenn.init_toeplitz_connectivity_snippets"], [7, "module-pygenn.init_var_snippets"], [7, "module-pygenn.model_preprocessor"], [7, "module-pygenn.neuron_models"], [7, "module-pygenn.postsynaptic_models"], [7, "module-pygenn.runtime"], [7, "module-pygenn.single_threaded_cpu_backend"], [7, "module-pygenn.types"], [7, "module-pygenn.weight_update_models"]], "name (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.name"]], "name (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.name"]], "name (pygenn.customupdatevaraccess property)": [[7, "pygenn.CustomUpdateVarAccess.name"]], "name (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.name"]], "name (pygenn.parallelismhint property)": [[7, "pygenn.ParallelismHint.name"]], "name (pygenn.plogseverity property)": [[7, "pygenn.PlogSeverity.name"]], "name (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.name"]], "name (pygenn.synapsematrixconnectivity property)": [[7, "pygenn.SynapseMatrixConnectivity.name"]], "name (pygenn.synapsematrixtype property)": [[7, "pygenn.SynapseMatrixType.name"]], "name (pygenn.synapsematrixweight property)": [[7, "pygenn.SynapseMatrixWeight.name"]], "name (pygenn.varaccess property)": [[7, "pygenn.VarAccess.name"]], "name (pygenn.varaccessdim property)": [[7, "pygenn.VarAccessDim.name"]], "name (pygenn.varaccessmode property)": [[7, "pygenn.VarAccessMode.name"]], "name (pygenn.varaccessmodeattribute property)": [[7, "pygenn.VarAccessModeAttribute.name"]], "name (pygenn.varlocation property)": [[7, "pygenn.VarLocation.name"]], "name (pygenn.cuda_backend.blocksizeselect property)": [[7, "pygenn.cuda_backend.BlockSizeSelect.name"]], "name (pygenn.cuda_backend.deviceselect property)": [[7, "pygenn.cuda_backend.DeviceSelect.name"]], "narrow_sparse_ind_enabled (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.narrow_sparse_ind_enabled"]], "nccl_generate_unique_id() (pygenn.cuda_backend.runtime method)": [[7, "pygenn.cuda_backend.Runtime.nccl_generate_unique_id"]], "nccl_init_communicator() (pygenn.cuda_backend.runtime method)": [[7, "pygenn.cuda_backend.Runtime.nccl_init_communicator"]], "nccl_unique_id (pygenn.cuda_backend.runtime property)": [[7, "pygenn.cuda_backend.Runtime.nccl_unique_id"]], "neuron_update_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.neuron_update_time"]], "neuron_update_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.neuron_update_time"]], "num_delay_slots (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.num_delay_slots"]], "num_neurons (pygenn.customupdate property)": [[7, "pygenn.CustomUpdate.num_neurons"]], "num_neurons (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.num_neurons"]], "num_threads_per_spike (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.num_threads_per_spike"]], "output_location (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.output_location"]], "parallelism_hint (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.parallelism_hint"]], "params (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.params"]], "params (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.params"]], "params (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.params"]], "post_spike_event_recording_data (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.post_spike_event_recording_data"]], "post_target_var (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.post_target_var"]], "post_var_initialisers (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.post_var_initialisers"]], "post_var_references (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.post_var_references"]], "postsynaptic_update_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.postsynaptic_update_time"]], "postsynaptic_update_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.postsynaptic_update_time"]], "pre_spike_event_recording_data (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.pre_spike_event_recording_data"]], "pre_target_var (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.pre_target_var"]], "pre_var_initialisers (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.pre_var_initialisers"]], "pre_var_references (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.pre_var_references"]], "prepare_egps() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.prepare_egps"]], "prepare_param_vals() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.prepare_param_vals"]], "prepare_vars() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.prepare_vars"]], "presynaptic_update_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.presynaptic_update_time"]], "presynaptic_update_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.presynaptic_update_time"]], "prev_spike_time_location (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.prev_spike_time_location"]], "prev_spike_time_required (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.prev_spike_time_required"]], "ps_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.ps_initialiser"]], "pull_connectivity_from_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.pull_connectivity_from_device"]], "pull_extra_global_param_from_device() (pygenn.genn_groups.groupmixin method)": [[7, "pygenn.genn_groups.GroupMixin.pull_extra_global_param_from_device"]], "pull_from_device() (pygenn.model_preprocessor.arraybase method)": [[7, "pygenn.model_preprocessor.ArrayBase.pull_from_device"]], "pull_from_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.pull_from_device"]], "pull_in_syn_from_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.pull_in_syn_from_device"]], "pull_psm_extra_global_param_from_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.pull_psm_extra_global_param_from_device"]], "pull_recording_buffers_from_device() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.pull_recording_buffers_from_device"]], "pull_recording_buffers_from_device() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.pull_recording_buffers_from_device"]], "pull_slice_1d_from_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.pull_slice_1d_from_device"]], "pull_var_from_device() (pygenn.genn_groups.groupmixin method)": [[7, "pygenn.genn_groups.GroupMixin.pull_var_from_device"]], "push_connectivity_to_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.push_connectivity_to_device"]], "push_extra_global_param_to_device() (pygenn.genn_groups.groupmixin method)": [[7, "pygenn.genn_groups.GroupMixin.push_extra_global_param_to_device"]], "push_in_syn_to_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.push_in_syn_to_device"]], "push_psm_extra_global_param_to_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.push_psm_extra_global_param_to_device"]], "push_slice_1d_to_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.push_slice_1d_to_device"]], "push_to_device() (pygenn.model_preprocessor.arraybase method)": [[7, "pygenn.model_preprocessor.ArrayBase.push_to_device"]], "push_to_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.push_to_device"]], "push_var_to_device() (pygenn.genn_groups.groupmixin method)": [[7, "pygenn.genn_groups.GroupMixin.push_var_to_device"]], "pygenn": [[7, "module-pygenn"]], "pygenn.cuda_backend": [[7, "module-pygenn.cuda_backend"]], "pygenn.current_source_models": [[7, "module-pygenn.current_source_models"]], "pygenn.custom_connectivity_update_models": [[7, "module-pygenn.custom_connectivity_update_models"]], "pygenn.custom_update_models": [[7, "module-pygenn.custom_update_models"]], "pygenn.genn_groups": [[7, "module-pygenn.genn_groups"]], "pygenn.init_sparse_connectivity_snippets": [[7, "module-pygenn.init_sparse_connectivity_snippets"]], "pygenn.init_toeplitz_connectivity_snippets": [[7, "module-pygenn.init_toeplitz_connectivity_snippets"]], "pygenn.init_var_snippets": [[7, "module-pygenn.init_var_snippets"]], "pygenn.model_preprocessor": [[7, "module-pygenn.model_preprocessor"]], "pygenn.neuron_models": [[7, "module-pygenn.neuron_models"]], "pygenn.postsynaptic_models": [[7, "module-pygenn.postsynaptic_models"]], "pygenn.runtime": [[7, "module-pygenn.runtime"]], "pygenn.single_threaded_cpu_backend": [[7, "module-pygenn.single_threaded_cpu_backend"]], "pygenn.types": [[7, "module-pygenn.types"]], "pygenn.weight_update_models": [[7, "module-pygenn.weight_update_models"]], "recording_zero_copy_enabled (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.recording_zero_copy_enabled"]], "set_array() (pygenn.model_preprocessor.arraybase method)": [[7, "pygenn.model_preprocessor.ArrayBase.set_array"]], "set_array() (pygenn.model_preprocessor.variablebase method)": [[7, "pygenn.model_preprocessor.VariableBase.set_array"]], "set_dynamic_param_value() (pygenn.genn_groups.groupmixin method)": [[7, "pygenn.genn_groups.GroupMixin.set_dynamic_param_value"]], "set_dynamic_param_value() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.set_dynamic_param_value"]], "set_init_values() (pygenn.model_preprocessor.extraglobalparameter method)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter.set_init_values"]], "set_init_values() (pygenn.model_preprocessor.variablebase method)": [[7, "pygenn.model_preprocessor.VariableBase.set_init_values"]], "set_param_dynamic() (pygenn.currentsource method)": [[7, "pygenn.CurrentSource.set_param_dynamic"]], "set_param_dynamic() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_param_dynamic"]], "set_param_dynamic() (pygenn.neurongroup method)": [[7, "pygenn.NeuronGroup.set_param_dynamic"]], "set_post_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_post_var_location"]], "set_pre_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_pre_var_location"]], "set_ps_param_dynamic() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_ps_param_dynamic"]], "set_ps_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_ps_var_location"]], "set_sparse_connections() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.set_sparse_connections"]], "set_values() (pygenn.model_preprocessor.extraglobalparameter method)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter.set_values"]], "set_values() (pygenn.model_preprocessor.variablebase method)": [[7, "pygenn.model_preprocessor.VariableBase.set_values"]], "set_var_location() (pygenn.currentsource method)": [[7, "pygenn.CurrentSource.set_var_location"]], "set_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_var_location"]], "set_var_location() (pygenn.neurongroup method)": [[7, "pygenn.NeuronGroup.set_var_location"]], "set_wu_param_dynamic() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_param_dynamic"]], "set_wu_post_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_post_var_location"]], "set_wu_pre_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_pre_var_location"]], "set_wu_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_var_location"]], "show_ptx_info (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.show_ptx_info"]], "sparse_connectivity_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.sparse_connectivity_initialiser"]], "sparse_connectivity_location (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.sparse_connectivity_location"]], "spike_event_recording_enabled (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_event_recording_enabled"]], "spike_recording_data (pygenn.genn_groups.neurongroupmixin property)": [[7, "pygenn.genn_groups.NeuronGroupMixin.spike_recording_data"]], "spike_recording_enabled (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_recording_enabled"]], "spike_time_location (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_time_location"]], "spike_time_required (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_time_required"]], "state (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.state"]], "step_time() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.step_time"]], "step_time() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.step_time"]], "synapse_dynamics_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.synapse_dynamics_time"]], "synapse_dynamics_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.synapse_dynamics_time"]], "synapse_group (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.synapse_group"]], "synapse_group (pygenn.customupdatewu property)": [[7, "pygenn.CustomUpdateWU.synapse_group"]], "synapse_group (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.synapse_group"]], "t (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.t"]], "time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.time"]], "timestep (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.timestep"]], "timestep (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.timestep"]], "toeplitz_connectivity_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.toeplitz_connectivity_initialiser"]], "unload() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.unload"]], "unload() (pygenn.genn_groups.currentsourcemixin method)": [[7, "pygenn.genn_groups.CurrentSourceMixin.unload"]], "unload() (pygenn.genn_groups.customconnectivityupdatemixin method)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin.unload"]], "unload() (pygenn.genn_groups.customupdatemixin method)": [[7, "pygenn.genn_groups.CustomUpdateMixin.unload"]], "unload() (pygenn.genn_groups.customupdatewumixin method)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin.unload"]], "unload() (pygenn.genn_groups.neurongroupmixin method)": [[7, "pygenn.genn_groups.NeuronGroupMixin.unload"]], "unload() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.unload"]], "update_group_name (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.update_group_name"]], "value (pygenn.customupdatevaraccess property)": [[7, "pygenn.CustomUpdateVarAccess.value"]], "value (pygenn.parallelismhint property)": [[7, "pygenn.ParallelismHint.value"]], "value (pygenn.plogseverity property)": [[7, "pygenn.PlogSeverity.value"]], "value (pygenn.synapsematrixconnectivity property)": [[7, "pygenn.SynapseMatrixConnectivity.value"]], "value (pygenn.synapsematrixtype property)": [[7, "pygenn.SynapseMatrixType.value"]], "value (pygenn.synapsematrixweight property)": [[7, "pygenn.SynapseMatrixWeight.value"]], "value (pygenn.varaccess property)": [[7, "pygenn.VarAccess.value"]], "value (pygenn.varaccessdim property)": [[7, "pygenn.VarAccessDim.value"]], "value (pygenn.varaccessmode property)": [[7, "pygenn.VarAccessMode.value"]], "value (pygenn.varaccessmodeattribute property)": [[7, "pygenn.VarAccessModeAttribute.value"]], "value (pygenn.varlocation property)": [[7, "pygenn.VarLocation.value"]], "value (pygenn.cuda_backend.blocksizeselect property)": [[7, "pygenn.cuda_backend.BlockSizeSelect.value"]], "value (pygenn.cuda_backend.deviceselect property)": [[7, "pygenn.cuda_backend.DeviceSelect.value"]], "values (pygenn.model_preprocessor.extraglobalparameter property)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter.values"]], "values (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.values"]], "values (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.values"]], "var_initialisers (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.var_initialisers"]], "var_initialisers (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.var_initialisers"]], "var_initialisers (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.var_initialisers"]], "var_references (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.var_references"]], "var_references (pygenn.customupdate property)": [[7, "pygenn.CustomUpdate.var_references"]], "var_references (pygenn.customupdatewu property)": [[7, "pygenn.CustomUpdateWU.var_references"]], "view (pygenn.model_preprocessor.array property)": [[7, "pygenn.model_preprocessor.Array.view"]], "view (pygenn.model_preprocessor.extraglobalparameter property)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter.view"]], "view (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.view"]], "view (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.view"]], "weight_update_var_size (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.weight_update_var_size"]], "wu_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.wu_initialiser"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["bibliography", "building_networks", "custom_models", "index", "sg_execution_times", "simulating_networks", "source/modules", "source/pygenn", "upgrading", "userproject/index", "userproject/mnist_mb_classifier", "userproject/potjans_microcircuit", "userproject/sg_execution_times", "userproject/superspike_demo"], "filenames": ["bibliography.rst", "building_networks.rst", "custom_models.rst", "index.rst", "sg_execution_times.rst", "simulating_networks.rst", "source\\modules.rst", "source\\pygenn.rst", "upgrading.rst", "userproject\\index.rst", "userproject\\mnist_mb_classifier.rst", "userproject\\potjans_microcircuit.rst", "userproject\\sg_execution_times.rst", "userproject\\superspike_demo.rst"], "titles": ["Bibliography", "Building networks", "Custom models", "PyGeNN documentation", "Computation times", "Simulating networks", "pygenn", "pygenn package", "Upgrading from GeNN 4", "User projects", "MNIST classification using an insect-inspired mushroom body model", "PyGeNN implementation of local cortical microcircuit model", "Computation times", "PyGeNN implementation of SuperSpike"], "terms": {"morrison2008": [0, 2, 7], "morrison": 0, "A": [0, 1, 2, 7], "diesmann": [0, 11], "m": [0, 1, 5, 7, 11, 13], "gerstner": 0, "w": [0, 2, 13], "2008": 0, "phenomenolog": 0, "model": [0, 3, 4, 5, 7, 8, 9, 12, 13], "synapt": [0, 1, 2, 7, 10, 11, 13], "plastic": 0, "base": [0, 1, 2, 5, 7, 13], "spike": [0, 1, 3, 10, 11, 13], "time": [0, 1, 2, 5, 7, 8, 10, 11, 13], "biolog": 0, "cybernet": 0, "98": [0, 7], "459": 0, "478": 0, "http": [0, 2], "doi": 0, "org": 0, "10": [0, 1, 5, 7, 10, 11, 13], "1007": 0, "s00422": 0, "008": [0, 11], "0233": [0, 10], "1": [0, 1, 2, 3, 5, 7, 10, 11, 13], "potjans2014": [0, 11], "potjan": [0, 11], "t": [0, 2, 5, 7, 8, 10, 11, 13], "c": [0, 1, 2, 3, 7, 10, 11, 13], "2014": 0, "The": [0, 2, 3, 5, 7, 8, 11], "cell": [0, 10, 11], "type": [0, 1, 2, 6, 11, 13], "specif": [0, 11], "cortic": [0, 4, 9, 12], "microcircuit": [0, 4, 9, 12], "relat": [0, 7], "structur": [0, 1, 2, 8, 13], "activ": [0, 2, 7, 11], "full": [0, 2, 7, 10, 11, 13], "scale": [0, 7, 10, 11], "network": [0, 2, 3, 7, 10, 11, 13], "cerebr": 0, "cortex": 0, "24": 0, "3": [0, 1, 4, 7, 10, 11, 12, 13], "785": 0, "806": 0, "1093": 0, "cercor": 0, "bhs358": 0, "zenke2018": [0, 13], "zenk": [0, 13], "f": [0, 7, 10, 11, 13], "ganguli": [0, 13], "": [0, 1, 2, 5, 7, 10, 11, 13], "2018": 0, "superspik": [0, 4, 9, 12], "supervis": [0, 10], "learn": [0, 1, 2, 3, 7, 10, 13], "multilay": 0, "neural": [0, 3], "comput": [0, 2, 7, 13], "30": [0, 2, 7], "6": [0, 1, 7, 11], "1514": 0, "1541": 0, "1162": 0, "neco_a_01086": 0, "knight2018": [0, 2, 7], "knight": [0, 3], "j": 0, "nowotni": [0, 3], "gpu": [0, 1, 2, 3, 5, 7, 8, 10], "outperform": 0, "current": [0, 3, 5, 7, 10, 11], "hpc": 0, "neuromorph": 0, "solut": 0, "term": [0, 1, 2, 7], "speed": [0, 7], "energi": 0, "when": [0, 1, 2, 5, 7, 8, 10], "simul": [0, 2, 3, 7, 10, 11], "highli": 0, "connect": [0, 7, 8, 10, 11], "frontier": 0, "neurosci": 0, "12": [0, 7], "decemb": 0, "19": 0, "3389": 0, "fnin": 0, "00941": 0, "turner2022": [0, 2, 7], "turner": 0, "p": [0, 2, 7, 11], "subramanian": 0, "2022": 0, "mlgenn": 0, "acceler": [0, 1, 3], "snn": [0, 2], "infer": 0, "us": [0, 1, 2, 3, 4, 5, 7, 8, 9, 11, 12, 13], "enabl": [0, 1, 5, 11], "engin": 0, "2": [0, 1, 2, 7, 10, 11, 13], "024002": 0, "1088": 0, "2634": 0, "4386": 0, "ac5ac5": 0, "i": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13], "defin": [1, 2, 7, 10], "follow": [1, 2, 5, 7, 10, 11, 13], "gennmodel": [1, 2, 5, 6, 7, 8, 10, 11, 13], "must": [1, 2, 7], "creat": [1, 2, 7, 10, 11, 13], "name": [1, 2, 5, 7], "default": [1, 2, 5, 7, 10, 11, 13], "precis": [1, 2, 7, 11], "see": [1, 2, 7, 11], "ref": 1, "floatprecis": 1, "float": [1, 2, 7, 10, 11, 13], "yourmodelnam": 1, "By": [1, 2, 5, 7], "hardwar": [1, 2, 3, 8], "code": [1, 2, 3, 5, 7, 8, 9, 10, 11, 13], "gener": [1, 3, 5, 7, 9, 10, 11, 13], "backend": [1, 5, 7], "avail": 1, "howev": [1, 2, 5, 7], "thi": [1, 2, 3, 5, 7, 8, 10, 11, 13], "can": [1, 2, 5, 7, 8, 10, 11, 13], "overriden": 1, "keyword": [1, 2, 5, 7], "argument": [1, 2, 5, 7], "For": [1, 2, 5, 7], "exampl": [1, 2, 4, 5, 7, 9, 10, 11, 12, 13], "singl": [1, 2, 5, 7, 8], "thread": [1, 2, 5, 7, 11], "cpu": [1, 2, 5, 7], "could": [1, 2, 5, 7], "manual": [1, 7], "select": [1, 7], "single_threaded_cpu": 1, "run": [1, 2, 5, 7], "smaller": 1, "mai": [1, 2, 7], "fulli": [1, 2, 7], "occupi": 1, "devic": [1, 2, 5, 7, 10, 11], "In": [1, 2, 5, 7, 8, 11], "some": [1, 2, 7], "scenerio": 1, "gradient": [1, 2, 7, 13], "train": [1, 10, 13], "sweep": 1, "overcom": 1, "rune": 1, "multipl": [1, 2, 7], "copi": [1, 2, 5, 7, 10], "same": [1, 2, 5, 7, 8], "batch": [1, 5], "machin": [1, 3], "speak": [1, 7], "genn": [1, 2, 3, 5, 7, 9, 13], "batch_siz": 1, "512": 1, "spars": [1, 5, 7, 8, 10, 11, 13], "ar": [1, 2, 3, 5, 7, 8, 11, 13], "share": [1, 2, 5, 7], "across": [1, 2, 5, 7], "all": [1, 2, 4, 5, 7, 8, 9, 11, 13], "whether": [1, 2, 7], "state": [1, 2, 5, 7, 8, 10], "duplic": [1, 2, 7], "control": 1, "varaccess": [1, 2, 6, 7], "customupdatevaraccess": [1, 2, 6, 7], "associ": [1, 2, 5, 7], "each": [1, 2, 5, 7, 10, 13], "pleas": [1, 2, 3, 7], "todo": [1, 13], "more": [1, 2, 8, 11], "detail": [1, 2, 7], "addition": [1, 2, 5, 7], "ani": [1, 2, 5, 7], "prefer": [1, 7], "expos": [1, 2, 7], "configur": [1, 2, 7], "here": [1, 2, 7], "cuda": [1, 5, 7], "allow": [1, 2, 7, 10, 11], "you": [1, 2, 3, 5, 7, 8], "which": [1, 2, 3, 5, 7], "via": [1, 2, 5, 7], "manual_device_id": [1, 7], "initialis": [1, 7, 8, 13], "constant": [1, 2, 7, 10], "numer": [1, 2, 7], "valu": [1, 2, 7, 10, 11], "homogen": [1, 2], "an": [1, 2, 4, 5, 7, 9, 12], "entir": 1, "ini": 1, "0": [1, 2, 4, 5, 7, 10, 11, 12, 13], "0529324": 1, "thei": [1, 2, 5, 7, 8], "veri": [1, 2, 5, 7], "effici": [1, 2, 7], "access": [1, 2, 5, 7], "from": [1, 2, 3, 4, 5, 7, 10, 11, 12, 13], "either": [1, 7], "hard": 1, "kernel": [1, 2, 5, 7, 11, 13], "deliv": [1, 2, 7, 10], "high": [1, 7], "perform": [1, 2, 7], "cach": [1, 7], "often": [1, 5], "b": [1, 5, 7], "mani": [1, 2, 7, 10, 11], "wai": [1, 2, 7, 8], "fill": 1, "them": [1, 2, 5, 7], "sequenc": [1, 2, 7], "python": [1, 3, 5, 7, 9, 10, 11, 13], "np": [1, 2, 5, 10, 11, 13], "arang": [1, 5, 11], "400": [1, 13], "snippet": [1, 3, 7, 8], "function": [1, 2, 5, 7, 8, 11, 13], "pygenn": [1, 2, 4, 5, 8, 9, 10, 12], "init_var": [1, 6, 7, 11, 13], "param": [1, 2, 7, 10, 13], "initvarsnippetbas": [1, 7], "str": [1, 2, 7, 13], "init": [1, 7, 8, 11, 13], "string": [1, 2, 3, 7, 8], "referenc": [1, 2, 7, 8], "built": [1, 2, 5, 7], "snipept": [1, 7], "init_var_snippet": [1, 6], "instanc": [1, 7], "return": [1, 2, 7, 10, 11, 13], "create_var_init_snippet": [1, 2, 6, 7], "dict": [1, 7], "int": [1, 2, 7, 8, 10, 11, 13], "sampl": [1, 2, 7], "normal": [1, 2, 7, 11], "distribut": [1, 2, 7, 10, 11], "mean": [1, 2, 7, 11, 13], "standard": [1, 2, 7, 10, 11], "deviat": [1, 2, 7, 11], "sd": [1, 2, 7, 11, 13], "dictionari": [1, 5, 7, 11], "As": [1, 2, 5, 7], "well": [1, 2, 5, 7], "variou": [1, 2], "have": [1, 2, 5, 7, 8, 13], "belong": 1, "other": [1, 2, 7, 8], "postsynapt": [1, 5, 8, 11], "attach": [1, 2, 7], "call": [1, 2, 3, 5, 7], "r": [1, 2, 7, 13], "assign": [1, 2, 7], "syntax": 1, "neuron_var_ref": [1, 2, 7], "create_var_ref": [1, 6, 7, 13], "ng": 1, "v": [1, 2, 5, 7, 10, 11, 13], "current_source_var_ref": 1, "custom_update_var_ref": 1, "cu": 1, "postsynaptic_model_var_ref": 1, "create_psm_var_ref": [1, 6, 7], "sg": [1, 7], "wu_pre_var_ref": 1, "create_wu_pre_var_ref": [1, 6, 7], "pre": 1, "wu_post_var_ref": 1, "create_wu_post_var_ref": [1, 6, 7], "post": [1, 2, 7], "where": [1, 2, 5, 7, 8], "neurongroup": [1, 5, 6, 7], "add_neuron_popul": [1, 7, 10, 11, 13], "currentsourc": [1, 2, 6, 7], "add_current_sourc": [1, 7, 10, 11], "customupd": [1, 6, 7], "add_custom_upd": [1, 7, 13], "synapsegroup": [1, 2, 5, 6, 7, 8], "add_synapse_popul": [1, 7, 8, 10, 11, 13], "while": [1, 2, 5, 7, 11, 13], "interchang": 1, "long": [1, 2, 10], "delai": [1, 2, 5, 7, 8, 11], "size": [1, 2, 7, 10, 13], "per": [1, 2, 5, 7, 11, 13], "weight": [1, 5, 7, 8, 10, 11, 13], "slightli": 1, "differ": [1, 2, 5, 7, 11], "wu_var_ref": 1, "create_wu_var_ref": [1, 6, 7, 13], "g": [1, 2, 5, 7, 10, 11], "cu_wu_var_ref": 1, "customupdatewu": [1, 6, 7], "oper": [1, 2, 5, 7, 8], "anoth": [1, 7], "group": [1, 5, 7, 8], "These": [1, 2, 7], "also": [1, 2, 5, 7], "addit": 1, "featur": [1, 2, 8], "link": 1, "transpos": [1, 7, 13], "wu_transpose_var_ref": 1, "back_sg": 1, "tranpos": [1, 7, 13], "dimens": [1, 7], "e": [1, 2, 5, 7, 11, 13], "its": [1, 7], "_postsynaptic_": 1, "ha": [1, 2, 5, 7], "number": [1, 3, 5, 7, 8, 10, 11, 13], "_presynaptic_": [1, 2, 7], "vice": 1, "versa": 1, "after": [1, 2, 5, 7, 10], "made": [1, 5, 7, 8], "forward": [1, 2, 7], "appli": [1, 2, 5, 7, 11], "_": [1, 2, 5, 7, 11], "onli": [1, 2, 7, 8, 10], "possibl": [1, 2, 7, 8], "synapsematrixtyp": [1, 2, 6, 7, 8], "dens": [1, 7, 8, 10, 13], "onc": [1, 2, 5, 7, 10], "how": [1, 2, 7, 10, 11], "your": [1, 2, 5, 7], "go": [1, 10, 11, 13], "need": [1, 2, 5, 7, 8], "alloc": [1, 5, 7], "memori": [1, 2, 5, 7, 10], "both": [1, 5, 7], "host": [1, 5], "altern": 1, "varloc": [1, 5, 6, 7, 11], "host_devic": [1, 7], "host_device_zero_copi": [1, 7], "7": [1, 7, 11], "note": [1, 3, 7, 11, 13], "zero": [1, 2, 5, 7, 13], "support": [1, 2, 3, 7, 8], "newer": 1, "embed": 1, "system": [1, 5], "jetson": 1, "tx1": 1, "physic": 1, "seper": [1, 7, 8], "between": [1, 2, 5, 7, 11, 13], "thu": [1, 5], "contain": [1, 2, 3, 7], "ad": [1, 2, 7], "pop_nam": [1, 7, 11], "num_neuron": [1, 2, 7, 11], "var": [1, 2, 5, 7, 10, 13], "add": [1, 2, 7, 8, 11, 13], "uniqu": [1, 7, 11], "neuronmodelbas": [1, 7], "neuron_model": [1, 6], "create_neuron_model": [1, 2, 6, 7, 10, 13], "varinit": [1, 7], "ndarrai": [1, 7], "initi": [1, 2, 5, 7, 10, 13], "izhikevich": [1, 7], "set": [1, 2, 5, 7, 8, 10, 11], "tonic": [1, 7], "pop": [1, 5, 7, 10, 11], "02": [1, 2, 7], "65": [1, 7, 11], "d": [1, 7, 11, 13], "u": [1, 7, 9, 11, 13], "20": [1, 7, 10], "two": [1, 2, 7], "Their": 1, "behaviour": [1, 2, 3, 7], "describ": [1, 2, 3, 5, 7, 8], "what": [1, 2, 3, 7], "kind": 1, "dynam": [1, 13], "occur": [1, 2, 7], "output": [1, 2, 7, 10, 11, 13], "presynapt": [1, 2, 7, 13], "typic": [1, 2, 7], "init_weight_upd": [1, 6, 7, 8, 10, 11, 13], "pre_var": [1, 2, 5, 7, 13], "post_var": [1, 2, 5, 7, 13], "pre_var_ref": [1, 2, 7, 13], "post_var_ref": [1, 2, 7, 13], "weight_update_model": [1, 6], "weightupdatemodelbas": [1, 7], "create_weight_update_model": [1, 2, 6, 7, 10, 13], "varrefer": [1, 7], "static": [1, 7], "puls": [1, 7], "weight_init": [1, 7], "staticpulseconstantweight": [1, 7, 8, 10], "input": [1, 10, 11, 13], "translat": [1, 2], "init_postsynapt": [1, 6, 7, 8, 10, 11, 13], "var_ref": [1, 2, 7, 13], "postsynapticmodelbas": [1, 7], "postsynaptic_models_model": [1, 7], "create_postsynaptic_model": [1, 2, 6, 7, 13], "conduct": [1, 7], "exponenti": [1, 2, 7, 13], "shape": [1, 2, 7, 10], "postsynaptic_init": [1, 7], "expcond": [1, 7], "tau": [1, 2, 5, 7, 10, 11, 13], "80": [1, 7, 10, 13], "pop1": [1, 7], "provid": [1, 2, 5, 7], "data": [1, 2, 5, 10, 11, 13], "implement": [1, 2, 4, 7, 8, 9, 12], "class": [1, 2, 5, 7], "member": [1, 7], "dense_proceduralg": [1, 7, 8], "bitmask": [1, 2, 7], "procedur": [1, 2, 7, 8, 11], "procedural_kernelg": [1, 7, 8], "toeplitz": [1, 7, 8], "dense_procedur": 1, "simpli": [1, 7], "init_sparse_connect": [1, 6, 7, 10, 11], "initsparseconnectivitysnippetbas": [1, 7], "init_sparse_connectivity_snippet": [1, 6], "create_sparse_connect_init_snippet": [1, 2, 6, 7], "pair": [1, 2, 7], "probabl": [1, 7, 11], "fixedprob": [1, 7], "prob": [1, 7], "init_toeplitz_connect": [1, 6, 7], "init_toeplitz_connect_snippet": [1, 7], "init_toeplitz_connectivity_snippet": [1, 6], "inittoeplitzconnectivitysnippetbas": [1, 7], "create_toeplitz_connect_init_snippet": [1, 2, 6, 7], "2d": [1, 7], "convolut": [1, 2, 7], "64": [1, 2, 7], "62": [1, 7], "conv_kh": [1, 7], "conv_kw": [1, 7], "conv_ih": [1, 7], "conv_iw": [1, 7], "conv_ic": [1, 7], "conv_oh": [1, 7], "conv_ow": [1, 7], "conv_oc": [1, 7], "conv2d": [1, 7], "should": [1, 2, 7, 10], "4096": [1, 7], "3844": [1, 7], "final": [1, 2, 7], "compon": 1, "place": [1, 5, 7], "matrix_typ": [1, 7, 11], "target": [1, 2, 7, 8, 11, 13], "weight_update_init": [1, 7], "connectivity_init": [1, 7], "none": [1, 2, 7, 10, 11, 13], "sparseconnectivityinit": [1, 7], "toeplitzconnectivityinit": [1, 7], "init_toeplitz_connectivity_connect": [1, 7], "src_pop": [1, 7, 11], "target_pop": [1, 7], "syn": [1, 2, 7], "expcurr": [1, 7, 10, 11, 13], "5": [1, 7, 8, 10, 11, 13], "cs_name": [1, 7], "current_source_model": [1, 6], "currentsourcemodelbas": [1, 7], "create_current_source_model": [1, 2, 6, 7, 10], "inject": [1, 2, 7, 10], "gaussian": [1, 7], "nois": [1, 2, 7, 13], "gaussiannois": [1, 7], "previou": [1, 2, 5, 7, 13], "section": 1, "automat": [1, 2, 7, 11], "everi": [1, 2, 7, 11, 13], "timestep": [1, 2, 5, 7, 10, 11, 13], "process": [1, 5, 8], "would": [1, 2, 5, 7], "benefit": 1, "trigger": [1, 2, 7], "occasion": 1, "classifi": 1, "reset": [1, 2, 7, 10, 13], "stimuli": 1, "been": [1, 7], "present": [1, 10], "optim": [1, 7], "accumul": [1, 2, 7], "over": [1, 2, 5], "sever": [1, 2, 7, 8], "similar": [1, 8], "preced": [1, 7], "calcul": [1, 2, 7, 11, 13], "cu_nam": [1, 7], "group_nam": [1, 7], "custom_update_model": [1, 6], "egp_ref": [1, 7], "includ": [1, 2, 3, 7, 11], "execut": [1, 2, 4, 7, 12], "simultan": [1, 7], "customupdatemodelbas": [1, 7], "create_custom_update_model": [1, 2, 6, 7, 13], "wuvarrefer": [1, 7], "egprefer": [1, 7], "create_egp_ref": [1, 6, 7], "like": [1, 3, 5, 8], "user": [1, 2, 3, 5, 7, 8], "rather": [1, 2, 7, 8, 10, 11, 13], "than": [1, 2, 7, 10, 11, 13], "add_custom_connectivity_upd": [1, 7], "syn_group": [1, 7], "custom_conn_update_model": [1, 7], "customconnectivityupdatemodelbas": [1, 7], "custom_connectivity_update_model": [1, 6], "customconnectivityupdatemodelbaseupdatemodelbas": [1, 7], "create_custom_connectivity_update_model": [1, 2, 6, 7], "One": [2, 5, 7], "main": [2, 7], "thing": [2, 8], "make": [2, 3, 5, 7, 13], "build": [2, 3, 5, 7, 8, 10, 11, 13], "easili": [2, 3, 7], "customis": [2, 3], "languag": [2, 3, 8], "we": [2, 5, 7, 8, 10], "essenti": [2, 7, 13], "c99": [2, 8], "en": 2, "cpprefer": 2, "com": 2, "No": [2, 7], "preprocessor": 2, "enough": 2, "printf": 2, "debug": [2, 7], "messag": 2, "much": [2, 5, 7], "strstr": 2, "etc": [2, 13], "typedefin": 2, "cannot": [2, 3, 5, 7], "esoter": 2, "octal": 2, "integ": [2, 5, 7], "hexadecim": 2, "point": [2, 5, 7, 11, 13], "liter": 2, "aren": 2, "address": [2, 8], "isn": [2, 8], "On": [2, 5], "local": [2, 4, 7, 8, 9, 12], "assum": [2, 8], "store": [2, 8], "regist": [2, 8], "limit": [2, 8], "deal": [2, 8], "extra": [2, 7, 8], "global": [2, 7, 8], "paramet": [2, 7, 8, 10, 11, 13], "arrai": [2, 7, 8, 13], "longer": [2, 7, 8], "do": [2, 5, 7, 8], "stuff": [2, 8], "const": [2, 7, 8, 10, 13], "egpsubset": [2, 8], "egp": [2, 7, 8], "offset": [2, 7, 8, 11], "instead": [2, 7, 8], "overload": [2, 7], "so": [2, 5, 7, 8, 13], "sin": 2, "0f": 2, "resolv": 2, "doubl": 2, "version": [2, 7, 8], "without": 2, "suffix": [2, 7], "treat": [2, 7], "scalar": [2, 7, 10, 13], "alwai": 2, "0d": 2, "lp64": 2, "platform": [2, 5], "32": [2, 7, 13], "bit": 2, "librari": [2, 7], "co": 2, "tan": 2, "aco": 2, "asin": 2, "atan": 2, "atan2": 2, "cosh": 2, "sinh": 2, "tanh": [2, 7], "acosh": 2, "asinh": 2, "atanh": 2, "exp": [2, 7, 10, 13], "expm1": 2, "exp2": 2, "pow": [2, 13], "scalbn": 2, "log": [2, 7, 11, 13], "log1p": 2, "log2": 2, "log10": 2, "ldexp": 2, "ilogb": 2, "sqrt": [2, 11, 13], "cbrt": 2, "hypot": 2, "ceil": [2, 7], "floor": 2, "fmod": 2, "round": [2, 10, 11], "rint": 2, "trunc": 2, "nearbyint": 2, "nextaft": 2, "remaind": 2, "fab": [2, 13], "fdim": 2, "fmax": [2, 7, 10, 13], "fmin": [2, 7, 10, 13], "erf": 2, "erfc": 2, "tgamma": 2, "lgamma": 2, "copysign": 2, "fma": 2, "min": [2, 7, 11, 13], "max": [2, 7, 10, 11, 13], "ab": [2, 11], "form": [2, 7, 8], "probabilist": 2, "mechan": [2, 7], "within": [2, 7, 13], "gennrand_uniform": [2, 7], "drawn": [2, 7], "uniformli": [2, 7], "interv": 2, "gennrand_norm": [2, 7], "gennrand_exponenti": 2, "lambda": [2, 7, 13], "gennrand_log_norm": 2, "std": 2, "specifi": [2, 7], "gennrand_gamma": 2, "alpha": [2, 7, 13], "gamma": [2, 7], "gennrand_binomi": 2, "n": [2, 7, 10, 11], "binomi": [2, 7], "part": [2, 7], "deriv": [2, 5, 7, 13], "popul": [2, 5, 7, 10, 11, 13], "being": [2, 7], "enhanc": 2, "friendli": [2, 5], "decai": [2, 7], "pass": [2, 7, 8], "one": [2, 7], "bwlo": 2, "derived_param": [2, 7, 13], "exptc": [2, 13], "par": [2, 7, 13], "dt": [2, 7, 10, 11, 13], "new": [2, 7, 8], "class_nam": [2, 7], "var_init_cod": [2, 7], "extra_global_param": [2, 5, 7, 13], "refer": [2, 3, 7, 8], "read": [2, 7], "repres": [2, 7], "step": [2, 5, 7, 10], "And": [2, 7], "id": [2, 7, 11, 13], "index": [2, 3, 7, 11, 13], "start": [2, 7, 13], "id_pr": [2, 7], "id_post": [2, 7], "num_pr": [2, 7], "num_post": [2, 7], "write": [2, 7, 8, 11], "tupl": [2, 7], "resolvedtyp": [2, 7], "option": [2, 7, 8], "callabl": [2, 7], "paramss": [2, 7], "statement": [2, 7], "requir": [2, 5, 7, 8, 13], "want": [2, 5, 7, 8, 10], "redraw": [2, 7], "neg": [2, 7], "ensur": [2, 7], "remain": [2, 7], "causal": [2, 7], "normal_positive_model": [2, 7], "normal_posit": [2, 7], "fly": 2, "row_build_cod": [2, 7], "col_build_cod": [2, 7], "calc_max_row_len_func": [2, 7], "calc_max_col_len_func": [2, 7], "calc_kernel_size_func": [2, 7], "id_post_begin": [2, 7], "first": [2, 5, 7, 11, 13], "addsynaps": [2, 7], "x": [2, 5, 7], "row": [2, 7, 8, 13], "column": [2, 7], "maximum": [2, 7, 11], "length": [2, 7], "matrix": [2, 5, 7], "param_nam": [2, 7], "fix": [2, 7, 11, 13], "replac": [2, 7, 8], "scipi": [2, 7, 11], "stat": [2, 7, 11], "import": [2, 5, 7, 10, 11, 13], "binom": [2, 7], "fixed_number_post": [2, 7], "num": [2, 7, 10, 11, 13], "unsign": [2, 7, 13], "idpost": [2, 7], "ppf": [2, 7, 11], "9999": [2, 7, 11], "our": [2, 7], "paper": [2, 7, 11], "short": [2, 7], "end": [2, 7, 10, 11, 13], "up": [2, 3, 7], "text": [2, 7], "frac": [2, 7], "therefor": [2, 7], "look": [2, 3, 5, 7], "invers": [2, 7], "cummul": [2, 7], "cdf": [2, 7], "chanc": [2, 7], "bound": [2, 7], "correct": [2, 7, 10], "draw": [2, 7], "diagonal_build_cod": [2, 7], "diagon": [2, 7, 8], "independ": [2, 7], "id_diag": [2, 7], "id_kern_0": [2, 7], "id_kern_1": [2, 7], "id_kern_n": [2, 7], "dimension": [2, 7], "for_each_synaps": [2, 7, 8], "construct": [2, 3, 5, 7], "loop": [2, 5, 7, 8, 11, 13], "through": [2, 7, 11, 13], "incom": [2, 7], "insid": [2, 7], "convolv": [2, 7], "kern_dim": [2, 7], "squar": [2, 7, 13], "pop_dim": [2, 7], "simple_conv2d_model": [2, 7], "pynn": [2, 7], "simple_conv2d": [2, 7], "kern_siz": [2, 7], "kernrow": [2, 7], "kerncol": [2, 7], "prerow": [2, 7], "precol": [2, 7], "If": [2, 3, 5, 7, 13], "haven": [2, 7], "gone": [2, 7], "off": [2, 7], "edg": [2, 7], "postrow": [2, 7], "postcol": [2, 7], "postind": [2, 7], "express": [2, 7, 13], "extend": [2, 5, 7], "abov": [2, 5, 7, 8], "sim_cod": [2, 7, 10, 13], "threshold_condition_cod": [2, 7, 10, 13], "reset_cod": [2, 7, 10, 13], "additional_input_var": [2, 7, 13], "auto_refractory_requir": [2, 7], "fals": [2, 7, 10, 11, 13], "isyn": [2, 7, 10, 13], "total": [2, 4, 7, 11, 12], "modifi": [2, 7], "threshold": [2, 7], "condit": [2, 7], "test": [2, 7, 10], "emit": [2, 5, 7], "list": [2, 7, 11], "bool": [2, 7], "doe": [2, 7, 8], "auto": [2, 7, 10], "refractori": [2, 7], "logic": [2, 7], "leaki": [2, 7], "integr": [2, 7, 10, 13], "dv": [2, 7], "i_": [2, 7], "rm": [2, 7], "solv": [2, 7], "euler": [2, 7], "method": [2, 5, 7], "leaky_integrator_model": [2, 7], "leaky_integr": [2, 7], "read_writ": [2, 7], "receiv": [2, 7], "linear": [2, 7], "sum": [2, 7, 10, 13], "come": [2, 7], "combin": [2, 7], "non": [2, 7], "linearli": [2, 7], "product": [2, 7], "isyn2": [2, 7], "driven": [2, 7], "pre_": [2, 7], "post_": [2, 7], "pre_neuron_var_ref": [2, 7, 13], "post_neuron_var_ref": [2, 7, 13], "pre_spike_syn_cod": [2, 7, 10, 13], "pre_event_syn_cod": [2, 7], "post_event_syn_cod": [2, 7], "post_spike_syn_cod": [2, 7, 10], "synapse_dynamics_cod": [2, 7, 13], "pre_spike_cod": [2, 7, 13], "post_spike_cod": [2, 7], "pre_dynamics_cod": [2, 7, 13], "post_dynamics_cod": [2, 7, 13], "assumpt": [2, 7], "addtopost": [2, 7, 13], "inc": [2, 7], "amount": [2, 7], "dendrit": [2, 7, 11], "insert": [2, 7], "addtopostdelai": [2, 7], "again": [2, 7], "heterogen": [2, 7], "weightupdatemodel": [2, 7], "staticpulsedendriticdelai": [2, 7, 11], "simpl": [2, 3, 7], "max_dendritic_delay_timestep": [2, 7, 11], "properti": [2, 5, 7], "effect": [2, 7], "revers": [2, 7, 11], "direct": [2, 7], "addtopr": [2, 7], "v_post": [2, 7], "_outgoing_": [2, 7], "pre_target_var": [2, 7], "unlik": [2, 7], "action": [2, 7, 10, 11, 13], "modul": [2, 3, 6], "directli": [2, 5, 7, 8], "indic": [2, 5, 7, 11, 13], "varaccessmod": [2, 6, 7], "pre_event_threshold_condition_cod": [2, 7], "post_event_threshold_condition_cod": [2, 7], "stdp": [2, 7, 10], "rule": [2, 7, 10, 13], "nearest": [2, 7], "neighbour": [2, 7], "depend": [2, 7], "delta": [2, 7], "w_": [2, 7], "ij": [2, 7], "begin": [2, 7], "case": [2, 7], "a_": [2, 7], "left": [2, 7], "tau_": [2, 7], "right": [2, 7], "leq0": [2, 7], "manner": [2, 7], "stdp_additive_model": [2, 7], "stdp_addit": [2, 7], "tauplu": [2, 7], "tauminu": [2, 7], "aplu": [2, 7], "aminu": [2, 7], "wmin": [2, 7, 10, 13], "wmax": [2, 7, 10, 13], "st_post": [2, 7, 10], "newweight": [2, 7, 10], "st_pre": [2, 7, 10], "cost": [2, 7], "tend": [2, 7], "grow": [2, 7], "o": [2, 7], "basi": [2, 7], "good": [2, 7], "idea": [2, 7], "pre_var_name_typ": [2, 7], "post_var_name_typ": [2, 7], "_trace_": [2, 7], "stdp_additive_2_model": [2, 7], "genn_model": [2, 7], "create_custom_weight_update_class": [2, 7], "stdp_additive_2": [2, 7], "pretrac": [2, 7], "posttrac": [2, 7], "tauplusdecai": [2, 7], "tauminusdecai": [2, 7], "previous": [2, 5, 7], "intern": [2, 7], "continu": [2, 7], "od": [2, 7], "computation": [2, 7], "costli": [2, 7], "becaus": [2, 5, 7], "larg": [2, 7], "discuss": [2, 5, 7], "context": [2, 7], "rate": [2, 7, 11, 13], "contin": [2, 7], "multipli": [2, 7, 11], "definit": [2, 7], "v_pre": [2, 7], "evalu": [2, 7], "involv": [2, 7], "respect": [2, 7, 8], "voltag": [2, 7], "greater": [2, 7], "whenev": [2, 7], "true": [2, 5, 7, 10, 11, 13], "pre_event_cod": [2, 7], "equat": [2, 7], "injectcurr": [2, 7, 10], "goe": [2, 7], "post_target_var": [2, 7, 13], "injection_cod": [2, 7, 10], "target_var": [2, 7], "uniform_noise_model": [2, 7], "uniform_nois": [2, 7], "magnitud": [2, 7, 10], "demand": 2, "update_cod": [2, 7, 13], "extra_global_param_ref": [2, 7], "launch": [2, 5, 7], "reset_model": [2, 7], "read_onli": [2, 7], "sort": [2, 7, 8, 13], "read_only_dupl": [2, 7], "mode": [2, 7], "reduce_batch_sum": [2, 7], "reduce_batch_max": [2, 7], "reduc": [2, 7, 8, 13], "scenario": [2, 7], "reduce_model": [2, 7], "gradient_batch_reduc": [2, 7], "reducedgradi": [2, 7], "reduce_sum": [2, 7], "reduce_max": [2, 7], "similarli": [2, 5, 7], "reduce_neuron_sum": [2, 7], "reduce_neuron_max": [2, 7], "neuron_reduc": [2, 7], "row_update_cod": [2, 7], "host_update_cod": [2, 7], "design": [2, 7], "issu": [2, 7], "regard": [2, 7], "accompani": [2, 7], "push": [2, 7, 10], "pull": [2, 7], "illustr": [2, 7], "abil": [2, 7], "remove_diagonal_model": [2, 7], "remove_diagon": [2, 7], "remove_synaps": [2, 7], "break": [2, 7, 13], "back": [2, 7], "add_diagonal_model": [2, 7], "add_diagon": [2, 7], "add_synaps": [2, 7], "lot": [2, 7], "_might_": [2, 7], "detect": [2, 7], "shuffl": [2, 7], "around": [2, 7], "accordingli": [2, 7], "fine": [2, 7], "know": [2, 7], "hook": [2, 7], "abl": [2, 7], "common": [2, 5, 7], "determin": [2, 7, 10, 11], "element": [2, 5, 7], "get": [2, 7, 11, 13], "befor": [2, 5, 7], "pushpostindtodevic": [2, 7], "softwar": 3, "packag": [3, 6], "nvidia": 3, "api": [3, 5], "neuron": [3, 5, 10, 11, 13], "synaps": [3, 5, 8, 10, 11, 13], "genncod": 3, "under": [3, 11, 13], "find": 3, "contact": 3, "project": [3, 10, 11], "develop": [3, 9, 11, 13], "upgrad": 3, "4": [3, 7, 11], "custom": [3, 7, 10, 13], "bibliographi": 3, "maintain": [3, 8], "dr": 3, "jame": 3, "prof": 3, "thoma": 3, "partial": [3, 13], "epsrc": 3, "grant": 3, "ep": 3, "v052241": 3, "unlock": 3, "research": 3, "p006094": 3, "brain": 3, "board": 3, "j019690": 3, "green": 3, "search": [3, 7], "page": 3, "00": [4, 12], "000": [4, 12], "file": [4, 7, 12, 13], "galleri": [4, 9, 10, 11, 13], "mem": [4, 12], "mb": [4, 12], "mnist": [4, 9, 12], "classif": [4, 9, 12], "insect": [4, 9, 12], "inspir": [4, 9, 12], "mushroom": [4, 9, 12], "bodi": [4, 9, 12], "userproject": [4, 7, 12], "mnist_mb_classifi": [4, 10, 12], "py": [4, 10, 11, 12, 13], "potjans_microcircuit": [4, 11, 12], "superspike_demo": [4, 12, 13], "load": [5, 7, 10, 11, 13], "lazi": 5, "hasn": 5, "chang": [5, 7], "almost": [5, 8], "instantan": [5, 7], "error": [5, 7, 13], "report": 5, "simplest": 5, "100": [5, 10, 11], "step_tim": [5, 7, 10, 11, 13], "asynchron": [5, 11], "synchronis": 5, "event": 5, "natur": [5, 7], "ineffici": [5, 7, 11], "dedic": 5, "collect": 5, "transfer": 5, "chosen": [5, 11], "spike_recording_en": [5, 7, 10, 11, 13], "spike_event_recording_en": [5, 7], "runtim": [5, 6], "num_recording_timestep": [5, 7, 10, 11, 13], "pull_recording_buffers_from_devic": [5, 7, 10, 11, 13], "spike_recording_data": [5, 7, 10, 11, 13], "spike_event_recording_data": 5, "spike_tim": [5, 10, 11], "spike_id": [5, 11], "wa": [5, 8], "real": 5, "interact": 5, "encapsul": 5, "model_preprocessor": [5, 6], "variablebas": [5, 7], "object": [5, 7], "own": 5, "wherea": [5, 8], "locat": 5, "content": 5, "arraybas": [5, 7], "push_to_devic": [5, 7, 10, 13], "pull_from_devic": [5, 7, 10, 13], "noth": 5, "recommend": 5, "leav": 5, "work": [5, 7], "transparantli": 5, "To": [5, 8], "current_valu": [5, 7], "save": [5, 10, 11, 13], "npy": [5, 10], "transform": [5, 7, 13], "format": [5, 7, 13], "matric": 5, "re": [5, 11, 13], "order": [5, 7, 8, 11, 13], "extract": 5, "wish": 5, "current_view": [5, 7], "behav": 5, "extraglobalparamet": [5, 7], "hold": [5, 7], "updat": [5, 8, 11, 13], "psm_extra_global_param": 5, "set_init_valu": [5, 7, 13], "just": [5, 8], "set_param_dynam": [5, 7, 13], "groupmixin": [5, 7], "set_dynamic_param_valu": [5, 7, 13], "increas": [5, 7], "parameterm": 5, "customconnectivityupd": [6, 7], "parallelismhint": [6, 7], "plogsever": [6, 7], "synapsematrixconnect": [6, 7], "synapsematrixweight": [6, 7], "varaccessdim": [6, 7], "varaccessmodeattribut": [6, 7], "create_psm_egp_ref": [6, 7], "create_wu_egp_ref": [6, 7], "get_var_access_dim": [6, 7], "submodul": 6, "cuda_backend": 6, "genn_group": 6, "postsynaptic_model": 6, "single_threaded_cpu_backend": 6, "pybind11_object": 7, "currentsourcemixin": 7, "get_var_loc": 7, "self": 7, "_genn": 7, "arg0": 7, "set_var_loc": 7, "arg1": 7, "var_initialis": 7, "customconnectivityupdatemixin": 7, "get_post_var_loc": 7, "get_pre_var_loc": 7, "post_var_initialis": 7, "post_var_refer": 7, "pre_var_initialis": 7, "pre_var_refer": 7, "set_post_var_loc": 7, "set_pre_var_loc": 7, "synapse_group": 7, "update_group_nam": 7, "var_refer": 7, "customupdatebas": 7, "customupdatemixin": 7, "ax": [7, 11, 13], "subtract": 7, "ie": 7, "axi": [7, 10, 13], "read_only_shar": 7, "read_only_shared_neuron": 7, "33": 7, "84": 7, "76": 7, "52": 7, "44": 7, "customupdatewumixin": 7, "model_nam": 7, "time_precis": 7, "genn_log_level": 7, "warn": 7, "code_gen_log_level": 7, "transpiler_log_level": 7, "runtime_log_level": 7, "backend_log_level": 7, "preference_kwarg": 7, "modelspecintern": 7, "help": [7, 10, 11, 13], "sourc": [7, 9, 10, 11, 13], "backend_nam": 7, "path_to_model": 7, "always_rebuild": 7, "never_rebuild": 7, "arg": [7, 10, 11, 13], "path": 7, "directori": 7, "rebuilt": 7, "even": 7, "doesn": [7, 11], "appear": 7, "never": 7, "ever": 7, "prevent": 7, "overwrit": 7, "custom_upd": [7, 13], "free_device_mem_byt": 7, "get_custom_update_tim": [7, 13], "get_custom_update_transpose_tim": [7, 13], "init_sparse_tim": [7, 11, 13], "init_tim": [7, 11, 13], "neuron_update_tim": [7, 11, 13], "postsynaptic_update_tim": 7, "presynaptic_update_tim": [7, 11, 13], "record": [7, 10, 11, 13], "buffer": 7, "synapse_dynamics_tim": [7, 13], "unload": 7, "neurongroupmixin": 7, "num_delay_slot": 7, "prev_spike_time_loc": 7, "prev_spike_time_requir": 7, "recording_zero_copy_en": 7, "spike_time_loc": 7, "spike_time_requir": 7, "word_packed_bitmask": 7, "fatal": 7, "info": 7, "verbos": 7, "synapsegroupmixin": 7, "axonal_delay_step": [7, 8], "back_prop_delay_step": 7, "dendritic_delay_loc": 7, "get_ps_var_loc": 7, "get_wu_post_var_loc": 7, "get_wu_pre_var_loc": 7, "get_wu_var_loc": 7, "kernel_s": 7, "max_connect": 7, "max_source_connect": 7, "narrow_sparse_ind_en": 7, "num_threads_per_spik": [7, 11], "output_loc": 7, "parallelism_hint": 7, "ps_initialis": 7, "set_ps_param_dynam": 7, "set_ps_var_loc": 7, "set_wu_param_dynam": 7, "set_wu_post_var_loc": 7, "set_wu_pre_var_loc": 7, "set_wu_var_loc": 7, "sparse_connectivity_initialis": 7, "sparse_connectivity_loc": 7, "toeplitz_connectivity_initialis": 7, "wu_initialis": 7, "flag": 7, "differnet": 7, "8": [7, 11], "16": 7, "66": 7, "129": 7, "136": 7, "264": 7, "68": 7, "272": 7, "individu": 7, "256": [7, 13], "128": 7, "97": 7, "attribut": 7, "summat": 7, "zero_copi": 7, "kwarg": 7, "var_nam": [7, 10], "transpose_sg": 7, "transpose_var_nam": 7, "blocksizeselect": 7, "block": 7, "occup": 7, "pick": 7, "blocksiz": 7, "deviceselect": 7, "most_memori": 7, "most": [7, 8], "preferencesbas": 7, "block_size_select_method": 7, "constant_cache_overhead": 7, "alreadi": 7, "four": 7, "header": [7, 11, 13], "neuronupd": 7, "synapseupd": 7, "runner": 7, "take": [7, 8], "72": 7, "byte": 7, "lookup": 7, "tabl": 7, "curand": 7, "applic": 7, "device_select_method": 7, "enable_nccl_reduct": 7, "correspond": 7, "nccl": 7, "generate_line_info": 7, "line": 7, "result": 7, "profil": [7, 11, 13], "purpos": 7, "manual_block_s": 7, "show_ptx_info": 7, "ptx": 7, "assembl": 7, "inform": 7, "displai": [7, 13], "dure": 7, "compil": [7, 8], "dc": [7, 11], "It": [7, 11, 13], "amp": 7, "amplitud": 7, "na": [7, 10, 11], "noisi": 7, "poissonexp": [7, 11], "equival": 7, "poisson": [7, 13], "tausyn": [7, 11], "fire": [7, 10, 11], "hz": [7, 11], "minim": [7, 10], "load_init_egp": 7, "parent": 7, "get_sparse_post_ind": [7, 10], "get_sparse_pre_ind": [7, 10], "post_spike_event_recording_data": 7, "pre_spike_event_recording_data": 7, "pull_connectivity_from_devic": [7, 10], "push_connectivity_to_devic": 7, "set_sparse_connect": [7, 10], "pre_indic": 7, "post_indic": 7, "rag": 7, "weight_update_var_s": 7, "convert": [7, 10, 13], "channel": 7, "rang": [7, 10, 13], "fixednumberpostwithreplac": 7, "random": [7, 13], "discret": 7, "uniform": 7, "ascend": 7, "1st": 7, "statist": 7, "beta": [7, 13], "npost": 7, "next": 7, "smallest": 7, "special": 7, "fixednumberprewithreplac": [7, 10], "fixednumbertotalwithreplac": [7, 11], "stage": 7, "multinomi": 7, "parallelis": 7, "exist": 7, "bernoulli": 7, "repeatedli": 7, "geometr": 7, "trial": [7, 13], "success": 7, "gap": 7, "devroy": 7, "1986": 7, "invert": 7, "fixedprobabilitynoautaps": 7, "autaps": 7, "recurr": 7, "br": 7, "inneffici": 7, "gemetr": 7, "onetoon": 7, "uninitialis": 7, "mark": 7, "avgpoolconv2d": 7, "averag": [7, 10, 13], "pool": 7, "intialis": 7, "seldom": 7, "initvarsnippet": 7, "implicit": [7, 8], "constructor": 7, "unit": [7, 13], "distanc": 7, "normalclip": [7, 11, 13], "resampl": 7, "out": 7, "my": 7, "thgenn": 7, "minimum": 7, "normalclippeddelai": [7, 11], "intend": 7, "variable_typ": 7, "view": [7, 10, 13], "set_arrai": 7, "view_shap": 7, "variable_nam": 7, "init_valu": 7, "about": 7, "synapsevari": 7, "delay_group": 7, "valinit_valuesu": 7, "get_snippet": 7, "snippet_base_class": 7, "built_in_snippet_modul": 7, "check": 7, "valid": 7, "nativ": 7, "model_famili": 7, "snippetbas": 7, "rais": 7, "attributeerror": 7, "except": [7, 11], "someth": 7, "get_var_init": 7, "var_spac": 7, "initials": 7, "map": 7, "prepare_egp": 7, "prepare_param_v": 7, "prepare_var": 7, "var_typ": 7, "cite": 7, "izhikevich2003simpl": 7, "usual": 7, "eqnarrai": 7, "04": 7, "140": 7, "du": 7, "bv": 7, "extern": [7, 11], "increment": 7, "mv": 7, "particular": 7, "popular": 7, "though": 7, "due": 7, "strictli": 7, "inconsist": 7, "membran": [7, 13], "potenti": [7, 13], "recoveri": 7, "sensit": 7, "izhikevichvari": 7, "neuronmodel": 7, "lif": [7, 10, 11], "vrest": [7, 10, 11, 13], "unless": 7, "randomli": 7, "vspike": 7, "spiketim": [7, 13], "trefract": 7, "last": 7, "period": 7, "tspike": 7, "durat": [7, 11], "rest": 7, "entri": [7, 11, 13], "That": 7, "equal": 7, "undefin": 7, "firingprob": 7, "cdot": 7, "pattern": 7, "leq": 7, "approxim": 7, "given": [7, 11], "math": 7, "relev": 7, "especi": 7, "quit": 7, "small": 7, "moder": 7, "worth": 7, "becom": [7, 8], "poor": 7, "poissonnew": 7, "accord": 7, "timesteptospik": 7, "11": 7, "rulkovmap": 7, "rulkov": 7, "rulkov2002": 7, "nowotny2005self": 7, "ll": 7, "v_": 7, "big": 7, "y": 7, "otherwis": [7, 13], "prev": 7, "60mv": 7, "shift": 7, "excit": 7, "origin": [7, 11], "468": 7, "roughli": 7, "resist": 7, "regul": 7, "omega": 7, "spikesourc": 7, "empti": 7, "spikegeneratorgroup": 7, "brian": 7, "spikesourcearrai": [7, 13], "startspik": [7, 13], "endspik": [7, 13], "globel": 7, "traubmil": 7, "hodgkin": 7, "huxlei": 7, "traub": 7, "mile": 7, "algorithm": 7, "taken": 7, "traub1991": 7, "i_k": 7, "leak": 7, "i_m": 7, "i_i": 7, "g_": 7, "m_i": 7, "h_i": 7, "v_i": 7, "e_": 7, "k": 7, "n_i": 7, "dy": 7, "alpha_i": 7, "beta_i": 7, "y_i": 7, "h": [7, 10, 11, 13], "alpha_n": 7, "032": 7, "50": [7, 10, 11, 13], "beta_n": 7, "55": 7, "40": 7, "alpha_m": 7, "beta_m": 7, "28": 7, "25": [7, 11], "alpha_h": 7, "48": 7, "18": 7, "beta_h": 7, "143": 7, "nf": 7, "02672": 7, "mu": 7, "63": 7, "563": 7, "15": [7, 10], "43": 7, "95": 7, "gna": 7, "mohm": 7, "cm": 7, "ena": 7, "equi": 7, "gk": 7, "ek": 7, "gl": 7, "el": 7, "capac": [7, 10], "densiti": 7, "muf": 7, "ordinari": 7, "differenti": 7, "ldt": 7, "004": 7, "variant": [7, 8], "IF": [7, 10], "singular": 7, "hit": 7, "l": 7, "hospit": 7, "traubmilesalt": 7, "workaround": 7, "avoid": 7, "munimum": 7, "traubmilesfast": 7, "fast": 7, "inner": 7, "There": 7, "traubmilesnstep": 7, "deltacurr": [7, 10, 13], "expdecai": 7, "expf": 7, "host_view": 7, "pull_slice_1d_from_devic": 7, "push_slice_1d_to_devic": 7, "allocate_arrai": 7, "arg2": 7, "get_arrai": 7, "get_delay_point": 7, "get_recorded_post_spike_ev": 7, "numpi": [7, 10, 11, 13], "float64": 7, "int32": 7, "get_recorded_pre_spike_ev": 7, "get_recorded_spik": 7, "initialize_spars": 7, "numericvalu": 7, "statebas": 7, "piecewisestdp": 7, "finit": 7, "transmiss": 7, "window": 7, "piecewis": 7, "imag": [7, 10], "html": 7, "learn1synapse_explain_html": 7, "png": 7, "latex": 7, "learn1synapse_explain": 7, "width": 7, "10cm": 7, "curv": 7, "raw": 7, "graw": 7, "filter": [7, 13], "sugmoid": 7, "obtain": 7, "impli": 7, "unpair": 7, "incur": 7, "henc": 7, "stxx": 7, "xx": [7, 8], "somewhat": [7, 11], "arbitrarili": 7, "subject": 7, "sigmoid": 7, "revert": 7, "correctli": 7, "map_classol": 7, "cc": 7, "mbody1": 7, "neuronn": 7, "gkcdn": 7, "scalar_min": 7, "cnt": 7, "fprintf": 7, "stdout": 7, "too": 7, "low": [7, 11], "below": [7, 9], "tmp": 7, "mykcdn_p": 7, "grawkcdn": 7, "cerr": 7, "endl": 7, "lead": 7, "infin": 7, "nomin": 7, "extrem": 7, "act": 7, "g_0": 7, "t_": 7, "compar": 7, "figur": [7, 11], "tlrn": 7, "tchng": 7, "tdecai": 7, "strength": 7, "tpunish10": 7, "suppress": 7, "respons": 7, "tpunish01": 7, "gmax": 7, "maxim": 7, "achiev": [7, 8], "gmid": 7, "midpoint": 7, "gslope": 7, "slope": 7, "taushift": 7, "gsyn0": 7, "staticgrad": 7, "grade": 7, "gradual": 7, "gsyn": 7, "larger": 7, "epr": 7, "vslope": 7, "releas": 7, "_pre": 7, "_post": 7, "staticpuls": [7, 8, 10], "coupl": 7, "sim": 7, "aim": 8, "backward": 8, "compat": 8, "strive": 8, "underli": 8, "pars": 8, "subset": 8, "variabl": [8, 10, 13], "old": 8, "necessari": [8, 11], "streamlin": 8, "area": 8, "psm": 8, "cumbersom": 8, "wors": 8, "now": 8, "improv": 8, "axon": 8, "were": 8, "realli": 8, "ugli": 8, "confus": 8, "let": 8, "whatev": 8, "outsid": 8, "reus": 8, "globalg": 8, "individualg": 8, "Then": 8, "ve": 8, "renam": 8, "obviou": 8, "chose": 8, "unusu": 8, "pointer": 8, "await": 8, "pr": 8, "settabl": 8, "remov": 8, "refernec": 8, "download": [9, 10, 11, 13], "userproject_python": 9, "zip": [9, 13], "jupyt": [9, 10, 11, 13], "notebook": [9, 10, 11, 13], "userproject_jupyt": 9, "sphinx": [9, 10, 11, 13], "digit": 10, "usag": [10, 11, 13], "plot": [10, 11, 13], "argpars": [10, 11, 13], "argumentpars": [10, 11, 13], "tqdm": 10, "factor": [10, 11], "normalis": 10, "pixel": 10, "input_scal": 10, "stimul": 10, "mbon": 10, "mbon_stimulus_curr": 10, "match": [10, 11], "num_pn": 10, "784": 10, "kenyon": 10, "num_kc": 10, "20000": 10, "num_mbon": 10, "present_time_m": 10, "lif_param": [10, 11], "taum": [10, 11], "60": [10, 13], "vreset": [10, 11], "vthresh": [10, 11, 13], "ioffset": [10, 11], "taurefrac": [10, 11, 13], "pn": 10, "pn_param": 10, "pn_kc_weight": 10, "pn_kc_tau_syn": 10, "pn_kc_fan_in": 10, "kc": 10, "ggn": 10, "inhibit": 10, "200": [10, 13], "ggn_param": 10, "kc_mbon_tau_syn": 10, "kc_mbon_param": 10, "rho": 10, "01": 10, "eta": 10, "00002": 10, "cs_model": 10, "if_model": 10, "symmetr": 10, "symmetric_stdp": 10, "cli": [10, 13], "def": [10, 11, 13], "get_pars": [10, 11, 13], "parser": [10, 11, 13], "add_argu": [10, 11, 13], "store_tru": [10, 11, 13], "__name__": [10, 11, 13], "__main__": [10, 11, 13], "parse_arg": [10, 11, 13], "reshap": [10, 13], "test_imag": 10, "els": [10, 11, 13], "train_imag": 10, "astyp": 10, "float32": [10, 11], "newaxi": 10, "label": 10, "test_label": 10, "train_label": 10, "mnist_mb": 10, "lif_init": [10, 11], "refractim": [10, 11, 13], "if_init": 10, "turn": [10, 13], "pn_input": 10, "mbon_input": 10, "pn_kc_connect": 10, "pn_kc": 10, "pn_kc_ind": 10, "kc_ggn": 10, "ggn_kc": 10, "kc_mbon_weight_upd": 10, "kc_mbon_g": 10, "kc_mbon": 10, "present_timestep": 10, "reset_spike_tim": 10, "finfo": [10, 11], "reset_out_post": 10, "out_post": 10, "reset_neuron": 10, "var_init": 10, "var_val": 10, "item": [10, 11], "num_correct": 10, "count": [10, 13], "mbon_spike_tim": 10, "mbon_spike_id": 10, "len": [10, 11, 13], "argmin": 10, "print": [10, 11, 13], "weigh": 10, "kc_mbon_g_view": 10, "vstack": [10, 13], "plot_weight_distribut": 10, "matplotlib": [10, 11, 13], "pyplot": [10, 11, 13], "plt": [10, 11, 13], "fig": [10, 11, 13], "subplot": [10, 11, 13], "figsiz": 10, "hist": 10, "bin": 10, "axvlin": 10, "linestyl": 10, "set_xlabel": [10, 11, 13], "set_ylabel": [10, 11, 13], "show": [10, 11, 13], "ipynb": [10, 11, 13], "reimplement": [11, 13], "tobia": 11, "marku": 11, "spontan": 11, "irregular": 11, "agreement": 11, "vivo": 11, "awak": 11, "anim": 11, "layer": 11, "excitatori": 11, "neuron_scal": 11, "connectivity_scal": 11, "1000": [11, 13], "norm": 11, "perf_count": 11, "layer_nam": 11, "23": 11, "population_nam": 11, "dt_m": 11, "background": 11, "background_r": 11, "rel": 11, "inhibitori": 11, "l4e": 11, "l2": 11, "3e": 11, "mean_w": 11, "87": 11, "8e": 11, "external_w": 11, "801": 11, "second": [11, 13], "paragraph": 11, "parameter": 11, "caption": 11, "supplementari": 11, "layer_23_4_w": 11, "rel_w": 11, "mention": 11, "layer_23_4_relw": 11, "05": [11, 13], "20683": 11, "5834": 11, "21915": 11, "5479": 11, "4850": 11, "1065": 11, "14395": 11, "2948": 11, "connection_probabilti": 11, "23e": 11, "1009": 11, "23i": 11, "1689": 11, "4e": 11, "0437": 11, "4i": 11, "0818": 11, "5e": 11, "0323": 11, "5i": 11, "6e": 11, "0076": 11, "6i": 11, "1346": 11, "1371": 11, "0316": 11, "0515": 11, "0755": 11, "0042": 11, "0077": 11, "0059": 11, "0497": 11, "135": 11, "0067": 11, "0003": 11, "0453": 11, "0691": 11, "0029": 11, "0794": 11, "1597": 11, "0033": 11, "1057": 11, "1004": 11, "0622": 11, "0505": 11, "0057": 11, "0831": 11, "3726": 11, "0204": 11, "0548": 11, "0269": 11, "0257": 11, "0022": 11, "06": 11, "3158": 11, "0086": 11, "0156": 11, "0066": 11, "0211": 11, "0166": 11, "0572": 11, "0197": 11, "0396": 11, "2252": 11, "0364": 11, "001": [11, 13], "0034": 11, "0005": 11, "0277": 11, "0658": 11, "1443": 11, "degre": 11, "num_external_input": 11, "1600": 11, "1500": 11, "2100": 11, "1900": 11, "2000": 11, "2900": 11, "realiz": 11, "mean_firing_r": 11, "971": 11, "868": 11, "746": 11, "396": 11, "142": 11, "9": [11, 13], "078": 11, "991": 11, "523": 11, "mean_delai": 11, "75": 11, "delay_sd": 11, "375": 11, "helper": [11, 13], "get_scaled_num_neuron": 11, "get_full_num_input": 11, "src_layer": 11, "trg_layer": 11, "trg_pop": 11, "num_src": 11, "num_trg": 11, "connection_prob": 11, "get_mean_weight": 11, "get_scaled_num_connect": 11, "num_input": [11, 13], "assert": 11, "get_full_mean_input_curr": 11, "mean_input_curr": 11, "creation": 11, "fuse_postsynaptic_model": 11, "default_narrow_sparse_ind_en": 11, "timing_en": [11, 13], "kernel_profil": [11, 13], "default_var_loc": 11, "default_sparse_connectivity_loc": 11, "58": 11, "poisson_init": 11, "exp_curr_init": 11, "quantil": 11, "normal_quantile_cdf": 11, "max_delai": 11, "fm": 11, "slot": 11, "seem": 11, "aggress": 11, "merg": 11, "max_dendritic_delay_slot": 11, "total_neuron": 11, "neuron_popul": 11, "ext_input_r": 11, "ext_weight": 11, "ext_input_curr": 11, "poisson_param": 11, "pop_siz": 11, "neuron_pop": 11, "_poisson": 11, "tpopul": 11, "total_synaps": 11, "num_sub_row": 11, "procedural_connect": 11, "trg_name": 11, "src_name": 11, "mean_weight": 11, "weight_sd": 11, "num_connect": 11, "tconnect": 11, "numconnect": 11, "meanweight": 11, "weightsd": 11, "meandelai": 11, "delaysd": 11, "connector": 11, "connect_param": 11, "d_dist": 11, "synapse_nam": 11, "hack": 11, "cast": 11, "w_dist": 11, "static_synapse_init": 11, "syn_pop": 11, "span": 11, "duration_timestep": 11, "ten_percent_timestep": 11, "sim_start_tim": 11, "advanc": 11, "sim_end_tim": 11, "tsimul": 11, "tinit": 11, "tspars": 11, "tneuron": 11, "tsynaps": 11, "save_data": [11, 13], "csv": [11, 13], "savetxt": [11, 13], "_spike": 11, "column_stack": [11, 13], "delimit": [11, 13], "fmt": [11, 13], "yuck": 11, "ordered_neuron_popul": 11, "start_id": 11, "bar_i": 11, "actor": 11, "scatter": [11, 13], "edgecolor": [11, 13], "bar": 11, "colour": 11, "barh": 11, "align": 11, "center": 11, "color": 11, "get_facecolor": 11, "ecolor": 11, "black": 11, "po": 11, "firingr": 11, "set_ytick": 11, "set_yticklabel": 11, "friedemann": 13, "surya": 13, "radcliff": 13, "camera": 13, "oxford": 13, "record_tri": 13, "target_fil": 13, "num_trial": 13, "filenam": 13, "ra": 13, "600": 13, "timestep_m": 13, "num_output": 13, "num_hidden": 13, "tau_rise_m": 13, "tau_decay_m": 13, "tau_rms_m": 13, "30000": 13, "tau_avg_err_m": 13, "10000": 13, "r0": 13, "epsilon": 13, "1e": 13, "tau_decay_": 13, "tau_rise_": 13, "tau_avg_err_": 13, "scale_tr_err_flt": 13, "auryn": 13, "volt": 13, "1000x": 13, "w_min": 13, "w_max": 13, "w0": 13, "experi": 13, "input_freq_hz": 13, "update_time_m": 13, "500": 13, "trial_m": 13, "1890": 13, "update_timestep": 13, "trial_timestep": 13, "calc_t_peak": 13, "tau_ris": 13, "tau_decai": 13, "write_spike_fil": 13, "r_max_prop_model": 13, "r_max_prop": 13, "updatetim": 13, "taurm": 13, "upsilon": 13, "updatetimestep": 13, "exprm": 13, "superspike_model": 13, "tauris": 13, "taudecai": 13, "z": 13, "ztilda": 13, "sigmaprim": 13, "errtilda": 13, "trace": 13, "oneplushi": 13, "elig": 13, "feedback_model": 13, "feedback": 13, "hidden_neuron_model": 13, "hidden": 13, "taumem": 13, "isynfeedback": 13, "rmembran": 13, "output_neuron_model": 13, "tauavgerr": 13, "errris": 13, "avgsqrerr": 13, "errdecai": 13, "normfactor": 13, "trisemult": 13, "tdecaymult": 13, "tpeak": 13, "mulavgerr": 13, "spred": 13, "sreal": 13, "mismatch": 13, "temp": 13, "narg": 13, "target_spik": 13, "loadtxt": 13, "dtype": 13, "neuron_id": 13, "millisecond": 13, "target_neuron_end_tim": 13, "cumsum": 13, "bincount": 13, "minlength": 13, "target_neuron_start_tim": 13, "concaten": 13, "frozen": 13, "input_isi_m": 13, "input_spike_tim": 13, "vector": 13, "reach": 13, "stack": 13, "input_spikes_per_neuron": 13, "togeth": 13, "input_spik": 13, "input_neuron_end_tim": 13, "input_neuron_start_tim": 13, "input_init_var": 13, "hidden_param": 13, "hidden_init_var": 13, "output_param": 13, "output_init_var": 13, "superspike_param": 13, "superspike_pre_init_var": 13, "superspike_post_init_var": 13, "input_hidden_weight_dist_param": 13, "input_hidden_init_var": 13, "hidden_output_weight_dist_param": 13, "hidden_output_init_var": 13, "r_max_prop_param": 13, "descript": 13, "generatelineinfo": 13, "any_record": 13, "input_hidden": 13, "inputhidden": 13, "hidden_output": 13, "hiddenoutput": 13, "output_hidden": 13, "outputhidden": 13, "input_hidden_transpos": 13, "calculatetranspos": 13, "input_hidden_optimiser_var_ref": 13, "input_hidden_optimis": 13, "gradientlearn": 13, "hidden_output_optimiser_var_ref": 13, "hidden_output_optimis": 13, "output_avg_sqr_err_var": 13, "current_r0": 13, "hidden_spik": 13, "output_spik": 13, "perid": 13, "time_": 13, "mean_error": 13, "0e": 13, "upload": 13, "repeat": 13, "input_spikes_": 13, "hidden_spikes_": 13, "output_spikes_": 13, "append": 13, "sharex": 13, "col": 13, "sharei": 13, "enumer": 13, "start_time_": 13, "890": 13}, "objects": {"": [[7, 0, 0, "-", "pygenn"]], "pygenn": [[7, 1, 1, "", "CurrentSource"], [7, 1, 1, "", "CustomConnectivityUpdate"], [7, 1, 1, "", "CustomUpdate"], [7, 1, 1, "", "CustomUpdateVarAccess"], [7, 1, 1, "", "CustomUpdateWU"], [7, 1, 1, "", "GeNNModel"], [7, 1, 1, "", "NeuronGroup"], [7, 1, 1, "", "ParallelismHint"], [7, 1, 1, "", "PlogSeverity"], [7, 1, 1, "", "SynapseGroup"], [7, 1, 1, "", "SynapseMatrixConnectivity"], [7, 1, 1, "", "SynapseMatrixType"], [7, 1, 1, "", "SynapseMatrixWeight"], [7, 1, 1, "", "VarAccess"], [7, 1, 1, "", "VarAccessDim"], [7, 1, 1, "", "VarAccessMode"], [7, 1, 1, "", "VarAccessModeAttribute"], [7, 1, 1, "", "VarLocation"], [7, 5, 1, "", "create_current_source_model"], [7, 5, 1, "", "create_custom_connectivity_update_model"], [7, 5, 1, "", "create_custom_update_model"], [7, 5, 1, "", "create_egp_ref"], [7, 5, 1, "", "create_neuron_model"], [7, 5, 1, "", "create_postsynaptic_model"], [7, 5, 1, "", "create_psm_egp_ref"], [7, 5, 1, "", "create_psm_var_ref"], [7, 5, 1, "", "create_sparse_connect_init_snippet"], [7, 5, 1, "", "create_toeplitz_connect_init_snippet"], [7, 5, 1, "", "create_var_init_snippet"], [7, 5, 1, "", "create_var_ref"], [7, 5, 1, "", "create_weight_update_model"], [7, 5, 1, "", "create_wu_egp_ref"], [7, 5, 1, "", "create_wu_post_var_ref"], [7, 5, 1, "", "create_wu_pre_var_ref"], [7, 5, 1, "", "create_wu_var_ref"], [7, 0, 0, "-", "cuda_backend"], [7, 0, 0, "-", "current_source_models"], [7, 0, 0, "-", "custom_connectivity_update_models"], [7, 0, 0, "-", "custom_update_models"], [7, 0, 0, "-", "genn_groups"], [7, 5, 1, "", "get_var_access_dim"], [7, 5, 1, "", "init_postsynaptic"], [7, 5, 1, "", "init_sparse_connectivity"], [7, 0, 0, "-", "init_sparse_connectivity_snippets"], [7, 5, 1, "", "init_toeplitz_connectivity"], [7, 0, 0, "-", "init_toeplitz_connectivity_snippets"], [7, 5, 1, "", "init_var"], [7, 0, 0, "-", "init_var_snippets"], [7, 5, 1, "", "init_weight_update"], [7, 0, 0, "-", "model_preprocessor"], [7, 0, 0, "-", "neuron_models"], [7, 0, 0, "-", "postsynaptic_models"], [7, 0, 0, "-", "runtime"], [7, 0, 0, "-", "single_threaded_cpu_backend"], [7, 0, 0, "-", "types"], [7, 0, 0, "-", "weight_update_models"]], "pygenn.CurrentSource": [[7, 2, 1, "", "get_var_location"], [7, 3, 1, "", "model"], [7, 3, 1, "", "name"], [7, 3, 1, "", "params"], [7, 2, 1, "", "set_param_dynamic"], [7, 2, 1, "", "set_var_location"], [7, 3, 1, "", "var_initialisers"]], "pygenn.CustomConnectivityUpdate": [[7, 2, 1, "", "get_post_var_location"], [7, 2, 1, "", "get_pre_var_location"], [7, 2, 1, "", "get_var_location"], [7, 3, 1, "", "model"], [7, 3, 1, "", "name"], [7, 3, 1, "", "params"], [7, 3, 1, "", "post_var_initialisers"], [7, 3, 1, "", "post_var_references"], [7, 3, 1, "", "pre_var_initialisers"], [7, 3, 1, "", "pre_var_references"], [7, 2, 1, "", "set_param_dynamic"], [7, 2, 1, "", "set_post_var_location"], [7, 2, 1, "", "set_pre_var_location"], [7, 2, 1, "", "set_var_location"], [7, 3, 1, "", "synapse_group"], [7, 3, 1, "", "update_group_name"], [7, 3, 1, "", "var_initialisers"], [7, 3, 1, "", "var_references"]], "pygenn.CustomUpdate": [[7, 3, 1, "", "num_neurons"], [7, 3, 1, "", "var_references"]], "pygenn.CustomUpdateVarAccess": [[7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_ONLY_SHARED"], [7, 4, 1, "", "READ_ONLY_SHARED_NEURON"], [7, 4, 1, "", "READ_WRITE"], [7, 4, 1, "", "REDUCE_BATCH_MAX"], [7, 4, 1, "", "REDUCE_BATCH_SUM"], [7, 4, 1, "", "REDUCE_NEURON_MAX"], [7, 4, 1, "", "REDUCE_NEURON_SUM"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.CustomUpdateWU": [[7, 3, 1, "", "synapse_group"], [7, 3, 1, "", "var_references"]], "pygenn.GeNNModel": [[7, 2, 1, "", "add_current_source"], [7, 2, 1, "", "add_custom_connectivity_update"], [7, 2, 1, "", "add_custom_update"], [7, 2, 1, "", "add_neuron_population"], [7, 2, 1, "", "add_synapse_population"], [7, 3, 1, "", "backend_name"], [7, 2, 1, "", "build"], [7, 2, 1, "", "custom_update"], [7, 3, 1, "", "dT"], [7, 3, 1, "", "free_device_mem_bytes"], [7, 2, 1, "", "get_custom_update_time"], [7, 2, 1, "", "get_custom_update_transpose_time"], [7, 3, 1, "", "init_sparse_time"], [7, 3, 1, "", "init_time"], [7, 2, 1, "", "load"], [7, 3, 1, "", "neuron_update_time"], [7, 3, 1, "", "postsynaptic_update_time"], [7, 3, 1, "", "presynaptic_update_time"], [7, 2, 1, "", "pull_recording_buffers_from_device"], [7, 2, 1, "", "step_time"], [7, 3, 1, "", "synapse_dynamics_time"], [7, 3, 1, "", "t"], [7, 3, 1, "", "timestep"], [7, 2, 1, "", "unload"]], "pygenn.NeuronGroup": [[7, 2, 1, "", "get_var_location"], [7, 3, 1, "", "model"], [7, 3, 1, "", "name"], [7, 3, 1, "", "num_delay_slots"], [7, 3, 1, "", "num_neurons"], [7, 3, 1, "", "params"], [7, 3, 1, "", "prev_spike_time_location"], [7, 3, 1, "", "prev_spike_time_required"], [7, 3, 1, "", "recording_zero_copy_enabled"], [7, 2, 1, "", "set_param_dynamic"], [7, 2, 1, "", "set_var_location"], [7, 3, 1, "", "spike_event_recording_enabled"], [7, 3, 1, "", "spike_recording_enabled"], [7, 3, 1, "", "spike_time_location"], [7, 3, 1, "", "spike_time_required"], [7, 3, 1, "", "var_initialisers"]], "pygenn.ParallelismHint": [[7, 4, 1, "", "POSTSYNAPTIC"], [7, 4, 1, "", "PRESYNAPTIC"], [7, 4, 1, "", "WORD_PACKED_BITMASK"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.PlogSeverity": [[7, 4, 1, "", "DEBUG"], [7, 4, 1, "", "ERROR"], [7, 4, 1, "", "FATAL"], [7, 4, 1, "", "INFO"], [7, 4, 1, "", "NONE"], [7, 4, 1, "", "VERBOSE"], [7, 4, 1, "", "WARNING"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.SynapseGroup": [[7, 3, 1, "", "axonal_delay_steps"], [7, 3, 1, "", "back_prop_delay_steps"], [7, 3, 1, "", "dendritic_delay_location"], [7, 2, 1, "", "get_ps_var_location"], [7, 2, 1, "", "get_wu_post_var_location"], [7, 2, 1, "", "get_wu_pre_var_location"], [7, 2, 1, "", "get_wu_var_location"], [7, 3, 1, "", "kernel_size"], [7, 3, 1, "", "matrix_type"], [7, 3, 1, "", "max_connections"], [7, 3, 1, "", "max_dendritic_delay_timesteps"], [7, 3, 1, "", "max_source_connections"], [7, 3, 1, "", "name"], [7, 3, 1, "", "narrow_sparse_ind_enabled"], [7, 3, 1, "", "num_threads_per_spike"], [7, 3, 1, "", "output_location"], [7, 3, 1, "", "parallelism_hint"], [7, 3, 1, "", "post_target_var"], [7, 3, 1, "", "pre_target_var"], [7, 3, 1, "", "ps_initialiser"], [7, 2, 1, "", "set_ps_param_dynamic"], [7, 2, 1, "", "set_ps_var_location"], [7, 2, 1, "", "set_wu_param_dynamic"], [7, 2, 1, "", "set_wu_post_var_location"], [7, 2, 1, "", "set_wu_pre_var_location"], [7, 2, 1, "", "set_wu_var_location"], [7, 3, 1, "", "sparse_connectivity_initialiser"], [7, 3, 1, "", "sparse_connectivity_location"], [7, 3, 1, "", "toeplitz_connectivity_initialiser"], [7, 3, 1, "", "wu_initialiser"]], "pygenn.SynapseMatrixConnectivity": [[7, 4, 1, "", "BITMASK"], [7, 4, 1, "", "DENSE"], [7, 4, 1, "", "PROCEDURAL"], [7, 4, 1, "", "SPARSE"], [7, 4, 1, "", "TOEPLITZ"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.SynapseMatrixType": [[7, 4, 1, "", "BITMASK"], [7, 4, 1, "", "DENSE"], [7, 4, 1, "", "DENSE_PROCEDURALG"], [7, 4, 1, "", "PROCEDURAL"], [7, 4, 1, "", "PROCEDURAL_KERNELG"], [7, 4, 1, "", "SPARSE"], [7, 4, 1, "", "TOEPLITZ"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.SynapseMatrixWeight": [[7, 4, 1, "", "INDIVIDUAL"], [7, 4, 1, "", "KERNEL"], [7, 4, 1, "", "PROCEDURAL"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccess": [[7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_ONLY_DUPLICATE"], [7, 4, 1, "", "READ_ONLY_SHARED_NEURON"], [7, 4, 1, "", "READ_WRITE"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccessDim": [[7, 4, 1, "", "BATCH"], [7, 4, 1, "", "ELEMENT"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccessMode": [[7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_WRITE"], [7, 4, 1, "", "REDUCE_MAX"], [7, 4, 1, "", "REDUCE_SUM"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarAccessModeAttribute": [[7, 4, 1, "", "MAX"], [7, 4, 1, "", "READ_ONLY"], [7, 4, 1, "", "READ_WRITE"], [7, 4, 1, "", "REDUCE"], [7, 4, 1, "", "SUM"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.VarLocation": [[7, 4, 1, "", "DEVICE"], [7, 4, 1, "", "HOST"], [7, 4, 1, "", "HOST_DEVICE"], [7, 4, 1, "", "HOST_DEVICE_ZERO_COPY"], [7, 4, 1, "", "ZERO_COPY"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.cuda_backend": [[7, 1, 1, "", "BlockSizeSelect"], [7, 1, 1, "", "DeviceSelect"], [7, 1, 1, "", "Preferences"]], "pygenn.cuda_backend.BlockSizeSelect": [[7, 4, 1, "", "MANUAL"], [7, 4, 1, "", "OCCUPANCY"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.cuda_backend.DeviceSelect": [[7, 4, 1, "", "MANUAL"], [7, 4, 1, "", "MOST_MEMORY"], [7, 4, 1, "", "OPTIMAL"], [7, 3, 1, "", "name"], [7, 3, 1, "", "value"]], "pygenn.cuda_backend.Preferences": [[7, 3, 1, "", "block_size_select_method"], [7, 3, 1, "", "constant_cache_overhead"], [7, 3, 1, "", "device_select_method"], [7, 3, 1, "", "enable_nccl_reductions"], [7, 3, 1, "", "generate_line_info"], [7, 3, 1, "", "manual_block_sizes"], [7, 3, 1, "", "manual_device_id"], [7, 3, 1, "", "show_ptx_info"]], "pygenn.current_source_models": [[7, 5, 1, "", "DC"], [7, 5, 1, "", "GaussianNoise"], [7, 5, 1, "", "PoissonExp"]], "pygenn.custom_update_models": [[7, 5, 1, "", "Transpose"]], "pygenn.genn_groups": [[7, 1, 1, "", "CurrentSourceMixin"], [7, 1, 1, "", "CustomConnectivityUpdateMixin"], [7, 1, 1, "", "CustomUpdateMixin"], [7, 1, 1, "", "CustomUpdateWUMixin"], [7, 1, 1, "", "GroupMixin"], [7, 1, 1, "", "NeuronGroupMixin"], [7, 1, 1, "", "SynapseGroupMixin"]], "pygenn.genn_groups.CurrentSourceMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.CustomConnectivityUpdateMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.CustomUpdateMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.CustomUpdateWUMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.GroupMixin": [[7, 2, 1, "", "set_dynamic_param_value"]], "pygenn.genn_groups.NeuronGroupMixin": [[7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 3, 1, "", "spike_recording_data"], [7, 2, 1, "", "unload"]], "pygenn.genn_groups.SynapseGroupMixin": [[7, 2, 1, "", "get_sparse_post_inds"], [7, 2, 1, "", "get_sparse_pre_inds"], [7, 2, 1, "", "load"], [7, 2, 1, "", "load_init_egps"], [7, 3, 1, "", "post_spike_event_recording_data"], [7, 3, 1, "", "pre_spike_event_recording_data"], [7, 2, 1, "", "pull_connectivity_from_device"], [7, 2, 1, "", "push_connectivity_to_device"], [7, 2, 1, "", "set_sparse_connections"], [7, 3, 1, "", "synapse_group"], [7, 2, 1, "", "unload"], [7, 3, 1, "", "weight_update_var_size"]], "pygenn.init_sparse_connectivity_snippets": [[7, 5, 1, "", "Conv2D"], [7, 5, 1, "", "FixedNumberPostWithReplacement"], [7, 5, 1, "", "FixedNumberPreWithReplacement"], [7, 5, 1, "", "FixedNumberTotalWithReplacement"], [7, 5, 1, "", "FixedProbability"], [7, 5, 1, "", "FixedProbabilityNoAutapse"], [7, 5, 1, "", "OneToOne"], [7, 5, 1, "", "Uninitialised"]], "pygenn.init_toeplitz_connectivity_snippets": [[7, 5, 1, "", "AvgPoolConv2D"], [7, 5, 1, "", "Conv2D"], [7, 5, 1, "", "Uninitialised"]], "pygenn.init_var_snippets": [[7, 5, 1, "", "Binomial"], [7, 5, 1, "", "Constant"], [7, 5, 1, "", "Exponential"], [7, 5, 1, "", "Gamma"], [7, 5, 1, "", "Kernel"], [7, 5, 1, "", "Normal"], [7, 5, 1, "", "NormalClipped"], [7, 5, 1, "", "NormalClippedDelay"], [7, 5, 1, "", "Uniform"], [7, 5, 1, "", "Uninitialised"]], "pygenn.model_preprocessor": [[7, 1, 1, "", "Array"], [7, 1, 1, "", "ArrayBase"], [7, 1, 1, "", "ExtraGlobalParameter"], [7, 1, 1, "", "SynapseVariable"], [7, 1, 1, "", "Variable"], [7, 1, 1, "", "VariableBase"], [7, 5, 1, "", "get_snippet"], [7, 5, 1, "", "get_var_init"], [7, 5, 1, "", "prepare_egps"], [7, 5, 1, "", "prepare_param_vals"], [7, 5, 1, "", "prepare_vars"]], "pygenn.model_preprocessor.Array": [[7, 3, 1, "", "view"]], "pygenn.model_preprocessor.ArrayBase": [[7, 2, 1, "", "pull_from_device"], [7, 2, 1, "", "push_to_device"], [7, 2, 1, "", "set_array"]], "pygenn.model_preprocessor.ExtraGlobalParameter": [[7, 2, 1, "", "set_init_values"], [7, 3, 1, "", "values"], [7, 3, 1, "", "view"]], "pygenn.model_preprocessor.SynapseVariable": [[7, 3, 1, "", "current_values"], [7, 3, 1, "", "current_view"], [7, 3, 1, "", "values"], [7, 3, 1, "", "view"]], "pygenn.model_preprocessor.Variable": [[7, 3, 1, "", "current_values"], [7, 3, 1, "", "current_view"], [7, 3, 1, "", "values"], [7, 3, 1, "", "view"]], "pygenn.model_preprocessor.VariableBase": [[7, 2, 1, "", "set_array"], [7, 2, 1, "", "set_init_values"]], "pygenn.neuron_models": [[7, 5, 1, "", "Izhikevich"], [7, 5, 1, "", "IzhikevichVariable"], [7, 5, 1, "", "LIF"], [7, 5, 1, "", "Poisson"], [7, 5, 1, "", "PoissonNew"], [7, 5, 1, "", "RulkovMap"], [7, 5, 1, "", "SpikeSource"], [7, 5, 1, "", "SpikeSourceArray"], [7, 5, 1, "", "TraubMiles"], [7, 5, 1, "", "TraubMilesAlt"], [7, 5, 1, "", "TraubMilesFast"], [7, 5, 1, "", "TraubMilesNStep"]], "pygenn.postsynaptic_models": [[7, 5, 1, "", "DeltaCurr"], [7, 5, 1, "", "ExpCond"], [7, 5, 1, "", "ExpCurr"]], "pygenn.runtime": [[7, 1, 1, "", "ArrayBase"], [7, 1, 1, "", "Runtime"], [7, 1, 1, "", "StateBase"]], "pygenn.runtime.ArrayBase": [[7, 3, 1, "", "host_view"], [7, 2, 1, "", "pull_from_device"], [7, 2, 1, "", "pull_slice_1d_from_device"], [7, 2, 1, "", "push_slice_1d_to_device"], [7, 2, 1, "", "push_to_device"]], "pygenn.runtime.Runtime": [[7, 2, 1, "", "allocate"], [7, 2, 1, "", "allocate_array"], [7, 2, 1, "", "custom_update"], [7, 2, 1, "", "get_array"], [7, 2, 1, "", "get_custom_update_time"], [7, 2, 1, "", "get_custom_update_transpose_time"], [7, 2, 1, "", "get_delay_pointer"], [7, 2, 1, "", "get_recorded_post_spike_events"], [7, 2, 1, "", "get_recorded_pre_spike_events"], [7, 2, 1, "", "get_recorded_spikes"], [7, 3, 1, "", "init_sparse_time"], [7, 3, 1, "", "init_time"], [7, 2, 1, "", "initialize"], [7, 2, 1, "", "initialize_sparse"], [7, 3, 1, "", "neuron_update_time"], [7, 3, 1, "", "postsynaptic_update_time"], [7, 3, 1, "", "presynaptic_update_time"], [7, 2, 1, "", "pull_recording_buffers_from_device"], [7, 2, 1, "", "set_dynamic_param_value"], [7, 3, 1, "", "state"], [7, 2, 1, "", "step_time"], [7, 3, 1, "", "synapse_dynamics_time"], [7, 3, 1, "", "time"], [7, 3, 1, "", "timestep"]], "pygenn.single_threaded_cpu_backend": [[7, 1, 1, "", "Preferences"]], "pygenn.weight_update_models": [[7, 5, 1, "", "PiecewiseSTDP"], [7, 5, 1, "", "StaticGraded"], [7, 5, 1, "", "StaticPulse"], [7, 5, 1, "", "StaticPulseConstantWeight"], [7, 5, 1, "", "StaticPulseDendriticDelay"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "function", "Python function"]}, "titleterms": {"bibliographi": 0, "build": 1, "network": [1, 5], "The": 1, "model": [1, 2, 10, 11], "popul": 1, "paramet": [1, 5], "extra": [1, 5], "global": [1, 5], "refer": 1, "variabl": [1, 2, 5, 7], "locat": 1, "neuron": [1, 2, 7], "synaps": [1, 2, 7], "current": [1, 2], "sourc": [1, 2], "custom": [1, 2], "updat": [1, 2, 7], "connect": [1, 2], "genncod": [2, 8], "random": 2, "number": 2, "gener": 2, "initialis": 2, "snippet": 2, "spars": 2, "toeplitz": 2, "addit": [2, 7], "input": [2, 7], "weight": 2, "pre": [2, 7], "postsynapt": [2, 7], "dynam": [2, 5, 7], "spike": [2, 5, 7], "like": [2, 7], "event": [2, 7], "batch": [2, 7], "reduct": [2, 7], "parallel": [2, 7], "iter": [2, 7], "remov": [2, 7], "creation": [2, 7], "host": [2, 7], "pygenn": [3, 6, 7, 11, 13], "document": 3, "indic": 3, "tabl": 3, "comput": [4, 12], "time": [4, 12], "simul": 5, "record": 5, "push": 5, "pull": 5, "valu": 5, "view": 5, "packag": 7, "submodul": 7, "cuda_backend": 7, "modul": 7, "current_source_model": 7, "custom_connectivity_update_model": 7, "custom_update_model": 7, "genn_group": 7, "init_sparse_connectivity_snippet": 7, "init_toeplitz_connectivity_snippet": 7, "init_var_snippet": 7, "model_preprocessor": 7, "neuron_model": 7, "postsynaptic_model": 7, "runtim": 7, "single_threaded_cpu_backend": 7, "type": 7, "weight_update_model": 7, "upgrad": 8, "from": 8, "genn": 8, "4": 8, "syntax": 8, "chang": 8, "user": 9, "project": 9, "mnist": 10, "classif": 10, "us": 10, "an": 10, "insect": 10, "inspir": 10, "mushroom": 10, "bodi": 10, "name": [10, 11, 13], "argument": [10, 11, 13], "implement": [11, 13], "local": 11, "cortic": 11, "microcircuit": 11, "superspik": 13}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 58}, "alltitles": {"Bibliography": [[0, "bibliography"]], "Building networks": [[1, "building-networks"]], "The model": [[1, "the-model"]], "Populations": [[1, "populations"]], "Parameters": [[1, "parameters"]], "Extra global parameters": [[1, "extra-global-parameters"], [5, "extra-global-parameters"]], "Extra global parameter references": [[1, "extra-global-parameter-references"]], "Variables": [[1, "variables"], [5, "variables"]], "Variables references": [[1, "variables-references"]], "Variable locations": [[1, "variable-locations"]], "Neuron populations": [[1, "neuron-populations"]], "Synapse populations": [[1, "synapse-populations"]], "Current sources": [[1, "current-sources"]], "Custom updates": [[1, "custom-updates"]], "Custom connectivity updates": [[1, "custom-connectivity-updates"]], "Custom models": [[2, "custom-models"]], "GeNNCode": [[2, "genncode"], [8, "genncode"]], "Random number generation": [[2, "random-number-generation"]], "Initialisation snippets": [[2, "initialisation-snippets"]], "Variable initialisation": [[2, "variable-initialisation"]], "Sparse connectivity initialisation": [[2, "sparse-connectivity-initialisation"]], "Toeplitz connectivity initialisation": [[2, "toeplitz-connectivity-initialisation"]], "Models": [[2, "models"]], "Neuron models": [[2, "neuron-models"]], "Additional input variables": [[2, "additional-input-variables"], [7, "additional-input-variables"]], "Weight update models": [[2, "weight-update-models"]], "Pre and postsynaptic dynamics": [[2, "pre-and-postsynaptic-dynamics"], [7, "pre-and-postsynaptic-dynamics"]], "Synapse dynamics": [[2, "synapse-dynamics"], [7, "synapse-dynamics"]], "Spike-like events": [[2, "spike-like-events"], [7, "spike-like-events"]], "Postsynaptic models": [[2, "postsynaptic-models"]], "Current source models": [[2, "current-source-models"]], "Custom update models": [[2, "custom-update-models"]], "Batch reduction": [[2, "batch-reduction"], [7, "batch-reduction"]], "Neuron reduction": [[2, "neuron-reduction"], [7, "neuron-reduction"]], "Custom connectivity update models": [[2, "custom-connectivity-update-models"]], "Parallel synapse iteration and removal": [[2, "parallel-synapse-iteration-and-removal"], [7, "parallel-synapse-iteration-and-removal"]], "Parallel synapse creation": [[2, "parallel-synapse-creation"], [7, "parallel-synapse-creation"]], "Host updates": [[2, "host-updates"], [7, "host-updates"]], "PyGeNN documentation": [[3, "pygenn-documentation"]], "Indices and tables": [[3, "indices-and-tables"]], "Computation times": [[4, "computation-times"], [12, "computation-times"]], "Simulating networks": [[5, "simulating-networks"]], "Spike recording": [[5, "spike-recording"]], "Pushing and pulling": [[5, "pushing-and-pulling"]], "Values and views": [[5, "values-and-views"]], "Dynamic parameters": [[5, "dynamic-parameters"]], "pygenn": [[6, "pygenn"]], "pygenn package": [[7, "module-pygenn"]], "Submodules": [[7, "submodules"]], "pygenn.cuda_backend module": [[7, "module-pygenn.cuda_backend"]], "pygenn.current_source_models module": [[7, "module-pygenn.current_source_models"]], "pygenn.custom_connectivity_update_models module": [[7, "module-pygenn.custom_connectivity_update_models"]], "pygenn.custom_update_models module": [[7, "module-pygenn.custom_update_models"]], "pygenn.genn_groups module": [[7, "module-pygenn.genn_groups"]], "pygenn.init_sparse_connectivity_snippets module": [[7, "module-pygenn.init_sparse_connectivity_snippets"]], "pygenn.init_toeplitz_connectivity_snippets module": [[7, "module-pygenn.init_toeplitz_connectivity_snippets"]], "pygenn.init_var_snippets module": [[7, "module-pygenn.init_var_snippets"]], "pygenn.model_preprocessor module": [[7, "module-pygenn.model_preprocessor"]], "pygenn.neuron_models module": [[7, "module-pygenn.neuron_models"]], "pygenn.postsynaptic_models module": [[7, "module-pygenn.postsynaptic_models"]], "pygenn.runtime module": [[7, "module-pygenn.runtime"]], "pygenn.single_threaded_cpu_backend module": [[7, "module-pygenn.single_threaded_cpu_backend"]], "pygenn.types module": [[7, "module-pygenn.types"]], "pygenn.weight_update_models module": [[7, "module-pygenn.weight_update_models"]], "Upgrading from GeNN 4": [[8, "upgrading-from-genn-4"]], "Syntax changes": [[8, "syntax-changes"]], "User projects": [[9, "user-projects"]], "MNIST classification using an insect-inspired mushroom body model": [[10, "mnist-classification-using-an-insect-inspired-mushroom-body-model"]], "Named Arguments": [[10, "named-arguments"], [11, "named-arguments"], [13, "named-arguments"]], "PyGeNN implementation of local cortical microcircuit model": [[11, "pygenn-implementation-of-local-cortical-microcircuit-model"]], "PyGeNN implementation of SuperSpike": [[13, "pygenn-implementation-of-superspike"]]}, "indexentries": {"array (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.Array"]], "arraybase (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.ArrayBase"]], "arraybase (class in pygenn.runtime)": [[7, "pygenn.runtime.ArrayBase"]], "avgpoolconv2d() (in module pygenn.init_toeplitz_connectivity_snippets)": [[7, "pygenn.init_toeplitz_connectivity_snippets.AvgPoolConv2D"]], "batch (pygenn.varaccessdim attribute)": [[7, "pygenn.VarAccessDim.BATCH"]], "bitmask (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.BITMASK"]], "bitmask (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.BITMASK"]], "binomial() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Binomial"]], "blocksizeselect (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.BlockSizeSelect"]], "constant() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Constant"]], "conv2d() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.Conv2D"]], "conv2d() (in module pygenn.init_toeplitz_connectivity_snippets)": [[7, "pygenn.init_toeplitz_connectivity_snippets.Conv2D"]], "currentsource (class in pygenn)": [[7, "pygenn.CurrentSource"]], "currentsourcemixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CurrentSourceMixin"]], "customconnectivityupdate (class in pygenn)": [[7, "pygenn.CustomConnectivityUpdate"]], "customconnectivityupdatemixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin"]], "customupdate (class in pygenn)": [[7, "pygenn.CustomUpdate"]], "customupdatemixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CustomUpdateMixin"]], "customupdatevaraccess (class in pygenn)": [[7, "pygenn.CustomUpdateVarAccess"]], "customupdatewu (class in pygenn)": [[7, "pygenn.CustomUpdateWU"]], "customupdatewumixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin"]], "dc() (in module pygenn.current_source_models)": [[7, "pygenn.current_source_models.DC"]], "debug (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.DEBUG"]], "dense (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.DENSE"]], "dense (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.DENSE"]], "dense_proceduralg (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.DENSE_PROCEDURALG"]], "device (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.DEVICE"]], "deltacurr() (in module pygenn.postsynaptic_models)": [[7, "pygenn.postsynaptic_models.DeltaCurr"]], "deviceselect (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.DeviceSelect"]], "element (pygenn.varaccessdim attribute)": [[7, "pygenn.VarAccessDim.ELEMENT"]], "error (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.ERROR"]], "expcond() (in module pygenn.postsynaptic_models)": [[7, "pygenn.postsynaptic_models.ExpCond"]], "expcurr() (in module pygenn.postsynaptic_models)": [[7, "pygenn.postsynaptic_models.ExpCurr"]], "exponential() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Exponential"]], "extraglobalparameter (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter"]], "fatal (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.FATAL"]], "fixednumberpostwithreplacement() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedNumberPostWithReplacement"]], "fixednumberprewithreplacement() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedNumberPreWithReplacement"]], "fixednumbertotalwithreplacement() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedNumberTotalWithReplacement"]], "fixedprobability() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedProbability"]], "fixedprobabilitynoautapse() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.FixedProbabilityNoAutapse"]], "gamma() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Gamma"]], "gaussiannoise() (in module pygenn.current_source_models)": [[7, "pygenn.current_source_models.GaussianNoise"]], "gennmodel (class in pygenn)": [[7, "pygenn.GeNNModel"]], "groupmixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.GroupMixin"]], "host (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.HOST"]], "host_device (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.HOST_DEVICE"]], "host_device_zero_copy (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.HOST_DEVICE_ZERO_COPY"]], "individual (pygenn.synapsematrixweight attribute)": [[7, "pygenn.SynapseMatrixWeight.INDIVIDUAL"]], "info (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.INFO"]], "izhikevich() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.Izhikevich"]], "izhikevichvariable() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.IzhikevichVariable"]], "kernel (pygenn.synapsematrixweight attribute)": [[7, "pygenn.SynapseMatrixWeight.KERNEL"]], "kernel() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Kernel"]], "lif() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.LIF"]], "manual (pygenn.cuda_backend.blocksizeselect attribute)": [[7, "pygenn.cuda_backend.BlockSizeSelect.MANUAL"]], "manual (pygenn.cuda_backend.deviceselect attribute)": [[7, "pygenn.cuda_backend.DeviceSelect.MANUAL"]], "max (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.MAX"]], "most_memory (pygenn.cuda_backend.deviceselect attribute)": [[7, "pygenn.cuda_backend.DeviceSelect.MOST_MEMORY"]], "none (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.NONE"]], "neurongroup (class in pygenn)": [[7, "pygenn.NeuronGroup"]], "neurongroupmixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.NeuronGroupMixin"]], "normal() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Normal"]], "normalclipped() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.NormalClipped"]], "normalclippeddelay() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.NormalClippedDelay"]], "occupancy (pygenn.cuda_backend.blocksizeselect attribute)": [[7, "pygenn.cuda_backend.BlockSizeSelect.OCCUPANCY"]], "optimal (pygenn.cuda_backend.deviceselect attribute)": [[7, "pygenn.cuda_backend.DeviceSelect.OPTIMAL"]], "onetoone() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.OneToOne"]], "postsynaptic (pygenn.parallelismhint attribute)": [[7, "pygenn.ParallelismHint.POSTSYNAPTIC"]], "presynaptic (pygenn.parallelismhint attribute)": [[7, "pygenn.ParallelismHint.PRESYNAPTIC"]], "procedural (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.PROCEDURAL"]], "procedural (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.PROCEDURAL"]], "procedural (pygenn.synapsematrixweight attribute)": [[7, "pygenn.SynapseMatrixWeight.PROCEDURAL"]], "procedural_kernelg (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.PROCEDURAL_KERNELG"]], "parallelismhint (class in pygenn)": [[7, "pygenn.ParallelismHint"]], "piecewisestdp() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.PiecewiseSTDP"]], "plogseverity (class in pygenn)": [[7, "pygenn.PlogSeverity"]], "poisson() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.Poisson"]], "poissonexp() (in module pygenn.current_source_models)": [[7, "pygenn.current_source_models.PoissonExp"]], "poissonnew() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.PoissonNew"]], "preferences (class in pygenn.cuda_backend)": [[7, "pygenn.cuda_backend.Preferences"]], "preferences (class in pygenn.single_threaded_cpu_backend)": [[7, "pygenn.single_threaded_cpu_backend.Preferences"]], "read_only (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_ONLY"]], "read_only (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_ONLY"]], "read_only (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.READ_ONLY"]], "read_only (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.READ_ONLY"]], "read_only_duplicate (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_ONLY_DUPLICATE"]], "read_only_shared (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_ONLY_SHARED"]], "read_only_shared_neuron (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_ONLY_SHARED_NEURON"]], "read_only_shared_neuron (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_ONLY_SHARED_NEURON"]], "read_write (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.READ_WRITE"]], "read_write (pygenn.varaccess attribute)": [[7, "pygenn.VarAccess.READ_WRITE"]], "read_write (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.READ_WRITE"]], "read_write (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.READ_WRITE"]], "reduce (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.REDUCE"]], "reduce_batch_max (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_BATCH_MAX"]], "reduce_batch_sum (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_BATCH_SUM"]], "reduce_max (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.REDUCE_MAX"]], "reduce_neuron_max (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_NEURON_MAX"]], "reduce_neuron_sum (pygenn.customupdatevaraccess attribute)": [[7, "pygenn.CustomUpdateVarAccess.REDUCE_NEURON_SUM"]], "reduce_sum (pygenn.varaccessmode attribute)": [[7, "pygenn.VarAccessMode.REDUCE_SUM"]], "rulkovmap() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.RulkovMap"]], "runtime (class in pygenn.runtime)": [[7, "pygenn.runtime.Runtime"]], "sparse (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.SPARSE"]], "sparse (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.SPARSE"]], "sum (pygenn.varaccessmodeattribute attribute)": [[7, "pygenn.VarAccessModeAttribute.SUM"]], "spikesource() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.SpikeSource"]], "spikesourcearray() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.SpikeSourceArray"]], "statebase (class in pygenn.runtime)": [[7, "pygenn.runtime.StateBase"]], "staticgraded() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticGraded"]], "staticpulse() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticPulse"]], "staticpulseconstantweight() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticPulseConstantWeight"]], "staticpulsedendriticdelay() (in module pygenn.weight_update_models)": [[7, "pygenn.weight_update_models.StaticPulseDendriticDelay"]], "synapsegroup (class in pygenn)": [[7, "pygenn.SynapseGroup"]], "synapsegroupmixin (class in pygenn.genn_groups)": [[7, "pygenn.genn_groups.SynapseGroupMixin"]], "synapsematrixconnectivity (class in pygenn)": [[7, "pygenn.SynapseMatrixConnectivity"]], "synapsematrixtype (class in pygenn)": [[7, "pygenn.SynapseMatrixType"]], "synapsematrixweight (class in pygenn)": [[7, "pygenn.SynapseMatrixWeight"]], "synapsevariable (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.SynapseVariable"]], "toeplitz (pygenn.synapsematrixconnectivity attribute)": [[7, "pygenn.SynapseMatrixConnectivity.TOEPLITZ"]], "toeplitz (pygenn.synapsematrixtype attribute)": [[7, "pygenn.SynapseMatrixType.TOEPLITZ"]], "transpose() (in module pygenn.custom_update_models)": [[7, "pygenn.custom_update_models.Transpose"]], "traubmiles() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMiles"]], "traubmilesalt() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMilesAlt"]], "traubmilesfast() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMilesFast"]], "traubmilesnstep() (in module pygenn.neuron_models)": [[7, "pygenn.neuron_models.TraubMilesNStep"]], "uniform() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Uniform"]], "uninitialised() (in module pygenn.init_sparse_connectivity_snippets)": [[7, "pygenn.init_sparse_connectivity_snippets.Uninitialised"]], "uninitialised() (in module pygenn.init_toeplitz_connectivity_snippets)": [[7, "pygenn.init_toeplitz_connectivity_snippets.Uninitialised"]], "uninitialised() (in module pygenn.init_var_snippets)": [[7, "pygenn.init_var_snippets.Uninitialised"]], "verbose (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.VERBOSE"]], "varaccess (class in pygenn)": [[7, "pygenn.VarAccess"]], "varaccessdim (class in pygenn)": [[7, "pygenn.VarAccessDim"]], "varaccessmode (class in pygenn)": [[7, "pygenn.VarAccessMode"]], "varaccessmodeattribute (class in pygenn)": [[7, "pygenn.VarAccessModeAttribute"]], "varlocation (class in pygenn)": [[7, "pygenn.VarLocation"]], "variable (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.Variable"]], "variablebase (class in pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.VariableBase"]], "warning (pygenn.plogseverity attribute)": [[7, "pygenn.PlogSeverity.WARNING"]], "word_packed_bitmask (pygenn.parallelismhint attribute)": [[7, "pygenn.ParallelismHint.WORD_PACKED_BITMASK"]], "zero_copy (pygenn.varlocation attribute)": [[7, "pygenn.VarLocation.ZERO_COPY"]], "add_current_source() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_current_source"]], "add_custom_connectivity_update() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_custom_connectivity_update"]], "add_custom_update() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_custom_update"]], "add_neuron_population() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_neuron_population"]], "add_synapse_population() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.add_synapse_population"]], "allocate() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.allocate"]], "allocate_array() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.allocate_array"]], "axonal_delay_steps (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.axonal_delay_steps"]], "back_prop_delay_steps (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.back_prop_delay_steps"]], "backend_name (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.backend_name"]], "block_size_select_method (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.block_size_select_method"]], "build() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.build"]], "constant_cache_overhead (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.constant_cache_overhead"]], "create_current_source_model() (in module pygenn)": [[7, "pygenn.create_current_source_model"]], "create_custom_connectivity_update_model() (in module pygenn)": [[7, "pygenn.create_custom_connectivity_update_model"]], "create_custom_update_model() (in module pygenn)": [[7, "pygenn.create_custom_update_model"]], "create_egp_ref() (in module pygenn)": [[7, "pygenn.create_egp_ref"]], "create_neuron_model() (in module pygenn)": [[7, "pygenn.create_neuron_model"]], "create_postsynaptic_model() (in module pygenn)": [[7, "pygenn.create_postsynaptic_model"]], "create_psm_egp_ref() (in module pygenn)": [[7, "pygenn.create_psm_egp_ref"]], "create_psm_var_ref() (in module pygenn)": [[7, "pygenn.create_psm_var_ref"]], "create_sparse_connect_init_snippet() (in module pygenn)": [[7, "pygenn.create_sparse_connect_init_snippet"]], "create_toeplitz_connect_init_snippet() (in module pygenn)": [[7, "pygenn.create_toeplitz_connect_init_snippet"]], "create_var_init_snippet() (in module pygenn)": [[7, "pygenn.create_var_init_snippet"]], "create_var_ref() (in module pygenn)": [[7, "pygenn.create_var_ref"]], "create_weight_update_model() (in module pygenn)": [[7, "pygenn.create_weight_update_model"]], "create_wu_egp_ref() (in module pygenn)": [[7, "pygenn.create_wu_egp_ref"]], "create_wu_post_var_ref() (in module pygenn)": [[7, "pygenn.create_wu_post_var_ref"]], "create_wu_pre_var_ref() (in module pygenn)": [[7, "pygenn.create_wu_pre_var_ref"]], "create_wu_var_ref() (in module pygenn)": [[7, "pygenn.create_wu_var_ref"]], "current_values (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.current_values"]], "current_values (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.current_values"]], "current_view (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.current_view"]], "current_view (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.current_view"]], "custom_update() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.custom_update"]], "custom_update() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.custom_update"]], "dt (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.dT"]], "dendritic_delay_location (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.dendritic_delay_location"]], "device_select_method (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.device_select_method"]], "enable_nccl_reductions (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.enable_nccl_reductions"]], "free_device_mem_bytes (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.free_device_mem_bytes"]], "generate_line_info (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.generate_line_info"]], "get_array() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_array"]], "get_custom_update_time() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.get_custom_update_time"]], "get_custom_update_time() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_custom_update_time"]], "get_custom_update_transpose_time() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.get_custom_update_transpose_time"]], "get_custom_update_transpose_time() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_custom_update_transpose_time"]], "get_delay_pointer() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_delay_pointer"]], "get_post_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.get_post_var_location"]], "get_pre_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.get_pre_var_location"]], "get_ps_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_ps_var_location"]], "get_recorded_post_spike_events() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_recorded_post_spike_events"]], "get_recorded_pre_spike_events() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_recorded_pre_spike_events"]], "get_recorded_spikes() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.get_recorded_spikes"]], "get_snippet() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.get_snippet"]], "get_sparse_post_inds() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.get_sparse_post_inds"]], "get_sparse_pre_inds() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.get_sparse_pre_inds"]], "get_var_access_dim() (in module pygenn)": [[7, "pygenn.get_var_access_dim"]], "get_var_init() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.get_var_init"]], "get_var_location() (pygenn.currentsource method)": [[7, "pygenn.CurrentSource.get_var_location"]], "get_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.get_var_location"]], "get_var_location() (pygenn.neurongroup method)": [[7, "pygenn.NeuronGroup.get_var_location"]], "get_wu_post_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_wu_post_var_location"]], "get_wu_pre_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_wu_pre_var_location"]], "get_wu_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.get_wu_var_location"]], "host_view (pygenn.runtime.arraybase property)": [[7, "pygenn.runtime.ArrayBase.host_view"]], "init_postsynaptic() (in module pygenn)": [[7, "pygenn.init_postsynaptic"]], "init_sparse_connectivity() (in module pygenn)": [[7, "pygenn.init_sparse_connectivity"]], "init_sparse_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.init_sparse_time"]], "init_sparse_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.init_sparse_time"]], "init_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.init_time"]], "init_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.init_time"]], "init_toeplitz_connectivity() (in module pygenn)": [[7, "pygenn.init_toeplitz_connectivity"]], "init_var() (in module pygenn)": [[7, "pygenn.init_var"]], "init_weight_update() (in module pygenn)": [[7, "pygenn.init_weight_update"]], "initialize() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.initialize"]], "initialize_sparse() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.initialize_sparse"]], "kernel_size (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.kernel_size"]], "load() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.load"]], "load() (pygenn.genn_groups.currentsourcemixin method)": [[7, "pygenn.genn_groups.CurrentSourceMixin.load"]], "load() (pygenn.genn_groups.customconnectivityupdatemixin method)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin.load"]], "load() (pygenn.genn_groups.customupdatemixin method)": [[7, "pygenn.genn_groups.CustomUpdateMixin.load"]], "load() (pygenn.genn_groups.customupdatewumixin method)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin.load"]], "load() (pygenn.genn_groups.neurongroupmixin method)": [[7, "pygenn.genn_groups.NeuronGroupMixin.load"]], "load() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.load"]], "load_init_egps() (pygenn.genn_groups.currentsourcemixin method)": [[7, "pygenn.genn_groups.CurrentSourceMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.customconnectivityupdatemixin method)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.customupdatemixin method)": [[7, "pygenn.genn_groups.CustomUpdateMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.customupdatewumixin method)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.neurongroupmixin method)": [[7, "pygenn.genn_groups.NeuronGroupMixin.load_init_egps"]], "load_init_egps() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.load_init_egps"]], "manual_block_sizes (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.manual_block_sizes"]], "manual_device_id (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.manual_device_id"]], "matrix_type (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.matrix_type"]], "max_connections (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.max_connections"]], "max_dendritic_delay_timesteps (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.max_dendritic_delay_timesteps"]], "max_source_connections (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.max_source_connections"]], "model (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.model"]], "model (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.model"]], "model (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.model"]], "module": [[7, "module-pygenn"], [7, "module-pygenn.cuda_backend"], [7, "module-pygenn.current_source_models"], [7, "module-pygenn.custom_connectivity_update_models"], [7, "module-pygenn.custom_update_models"], [7, "module-pygenn.genn_groups"], [7, "module-pygenn.init_sparse_connectivity_snippets"], [7, "module-pygenn.init_toeplitz_connectivity_snippets"], [7, "module-pygenn.init_var_snippets"], [7, "module-pygenn.model_preprocessor"], [7, "module-pygenn.neuron_models"], [7, "module-pygenn.postsynaptic_models"], [7, "module-pygenn.runtime"], [7, "module-pygenn.single_threaded_cpu_backend"], [7, "module-pygenn.types"], [7, "module-pygenn.weight_update_models"]], "name (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.name"]], "name (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.name"]], "name (pygenn.customupdatevaraccess property)": [[7, "pygenn.CustomUpdateVarAccess.name"]], "name (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.name"]], "name (pygenn.parallelismhint property)": [[7, "pygenn.ParallelismHint.name"]], "name (pygenn.plogseverity property)": [[7, "pygenn.PlogSeverity.name"]], "name (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.name"]], "name (pygenn.synapsematrixconnectivity property)": [[7, "pygenn.SynapseMatrixConnectivity.name"]], "name (pygenn.synapsematrixtype property)": [[7, "pygenn.SynapseMatrixType.name"]], "name (pygenn.synapsematrixweight property)": [[7, "pygenn.SynapseMatrixWeight.name"]], "name (pygenn.varaccess property)": [[7, "pygenn.VarAccess.name"]], "name (pygenn.varaccessdim property)": [[7, "pygenn.VarAccessDim.name"]], "name (pygenn.varaccessmode property)": [[7, "pygenn.VarAccessMode.name"]], "name (pygenn.varaccessmodeattribute property)": [[7, "pygenn.VarAccessModeAttribute.name"]], "name (pygenn.varlocation property)": [[7, "pygenn.VarLocation.name"]], "name (pygenn.cuda_backend.blocksizeselect property)": [[7, "pygenn.cuda_backend.BlockSizeSelect.name"]], "name (pygenn.cuda_backend.deviceselect property)": [[7, "pygenn.cuda_backend.DeviceSelect.name"]], "narrow_sparse_ind_enabled (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.narrow_sparse_ind_enabled"]], "neuron_update_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.neuron_update_time"]], "neuron_update_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.neuron_update_time"]], "num_delay_slots (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.num_delay_slots"]], "num_neurons (pygenn.customupdate property)": [[7, "pygenn.CustomUpdate.num_neurons"]], "num_neurons (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.num_neurons"]], "num_threads_per_spike (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.num_threads_per_spike"]], "output_location (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.output_location"]], "parallelism_hint (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.parallelism_hint"]], "params (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.params"]], "params (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.params"]], "params (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.params"]], "post_spike_event_recording_data (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.post_spike_event_recording_data"]], "post_target_var (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.post_target_var"]], "post_var_initialisers (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.post_var_initialisers"]], "post_var_references (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.post_var_references"]], "postsynaptic_update_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.postsynaptic_update_time"]], "postsynaptic_update_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.postsynaptic_update_time"]], "pre_spike_event_recording_data (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.pre_spike_event_recording_data"]], "pre_target_var (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.pre_target_var"]], "pre_var_initialisers (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.pre_var_initialisers"]], "pre_var_references (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.pre_var_references"]], "prepare_egps() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.prepare_egps"]], "prepare_param_vals() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.prepare_param_vals"]], "prepare_vars() (in module pygenn.model_preprocessor)": [[7, "pygenn.model_preprocessor.prepare_vars"]], "presynaptic_update_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.presynaptic_update_time"]], "presynaptic_update_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.presynaptic_update_time"]], "prev_spike_time_location (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.prev_spike_time_location"]], "prev_spike_time_required (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.prev_spike_time_required"]], "ps_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.ps_initialiser"]], "pull_connectivity_from_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.pull_connectivity_from_device"]], "pull_from_device() (pygenn.model_preprocessor.arraybase method)": [[7, "pygenn.model_preprocessor.ArrayBase.pull_from_device"]], "pull_from_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.pull_from_device"]], "pull_recording_buffers_from_device() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.pull_recording_buffers_from_device"]], "pull_recording_buffers_from_device() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.pull_recording_buffers_from_device"]], "pull_slice_1d_from_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.pull_slice_1d_from_device"]], "push_connectivity_to_device() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.push_connectivity_to_device"]], "push_slice_1d_to_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.push_slice_1d_to_device"]], "push_to_device() (pygenn.model_preprocessor.arraybase method)": [[7, "pygenn.model_preprocessor.ArrayBase.push_to_device"]], "push_to_device() (pygenn.runtime.arraybase method)": [[7, "pygenn.runtime.ArrayBase.push_to_device"]], "pygenn": [[7, "module-pygenn"]], "pygenn.cuda_backend": [[7, "module-pygenn.cuda_backend"]], "pygenn.current_source_models": [[7, "module-pygenn.current_source_models"]], "pygenn.custom_connectivity_update_models": [[7, "module-pygenn.custom_connectivity_update_models"]], "pygenn.custom_update_models": [[7, "module-pygenn.custom_update_models"]], "pygenn.genn_groups": [[7, "module-pygenn.genn_groups"]], "pygenn.init_sparse_connectivity_snippets": [[7, "module-pygenn.init_sparse_connectivity_snippets"]], "pygenn.init_toeplitz_connectivity_snippets": [[7, "module-pygenn.init_toeplitz_connectivity_snippets"]], "pygenn.init_var_snippets": [[7, "module-pygenn.init_var_snippets"]], "pygenn.model_preprocessor": [[7, "module-pygenn.model_preprocessor"]], "pygenn.neuron_models": [[7, "module-pygenn.neuron_models"]], "pygenn.postsynaptic_models": [[7, "module-pygenn.postsynaptic_models"]], "pygenn.runtime": [[7, "module-pygenn.runtime"]], "pygenn.single_threaded_cpu_backend": [[7, "module-pygenn.single_threaded_cpu_backend"]], "pygenn.types": [[7, "module-pygenn.types"]], "pygenn.weight_update_models": [[7, "module-pygenn.weight_update_models"]], "recording_zero_copy_enabled (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.recording_zero_copy_enabled"]], "set_array() (pygenn.model_preprocessor.arraybase method)": [[7, "pygenn.model_preprocessor.ArrayBase.set_array"]], "set_array() (pygenn.model_preprocessor.variablebase method)": [[7, "pygenn.model_preprocessor.VariableBase.set_array"]], "set_dynamic_param_value() (pygenn.genn_groups.groupmixin method)": [[7, "pygenn.genn_groups.GroupMixin.set_dynamic_param_value"]], "set_dynamic_param_value() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.set_dynamic_param_value"]], "set_init_values() (pygenn.model_preprocessor.extraglobalparameter method)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter.set_init_values"]], "set_init_values() (pygenn.model_preprocessor.variablebase method)": [[7, "pygenn.model_preprocessor.VariableBase.set_init_values"]], "set_param_dynamic() (pygenn.currentsource method)": [[7, "pygenn.CurrentSource.set_param_dynamic"]], "set_param_dynamic() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_param_dynamic"]], "set_param_dynamic() (pygenn.neurongroup method)": [[7, "pygenn.NeuronGroup.set_param_dynamic"]], "set_post_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_post_var_location"]], "set_pre_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_pre_var_location"]], "set_ps_param_dynamic() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_ps_param_dynamic"]], "set_ps_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_ps_var_location"]], "set_sparse_connections() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.set_sparse_connections"]], "set_var_location() (pygenn.currentsource method)": [[7, "pygenn.CurrentSource.set_var_location"]], "set_var_location() (pygenn.customconnectivityupdate method)": [[7, "pygenn.CustomConnectivityUpdate.set_var_location"]], "set_var_location() (pygenn.neurongroup method)": [[7, "pygenn.NeuronGroup.set_var_location"]], "set_wu_param_dynamic() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_param_dynamic"]], "set_wu_post_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_post_var_location"]], "set_wu_pre_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_pre_var_location"]], "set_wu_var_location() (pygenn.synapsegroup method)": [[7, "pygenn.SynapseGroup.set_wu_var_location"]], "show_ptx_info (pygenn.cuda_backend.preferences property)": [[7, "pygenn.cuda_backend.Preferences.show_ptx_info"]], "sparse_connectivity_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.sparse_connectivity_initialiser"]], "sparse_connectivity_location (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.sparse_connectivity_location"]], "spike_event_recording_enabled (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_event_recording_enabled"]], "spike_recording_data (pygenn.genn_groups.neurongroupmixin property)": [[7, "pygenn.genn_groups.NeuronGroupMixin.spike_recording_data"]], "spike_recording_enabled (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_recording_enabled"]], "spike_time_location (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_time_location"]], "spike_time_required (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.spike_time_required"]], "state (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.state"]], "step_time() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.step_time"]], "step_time() (pygenn.runtime.runtime method)": [[7, "pygenn.runtime.Runtime.step_time"]], "synapse_dynamics_time (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.synapse_dynamics_time"]], "synapse_dynamics_time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.synapse_dynamics_time"]], "synapse_group (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.synapse_group"]], "synapse_group (pygenn.customupdatewu property)": [[7, "pygenn.CustomUpdateWU.synapse_group"]], "synapse_group (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.synapse_group"]], "t (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.t"]], "time (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.time"]], "timestep (pygenn.gennmodel property)": [[7, "pygenn.GeNNModel.timestep"]], "timestep (pygenn.runtime.runtime property)": [[7, "pygenn.runtime.Runtime.timestep"]], "toeplitz_connectivity_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.toeplitz_connectivity_initialiser"]], "unload() (pygenn.gennmodel method)": [[7, "pygenn.GeNNModel.unload"]], "unload() (pygenn.genn_groups.currentsourcemixin method)": [[7, "pygenn.genn_groups.CurrentSourceMixin.unload"]], "unload() (pygenn.genn_groups.customconnectivityupdatemixin method)": [[7, "pygenn.genn_groups.CustomConnectivityUpdateMixin.unload"]], "unload() (pygenn.genn_groups.customupdatemixin method)": [[7, "pygenn.genn_groups.CustomUpdateMixin.unload"]], "unload() (pygenn.genn_groups.customupdatewumixin method)": [[7, "pygenn.genn_groups.CustomUpdateWUMixin.unload"]], "unload() (pygenn.genn_groups.neurongroupmixin method)": [[7, "pygenn.genn_groups.NeuronGroupMixin.unload"]], "unload() (pygenn.genn_groups.synapsegroupmixin method)": [[7, "pygenn.genn_groups.SynapseGroupMixin.unload"]], "update_group_name (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.update_group_name"]], "value (pygenn.customupdatevaraccess property)": [[7, "pygenn.CustomUpdateVarAccess.value"]], "value (pygenn.parallelismhint property)": [[7, "pygenn.ParallelismHint.value"]], "value (pygenn.plogseverity property)": [[7, "pygenn.PlogSeverity.value"]], "value (pygenn.synapsematrixconnectivity property)": [[7, "pygenn.SynapseMatrixConnectivity.value"]], "value (pygenn.synapsematrixtype property)": [[7, "pygenn.SynapseMatrixType.value"]], "value (pygenn.synapsematrixweight property)": [[7, "pygenn.SynapseMatrixWeight.value"]], "value (pygenn.varaccess property)": [[7, "pygenn.VarAccess.value"]], "value (pygenn.varaccessdim property)": [[7, "pygenn.VarAccessDim.value"]], "value (pygenn.varaccessmode property)": [[7, "pygenn.VarAccessMode.value"]], "value (pygenn.varaccessmodeattribute property)": [[7, "pygenn.VarAccessModeAttribute.value"]], "value (pygenn.varlocation property)": [[7, "pygenn.VarLocation.value"]], "value (pygenn.cuda_backend.blocksizeselect property)": [[7, "pygenn.cuda_backend.BlockSizeSelect.value"]], "value (pygenn.cuda_backend.deviceselect property)": [[7, "pygenn.cuda_backend.DeviceSelect.value"]], "values (pygenn.model_preprocessor.extraglobalparameter property)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter.values"]], "values (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.values"]], "values (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.values"]], "var_initialisers (pygenn.currentsource property)": [[7, "pygenn.CurrentSource.var_initialisers"]], "var_initialisers (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.var_initialisers"]], "var_initialisers (pygenn.neurongroup property)": [[7, "pygenn.NeuronGroup.var_initialisers"]], "var_references (pygenn.customconnectivityupdate property)": [[7, "pygenn.CustomConnectivityUpdate.var_references"]], "var_references (pygenn.customupdate property)": [[7, "pygenn.CustomUpdate.var_references"]], "var_references (pygenn.customupdatewu property)": [[7, "pygenn.CustomUpdateWU.var_references"]], "view (pygenn.model_preprocessor.array property)": [[7, "pygenn.model_preprocessor.Array.view"]], "view (pygenn.model_preprocessor.extraglobalparameter property)": [[7, "pygenn.model_preprocessor.ExtraGlobalParameter.view"]], "view (pygenn.model_preprocessor.synapsevariable property)": [[7, "pygenn.model_preprocessor.SynapseVariable.view"]], "view (pygenn.model_preprocessor.variable property)": [[7, "pygenn.model_preprocessor.Variable.view"]], "weight_update_var_size (pygenn.genn_groups.synapsegroupmixin property)": [[7, "pygenn.genn_groups.SynapseGroupMixin.weight_update_var_size"]], "wu_initialiser (pygenn.synapsegroup property)": [[7, "pygenn.SynapseGroup.wu_initialiser"]]}})
\ No newline at end of file
diff --git a/documentation/5/sg_execution_times.html b/documentation/5/sg_execution_times.html
index c6de1a845..0d2a2b22a 100644
--- a/documentation/5/sg_execution_times.html
+++ b/documentation/5/sg_execution_times.html
@@ -3,11 +3,11 @@
-
+
Computation times — PyGeNN documentation
-
+
@@ -62,15 +62,15 @@ Navigation
-MNIST classification using an insect-inspired mushroom body model (../userproject/mnist_mb_classifier.py
)
+MNIST classification using an insect-inspired mushroom body model (..\userproject\mnist_mb_classifier.py
)
00:00.000
0.0
-sphx_glr_userproject_potjans_microcircuit_pygenn.py (../userproject/potjans_microcircuit_pygenn.py
)
+PyGeNN implementation of local cortical microcircuit model (..\userproject\potjans_microcircuit.py
)
00:00.000
0.0
-PyGeNN implementation of SuperSpike (../userproject/superspike_demo.py
)
+PyGeNN implementation of SuperSpike (..\userproject\superspike_demo.py
)
00:00.000
0.0
diff --git a/documentation/5/simulating_networks.html b/documentation/5/simulating_networks.html
index 7d89827f7..10e792398 100644
--- a/documentation/5/simulating_networks.html
+++ b/documentation/5/simulating_networks.html
@@ -3,11 +3,11 @@
-
+
Simulating networks — PyGeNN documentation
-
+
diff --git a/documentation/5/source/modules.html b/documentation/5/source/modules.html
index fbcb062e0..af0576bb9 100644
--- a/documentation/5/source/modules.html
+++ b/documentation/5/source/modules.html
@@ -3,11 +3,11 @@
-
+
pygenn — PyGeNN documentation
-
+
@@ -94,9 +94,6 @@ pygennpygenn.init_sparse_connectivity_snippets module
pygenn.init_toeplitz_connectivity_snippets module
pygenn.init_var_snippets module
-pygenn.libgenn_cuda_backend_dynamic module
-pygenn.libgenn_dynamic module
-pygenn.libgenn_single_threaded_cpu_backend_dynamic module
pygenn.model_preprocessor module
pygenn.neuron_models module
pygenn.postsynaptic_models module
diff --git a/documentation/5/source/pygenn.html b/documentation/5/source/pygenn.html
index 7c5689328..abcb007d4 100644
--- a/documentation/5/source/pygenn.html
+++ b/documentation/5/source/pygenn.html
@@ -3,11 +3,11 @@
-
+
pygenn package — PyGeNN documentation
-
+
@@ -203,15 +203,19 @@ Navigation
class pygenn. CustomUpdateVarAccess
Bases: pybind11_object
+Supported combinations of access mode and dimension for custom update variables
+The axes are defined ‘subtractively’ ie VarAccessDim::BATCH indicates that this axis should be removed
Members:
-READ_WRITE
-READ_ONLY
-READ_ONLY_SHARED
-READ_ONLY_SHARED_NEURON
-REDUCE_BATCH_SUM
-REDUCE_BATCH_MAX
-REDUCE_NEURON_SUM
-REDUCE_NEURON_MAX
+
+READ_WRITE :
+
READ_ONLY :
+
READ_ONLY_SHARED :
+
READ_ONLY_SHARED_NEURON :
+
REDUCE_BATCH_SUM :
+
REDUCE_BATCH_MAX :
+
REDUCE_NEURON_SUM :
+
REDUCE_NEURON_MAX :
+
READ_ONLY = <CustomUpdateVarAccess.READ_ONLY: 1>
@@ -681,9 +685,11 @@ Navigation
class pygenn. ParallelismHint
Bases: pybind11_object
Members:
-POSTSYNAPTIC
-PRESYNAPTIC
-WORD_PACKED_BITMASK
+
+POSTSYNAPTIC :
+
PRESYNAPTIC :
+
WORD_PACKED_BITMASK :
+
POSTSYNAPTIC = <ParallelismHint.POSTSYNAPTIC: 0>
@@ -933,11 +939,11 @@ Navigation
Flags defining differnet types of synaptic matrix connectivity
Members:
-DENSE
-
BITMASK
-
SPARSE
-
PROCEDURAL
-
TOEPLITZ
+
DENSE :
+
BITMASK :
+
SPARSE :
+
PROCEDURAL :
+
TOEPLITZ :
@@ -981,13 +987,13 @@ Navigation
class pygenn. SynapseMatrixType
Bases: pybind11_object
Members:
-DENSE
-DENSE_PROCEDURALG
-BITMASK
-SPARSE
-PROCEDURAL
-PROCEDURAL_KERNELG
-TOEPLITZ
+DENSE :
+DENSE_PROCEDURALG :
+BITMASK :
+SPARSE :
+PROCEDURAL :
+PROCEDURAL_KERNELG :
+TOEPLITZ :
BITMASK = <SynapseMatrixType.BITMASK: 66>
@@ -1039,10 +1045,13 @@ Navigation
class pygenn. SynapseMatrixWeight
Bases: pybind11_object
+Flags defining different types of synaptic matrix connectivity
Members:
-INDIVIDUAL
-PROCEDURAL
-KERNEL
+
+INDIVIDUAL :
+
PROCEDURAL :
+
KERNEL :
+
INDIVIDUAL = <SynapseMatrixWeight.INDIVIDUAL: 64>
@@ -1074,11 +1083,14 @@ Navigation
class pygenn. VarAccess
Bases: pybind11_object
+Supported combinations of access mode and dimension for neuron and synapse variables
Members:
-READ_WRITE
-READ_ONLY
-READ_ONLY_DUPLICATE
-READ_ONLY_SHARED_NEURON
+
+READ_WRITE :
+
READ_ONLY :
+
READ_ONLY_DUPLICATE :
+
READ_ONLY_SHARED_NEURON :
+
READ_ONLY = <VarAccess.READ_ONLY: 33>
@@ -1115,9 +1127,12 @@ Navigation
class pygenn. VarAccessDim
Bases: pybind11_object
+Flags defining dimensions this variables has
Members:
-ELEMENT
-BATCH
+
+
BATCH = <VarAccessDim.BATCH: 64>
@@ -1145,10 +1160,10 @@ Navigation
class pygenn. VarAccessMode
Bases: pybind11_object
Members:
-READ_WRITE
-READ_ONLY
-REDUCE_SUM
-REDUCE_MAX
+READ_WRITE :
+READ_ONLY :
+REDUCE_SUM :
+REDUCE_MAX :
READ_ONLY = <VarAccessMode.READ_ONLY: 1>
@@ -1185,12 +1200,16 @@ Navigation
class pygenn. VarAccessModeAttribute
Bases: pybind11_object
+Flags defining attributes of var access models
+NOTE Read-only and read-write are seperate flags rather than read and write so you can test mode & VarAccessMode::READ_ONLY
Members:
-READ_ONLY
-READ_WRITE
-REDUCE
-SUM
-MAX
+
+READ_ONLY :
+
READ_WRITE : This variable is read only
+
REDUCE : This variable is read-write
+
SUM : This variable is a reduction target
+
MAX : This variable’s reduction operation is a summation
+
MAX = <VarAccessModeAttribute.MAX: 16>
@@ -1233,11 +1252,13 @@ Navigation
class pygenn. VarLocation
Bases: pybind11_object
Members:
-HOST
-DEVICE
-ZERO_COPY
-HOST_DEVICE
-HOST_DEVICE_ZERO_COPY
+
+HOST :
+
DEVICE :
+
ZERO_COPY :
+
HOST_DEVICE :
+
HOST_DEVICE_ZERO_COPY :
+
DEVICE = <VarLocation.DEVICE: 2>
@@ -2229,19 +2250,16 @@ Submodules
property generate_line_info
-
+Should line info be included in resultant executable for debugging/profiling purposes?
+
property manual_block_sizes
-
+If block size select method is set to BlockSizeSelect::MANUAL, block size to use for each kernel
+
property manual_device_id
-
+If device select method is set to DeviceSelect::MANUAL, id of device to use
+
property show_ptx_info
-
-
+Should PTX assembler information be displayed for each CUDA kernel during compilation?
-
-
-class pygenn.cuda_backend. Runtime
-Bases: StateBase
-
-
-nccl_generate_unique_id ( self : pygenn.cuda_backend.Runtime ) → None
-
-
-
-
-nccl_init_communicator ( self : pygenn.cuda_backend.Runtime , arg0 : int , arg1 : int ) → None
-
-
-
-
-property nccl_unique_id
-
-
-
-
-pygenn.cuda_backend. create_backend ( arg0 : pygenn._genn.ModelSpecInternal , arg1 : str , arg2 : pygenn._genn.PlogSeverity , arg3 : pygenn.cuda_backend.Preferences ) → pygenn.cuda_backend.Backend
-
-
pygenn.current_source_models module
@@ -2444,11 +2451,6 @@ Submodules
Bases: GroupMixin
Class representing a custom connectivity update
-
-
-get_var_values ( var_name )
-
-
load ( )
@@ -2493,11 +2495,6 @@ Submodules
Bases: GroupMixin
Class representing a custom weight update
-
-
-get_var_values ( var_name )
-
-
load ( )
@@ -2521,38 +2518,6 @@ Submodules
-
-pygenn.libgenn_dynamic module
-
-
-pygenn.libgenn_single_threaded_cpu_backend_dynamic module
pygenn.model_preprocessor module
@@ -2986,11 +2909,6 @@ pygenn.libgenn_single_threaded_cpu_backend_dynamic module
-
@@ -3075,11 +2993,6 @@ pygenn.libgenn_single_threaded_cpu_backend_dynamic module
-
@@ -3584,23 +3497,12 @@ pygenn.libgenn_single_threaded_cpu_backend_dynamic module