Skip to content

Commit

Permalink
Merge pull request #343 from genn-team/4_3_1_release
Browse files Browse the repository at this point in the history
4.3.1 release (also fixed compiler warning about unused parameter)
  • Loading branch information
neworderofjamie authored Jul 13, 2020
2 parents 38fa54e + a78c2c7 commit 14b8de3
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 11 deletions.
12 changes: 12 additions & 0 deletions doxygen/09_ReleaseNotes.dox
Original file line number Diff line number Diff line change
@@ -1,4 +1,16 @@
/*! \page ReleaseNotes Release Notes
Release Notes for GeNN v4.3.1 (PyGeNN 0.4.1)
====
This release fixes several small issues found in the 4.3.0 release.

Bug fixes:
----
1. Fixed reference-counting bugs in PyGeNN that prevented multiple models from being instantiated.
2. Fixed PyGeNN interface for downloading connectivity from GPU.
3. Fixed host initialisation of sparse connectivity initialisation snippet extra global parameters using the CPU backend.
4. Upgraded <a href="https://github.com/SergiusTheBest/plog">third-party logging library</a> to fix issues compiling SpineML generator with Visual Studio 2019.
5. Fixed bug in new code generator that didn't disambiguate between pre or postsynaptic neuron parameters and synapse parameters with the same name.

Release Notes for GeNN v4.3.0 (PyGeNN 0.4.0)
====
This release adds a number of significant new features to GeNN as well as making small improvements to PyGeNN.
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@
**backend_extension_kwargs))

setup(name = "pygenn",
version = "0.4.0",
version = "0.4.1",
packages = find_packages(),
package_data={"pygenn": package_data},

Expand Down
18 changes: 9 additions & 9 deletions src/genn/genn/code_generator/generateSynapseUpdate.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ namespace
{
void applySynapseSubstitutions(CodeGenerator::CodeStream &os, std::string code, const std::string &errorContext,
const CodeGenerator::SynapseGroupMergedBase &sg, const CodeGenerator::Substitutions &baseSubs,
const ModelSpecInternal &model, const CodeGenerator::BackendBase &backend)
const ModelSpecInternal &model)
{
const auto *wu = sg.getArchetype().getWUModel();

Expand Down Expand Up @@ -167,16 +167,16 @@ void CodeGenerator::generateSynapseUpdate(CodeStream &os, const MergedStructData
os << code;
},
// Presynaptic spike
[&backend, &model](CodeStream &os, const PresynapticUpdateGroupMerged &sg, Substitutions &baseSubs)
[&model](CodeStream &os, const PresynapticUpdateGroupMerged &sg, Substitutions &baseSubs)
{
applySynapseSubstitutions(os, sg.getArchetype().getWUModel()->getSimCode(), "simCode",
sg, baseSubs, model, backend);
sg, baseSubs, model);
},
// Presynaptic spike-like event
[&backend, &model](CodeStream &os, const PresynapticUpdateGroupMerged &sg, Substitutions &baseSubs)
[&model](CodeStream &os, const PresynapticUpdateGroupMerged &sg, Substitutions &baseSubs)
{
applySynapseSubstitutions(os, sg.getArchetype().getWUModel()->getEventCode(), "eventCode",
sg, baseSubs, model, backend);
sg, baseSubs, model);
},
// Procedural connectivity
[&backend, &model](CodeStream &os, const PresynapticUpdateGroupMerged &sg, Substitutions &baseSubs)
Expand Down Expand Up @@ -218,26 +218,26 @@ void CodeGenerator::generateSynapseUpdate(CodeStream &os, const MergedStructData
}
},
// Postsynaptic learning code
[&backend, &modelMerged](CodeStream &os, const PostsynapticUpdateGroupMerged &sg, const Substitutions &baseSubs)
[&modelMerged](CodeStream &os, const PostsynapticUpdateGroupMerged &sg, const Substitutions &baseSubs)
{
const auto *wum = sg.getArchetype().getWUModel();
if (!wum->getLearnPostSupportCode().empty()) {
os << "using namespace " << modelMerged.getPostsynapticUpdateSupportCodeNamespace(wum->getLearnPostSupportCode()) << ";" << std::endl;
}

applySynapseSubstitutions(os, wum->getLearnPostCode(), "learnPostCode",
sg, baseSubs, modelMerged.getModel(), backend);
sg, baseSubs, modelMerged.getModel());
},
// Synapse dynamics
[&backend, &modelMerged](CodeStream &os, const SynapseDynamicsGroupMerged &sg, const Substitutions &baseSubs)
[&modelMerged](CodeStream &os, const SynapseDynamicsGroupMerged &sg, const Substitutions &baseSubs)
{
const auto *wum = sg.getArchetype().getWUModel();
if (!wum->getSynapseDynamicsSuppportCode().empty()) {
os << "using namespace " << modelMerged.getSynapseDynamicsSupportCodeNamespace(wum->getSynapseDynamicsSuppportCode()) << ";" << std::endl;
}

applySynapseSubstitutions(os, wum->getSynapseDynamicsCode(), "synapseDynamics",
sg, baseSubs, modelMerged.getModel(), backend);
sg, baseSubs, modelMerged.getModel());
},
// Push EGP handler
[&backend, &mergedStructData](CodeStream &os)
Expand Down
2 changes: 1 addition & 1 deletion version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.3.0
4.3.1

0 comments on commit 14b8de3

Please sign in to comment.