GeNN
4.9.0
GPU enhanced Neuronal Networks (GeNN)
|
Base class for all weight update models. More...
#include <weightUpdateModels.h>
Public Member Functions | |
virtual std::string | getSimCode () const |
Gets simulation code run when 'true' spikes are received. More... | |
virtual std::string | getEventCode () const |
Gets code run when events (all the instances where event threshold condition is met) are received. More... | |
virtual std::string | getLearnPostCode () const |
Gets code to include in the learnSynapsesPost kernel/function. More... | |
virtual std::string | getSynapseDynamicsCode () const |
Gets code for synapse dynamics which are independent of spike detection. More... | |
virtual std::string | getEventThresholdConditionCode () const |
Gets codes to test for events. More... | |
virtual std::string | getSimSupportCode () const |
Gets support code to be made available within the synapse kernel/function. More... | |
virtual std::string | getLearnPostSupportCode () const |
Gets support code to be made available within learnSynapsesPost kernel/function. More... | |
virtual std::string | getSynapseDynamicsSuppportCode () const |
Gets support code to be made available within the synapse dynamics kernel/function. More... | |
virtual std::string | getPreSpikeCode () const |
virtual std::string | getPostSpikeCode () const |
virtual std::string | getPreDynamicsCode () const |
Gets code to be run after presynaptic neuron update. More... | |
virtual std::string | getPostDynamicsCode () const |
Gets code to be run after postsynaptic neuron update. More... | |
virtual VarVec | getPreVars () const |
virtual VarVec | getPostVars () const |
virtual bool | isPreSpikeTimeRequired () const |
Whether presynaptic spike times are needed or not. More... | |
virtual bool | isPostSpikeTimeRequired () const |
Whether postsynaptic spike times are needed or not. More... | |
virtual bool | isPreSpikeEventTimeRequired () const |
Whether presynaptic spike-like-event times are needed or not. More... | |
virtual bool | isPrevPreSpikeTimeRequired () const |
Whether PREVIOUS presynaptic spike times are needed or not. More... | |
virtual bool | isPrevPostSpikeTimeRequired () const |
Whether PREVIOUS postsynaptic spike times are needed or not. More... | |
virtual bool | isPrevPreSpikeEventTimeRequired () const |
Whether PREVIOUS presynaptic spike-like-event times are needed or not. More... | |
size_t | getPreVarIndex (const std::string &varName) const |
Find the index of a named presynaptic variable. More... | |
size_t | getPostVarIndex (const std::string &varName) const |
Find the index of a named postsynaptic variable. More... | |
boost::uuids::detail::sha1::digest_type | getHashDigest () const |
Update hash from model. More... | |
void | validate () const |
Validate names of parameters etc. More... | |
Public Member Functions inherited from Models::Base | |
virtual VarVec | getVars () const |
Gets names and types (as strings) of model variables. More... | |
size_t | getVarIndex (const std::string &varName) const |
Find the index of a named variable. More... | |
Public Member Functions inherited from Snippet::Base | |
virtual | ~Base () |
virtual StringVec | getParamNames () const |
Gets names of of (independent) model parameters. More... | |
virtual DerivedParamVec | getDerivedParams () const |
virtual EGPVec | getExtraGlobalParams () const |
size_t | getExtraGlobalParamIndex (const std::string ¶mName) const |
Find the index of a named extra global parameter. More... | |
Additional Inherited Members | |
Public Types inherited from Models::Base | |
typedef std::vector< Var > | VarVec |
typedef std::vector< VarRef > | VarRefVec |
typedef std::vector< EGPRef > | EGPRefVec |
Public Types inherited from Snippet::Base | |
typedef std::vector< std::string > | StringVec |
typedef std::vector< EGP > | EGPVec |
typedef std::vector< ParamVal > | ParamValVec |
typedef std::vector< DerivedParam > | DerivedParamVec |
Protected Member Functions inherited from Models::Base | |
void | updateHash (boost::uuids::detail::sha1 &hash) const |
void | validate () const |
Validate names of parameters etc. More... | |
Protected Member Functions inherited from Snippet::Base | |
void | updateHash (boost::uuids::detail::sha1 &hash) const |
void | validate () const |
Validate names of parameters etc. More... | |
Static Protected Member Functions inherited from Snippet::Base | |
template<typename T > | |
static size_t | getNamedVecIndex (const std::string &name, const std::vector< T > &vec) |
Base class for all weight update models.
|
inlinevirtual |
Gets code run when events (all the instances where event threshold condition is met) are received.
Reimplemented in WeightUpdateModels::StaticGraded.
|
inlinevirtual |
Gets codes to test for events.
Reimplemented in WeightUpdateModels::StaticGraded.
boost::uuids::detail::sha1::digest_type WeightUpdateModels::Base::getHashDigest | ( | ) | const |
Update hash from model.
|
inlinevirtual |
Gets code to include in the learnSynapsesPost kernel/function.
For examples when modelling STDP, this is where the effect of postsynaptic spikes which occur after presynaptic spikes are applied.
Reimplemented in WeightUpdateModels::PiecewiseSTDP.
|
inlinevirtual |
Gets support code to be made available within learnSynapsesPost kernel/function.
Preprocessor defines are also allowed if appropriately safeguarded against multiple definition by using ifndef; functions should be declared as "__host__ __device__" to be available for both GPU and CPU versions.
|
inlinevirtual |
Gets code to be run after postsynaptic neuron update.
This is typically for the code to update postsynaptic variables. Presynaptic and synapse variables are not accesible from within this code
|
inlinevirtual |
Gets code to be run once per spiking postsynaptic neuron before learn post code is run on synapses
This is typically for the code to update postsynaptic variables. Presynaptic and synapse variables are not accesible from within this code
|
inline |
Find the index of a named postsynaptic variable.
|
inlinevirtual |
Gets names and types (as strings) of state variables that are common across all synapses going to the same postsynaptic neuron
|
inlinevirtual |
Gets code to be run after presynaptic neuron update.
This is typically for the code to update presynaptic variables. Postsynaptic and synapse variables are not accesible from within this code
|
inlinevirtual |
Gets code to be run once per spiking presynaptic neuron before sim code is run on synapses
This is typically for the code to update presynaptic variables. Postsynaptic and synapse variables are not accesible from within this code
|
inline |
Find the index of a named presynaptic variable.
|
inlinevirtual |
Gets names and types (as strings) of state variables that are common across all synapses coming from the same presynaptic neuron
|
inlinevirtual |
Gets simulation code run when 'true' spikes are received.
Reimplemented in WeightUpdateModels::PiecewiseSTDP, WeightUpdateModels::StaticPulseDendriticDelay, and WeightUpdateModels::StaticPulse.
|
inlinevirtual |
Gets support code to be made available within the synapse kernel/function.
This is intended to contain user defined device functions that are used in the weight update code. Preprocessor defines are also allowed if appropriately safeguarded against multiple definition by using ifndef; functions should be declared as "__host__ __device__" to be available for both GPU and CPU versions; note that this support code is available to sim, event threshold and event code
|
inlinevirtual |
Gets code for synapse dynamics which are independent of spike detection.
|
inlinevirtual |
Gets support code to be made available within the synapse dynamics kernel/function.
Preprocessor defines are also allowed if appropriately safeguarded against multiple definition by using ifndef; functions should be declared as "__host__ __device__" to be available for both GPU and CPU versions.
|
inlinevirtual |
Whether postsynaptic spike times are needed or not.
Reimplemented in WeightUpdateModels::PiecewiseSTDP.
|
inlinevirtual |
Whether presynaptic spike-like-event times are needed or not.
|
inlinevirtual |
Whether presynaptic spike times are needed or not.
Reimplemented in WeightUpdateModels::PiecewiseSTDP.
|
inlinevirtual |
Whether PREVIOUS postsynaptic spike times are needed or not.
|
inlinevirtual |
Whether PREVIOUS presynaptic spike-like-event times are needed or not.
|
inlinevirtual |
Whether PREVIOUS presynaptic spike times are needed or not.
void WeightUpdateModels::Base::validate | ( | ) | const |
Validate names of parameters etc.