Skip to content

Commit 5aa20a0

Browse files
Merge pull request #552 from genn-team/4_8_0_release
4.8.0 release
2 parents 459c220 + 40350e6 commit 5aa20a0

File tree

6 files changed

+33
-7
lines changed

6 files changed

+33
-7
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ RUN apt-get update && \
1515
RUN apt-get install -yq --no-install-recommends python3-dev python3-pip swig gosu nano
1616

1717
# Set CUDA environment variable
18-
ENV CUDA_PATH=/usr/local/cuda-11.5
18+
ENV CUDA_PATH=/usr/local/cuda
1919

2020
ENV GENN_PATH=/opt/genn
2121

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,19 +108,23 @@ You can then build the GeNN container yourself or download it from Dockerhub.
108108

109109
### Building the container
110110
The following command can be used from the GeNN source directory to build the GeNN container:
111-
112111
```bash
113112
make docker-build
114113
```
115114

116115
This builds a container tagged as ``genn:latest`` so, to use this container rather than downloading the prebuild one from dockerhub, just replace ``gennteam/genn:latest`` with ``genn:latest`` in the following instructions.
116+
By default, the container image is based off the Ubuntu 20.04 image with CUDA 11.5 provided by NVIDIA but, if you want to use a different base image, for example to use the container on a machine with an older version of CUDA, you can invoke ``docker build`` directly and specify a different tag (listed on https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/supported-tags.md) via the ``BASE`` build argument. For example to build using CUDA 11.3 you could run:
117+
```bash
118+
docker build --build-arg BASE=11.3.0-devel-ubuntu20.04 -t genn:latest_cuda_11_3 .
119+
```
117120

118121
### Interactive mode
119122
If you wish to use GeNN or PyGeNN interactively, you can launch a bash shell in the GeNN container using the following command:
120123
```bash
121124
docker run -it --gpus=all gennteam/genn:latest
122125
```
123126
You can also provide a final argument to launch a different executable e.g. ``/bin/sh`` to launch a dash shell.
127+
**NOTE** PyGeNN is installed in the system Python 3 environment, the interpreter for which is launched with ``python3`` (rather than just ``python``) on Ubuntu 20.04.
124128

125129
### Accessing your files
126130
When using the GeNN container you often want to access files on your host system.

doxygen/02_Quickstart.dox

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,15 +181,15 @@ completed to define a neuronal network model.
181181
\endcode
182182
\note
183183
All provided examples and pre-defined model elements in GeNN work with
184-
units of mV, ms, nF and muS. However, the choice of units is entirely
184+
units of mV, ms, nF and uS. However, the choice of units is entirely
185185
left to the user if custom model elements are used.
186186

187187
`MBody1.cc` shows a typical example of a model definition function. In
188188
its core it contains calls to ModelSpec::addNeuronPopulation and
189189
ModelSpec::addSynapsePopulation to build up the network. For a full range
190190
of options for defining a network, refer to the \link UserManual User
191191
Manual\endlink.
192-
192+
193193
3. The programmer defines their own "simulation" code similar to
194194
the code in `userproject/MBody1_project/model/MBody1Sim.cc`. In this code,
195195

doxygen/09_ReleaseNotes.dox

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
/*! \page ReleaseNotes Release Notes
22

3+
Release Notes for GeNN 4.8.0
4+
====
5+
This release adds a number of significant new features to GeNN as well as including a number of bug fixes that have been identified since the 4.7.1 release.
6+
7+
User Side Changes
8+
----
9+
1. Custom updates extended to work on ``SynapseMatrixWeight::KERNEL`` weight update model variables.
10+
2. Custom updates extended to perform reduction operations across neurons as well as batches (see \ref custom_update_neuron_reduction).
11+
3. PyGeNN can now automatically find Visual Studio build tools using functionality in ``setuptools.msvc.msvc14_get_vc_env``
12+
4. GeNN now comes with a fully-functional Docker image and releases will be distributed via <a href="https://hub.docker.com/repository/docker/gennteam/genn">Dockerhub</a> as well as existing channels. Special thanks to Edward Stevinson, James Turner and Benjamin Evans for their help on this (see the <a href="https://github.com/genn-team/genn/blob/master/README.md">README</a> for more information).
13+
14+
Bug fixes
15+
---------
16+
1. Fixed bug relating to merging of synapse groups which perform presynaptic "revInSyn" updates.
17+
2. Added missing parameter to PyGeNN. pygenn.genn_model.create_custom_postsynaptic_class function so postsynaptic models with extra global parameters can be created.
18+
3. Correctly substitute 0 for \$(batch) when using single-threaded CPU backend.
19+
4. Fixed issues building PyGeNN with Visual Studio 2017.
20+
6. Fixed bug where model might not be rebuilt if sparse connectivity initialisation snippet was changed.
21+
7. Fixed longstanding bug in the ``gen_input_structured`` tool -- used by some userprojects -- where data was written outside of array bounds.
22+
8. Fixed issue with debug mode of ``genn-builmodel.bat`` when used with single-threaded CPU backend.
23+
9. Fixed issue where, if custom update models were the only part of a model that required an RNG for initialisation, one might not be instantiated.
24+
325
Release Notes for GeNN v4.7.1
426
====
527
This release fixes a plethora of issues found in the 4.7.0 release and also includes an optimisation which could be very beneficial for some classes of model.

doxygen/10_UserManual.dox

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ For convenience, \add_cpp_python_text{the methods this class should implement ca
300300
referred to by \$(NAME), where NAME is the name of the variable as
301301
defined in the vector varNames. The code may refer to the predefined
302302
primitives `DT` for the
303-
time step size and `$(Isyn)` for the total incoming synaptic current. It can also refer to a unique ID (within the population) using $(id).
303+
time step size and \$(Isyn) for the total incoming synaptic current. It can also refer to a unique ID (within the population) using \$(id).
304304
- \add_cpp_python_text{SET_THRESHOLD_CONDITION_CODE(THRESHOLD_CONDITION_CODE),`threshold_condition_code=THRESHOLD_CONDITION_CODE`} defines the condition for true spike detection.
305305
- \add_cpp_python_text{SET_RESET_CODE(RESET_CODE),`reset_code=RESET_CODE`} defines code to be run after a true spike is emitted.
306306
- \add_cpp_python_text{SET_PARAM_NAMES(),`param_names`} defines the names of the model parameters.
@@ -494,7 +494,7 @@ SET_SIM_CODE(
494494
\add_toggle_code_python
495495
sim_code="$(addToInSynDelay, $(inc), $(delay));"
496496
\end_toggle_code
497-
where, once again, `inc` is the magnitude of the input step to apply and `delay` is the length of the dendritic delay in timesteps. By implementing `delay` as a weight update model variable, heterogeneous synaptic delays can be implemented. For an example, see WeightUpdateModels::StaticPulseDendriticDelay for a simple synapse update model with heterogeneous dendritic delays.
497+
where, once again, \$(inc) is the magnitude of the input step to apply and `delay` is the length of the dendritic delay in timesteps. By implementing `delay` as a weight update model variable, heterogeneous synaptic delays can be implemented. For an example, see WeightUpdateModels::StaticPulseDendriticDelay for a simple synapse update model with heterogeneous dendritic delays.
498498
\note
499499
When using dendritic delays, the <b>maximum</b> dendritic delay for a synapse populations must be specified using the `SynapseGroup::setMaxDendriticDelayTimesteps()` function.
500500

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.7.1
1+
4.8.0

0 commit comments

Comments
 (0)