GeNN
4.9.0
GPU enhanced Neuronal Networks (GeNN)
|
#include <modelSpecInternal.h>
Additional Inherited Members | |
Public Types inherited from ModelSpec | |
typedef std::map< std::string, NeuronGroupInternal >::value_type | NeuronGroupValueType |
typedef std::map< std::string, SynapseGroupInternal >::value_type | SynapseGroupValueType |
typedef std::map< std::string, CurrentSourceInternal >::value_type | CurrentSourceValueType |
typedef std::map< std::string, CustomUpdateInternal >::value_type | CustomUpdateValueType |
typedef std::map< std::string, CustomUpdateWUInternal >::value_type | CustomUpdateWUValueType |
Public Member Functions inherited from ModelSpec | |
ModelSpec () | |
ModelSpec (const ModelSpec &)=delete | |
ModelSpec & | operator= (const ModelSpec &)=delete |
~ModelSpec () | |
void | setName (const std::string &name) |
Method to set the neuronal network model name. More... | |
void | setPrecision (FloatType) |
Set numerical precision for floating point. More... | |
void | setTimePrecision (TimePrecision timePrecision) |
Set numerical precision for time. More... | |
void | setDT (double dt) |
Set the integration step size of the model. More... | |
void | setTiming (bool timingEnabled) |
Set whether timers and timing commands are to be included. More... | |
void | setSeed (unsigned int rngSeed) |
Set the random seed (disables automatic seeding if argument not 0). More... | |
void | setDefaultVarLocation (VarLocation loc) |
What is the default location for model state variables? More... | |
void | setDefaultExtraGlobalParamLocation (VarLocation loc) |
What is the default location for model extra global parameters? More... | |
void | setDefaultSparseConnectivityLocation (VarLocation loc) |
What is the default location for sparse synaptic connectivity? More... | |
void | setDefaultNarrowSparseIndEnabled (bool enabled) |
Sets default for whether narrow i.e. less than 32-bit types are used for sparse matrix indices. More... | |
void | setMergePostsynapticModels (bool merge) |
Should compatible postsynaptic models and dendritic delay buffers be fused? More... | |
void | setFusePostsynapticModels (bool fuse) |
Should compatible postsynaptic models and dendritic delay buffers be fused? More... | |
void | setFusePrePostWeightUpdateModels (bool fuse) |
Should compatible pre and postsynaptic weight update model variables and updates be fused? More... | |
void | setBatchSize (unsigned int batchSize) |
const std::string & | getName () const |
Gets the name of the neuronal network model. More... | |
const std::string & | getPrecision () const |
Gets the floating point numerical precision. More... | |
std::string | getTimePrecision () const |
Gets the floating point numerical precision used to represent time. More... | |
double | getDT () const |
Gets the model integration step size. More... | |
unsigned int | getSeed () const |
Get the random seed. More... | |
bool | isTimingEnabled () const |
Are timers and timing commands enabled. More... | |
unsigned int | getBatchSize () const |
unsigned int | getNumNeurons () const |
How many neurons make up the entire model. More... | |
NeuronGroup * | findNeuronGroup (const std::string &name) |
Find a neuron group by name. More... | |
template<typename NeuronModel > | |
NeuronGroup * | addNeuronPopulation (const std::string &name, unsigned int size, const NeuronModel *model, const typename NeuronModel::ParamValues ¶mValues, const typename NeuronModel::VarValues &varInitialisers) |
Adds a new neuron group to the model using a neuron model managed by the user. More... | |
template<typename NeuronModel > | |
NeuronGroup * | addNeuronPopulation (const std::string &name, unsigned int size, const typename NeuronModel::ParamValues ¶mValues, const typename NeuronModel::VarValues &varInitialisers) |
Adds a new neuron group to the model using a singleton neuron model created using standard DECLARE_MODEL and IMPLEMENT_MODEL macros. More... | |
SynapseGroup * | findSynapseGroup (const std::string &name) |
Find a synapse group by name. More... | |
template<typename WeightUpdateModel , typename PostsynapticModel > | |
SynapseGroup * | addSynapsePopulation (const std::string &name, SynapseMatrixType mtype, unsigned int delaySteps, const std::string &src, const std::string &trg, const WeightUpdateModel *wum, const typename WeightUpdateModel::ParamValues &weightParamValues, const typename WeightUpdateModel::VarValues &weightVarInitialisers, const typename WeightUpdateModel::PreVarValues &weightPreVarInitialisers, const typename WeightUpdateModel::PostVarValues &weightPostVarInitialisers, const PostsynapticModel *psm, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers, const InitSparseConnectivitySnippet::Init &connectivityInitialiser=uninitialisedConnectivity()) |
Adds a synapse population to the model using weight update and postsynaptic models managed by the user. More... | |
template<typename WeightUpdateModel , typename PostsynapticModel > | |
SynapseGroup * | addSynapsePopulation (const std::string &name, SynapseMatrixType mtype, unsigned int delaySteps, const std::string &src, const std::string &trg, const WeightUpdateModel *wum, const typename WeightUpdateModel::ParamValues &weightParamValues, const typename WeightUpdateModel::VarValues &weightVarInitialisers, const typename WeightUpdateModel::PreVarValues &weightPreVarInitialisers, const typename WeightUpdateModel::PostVarValues &weightPostVarInitialisers, const PostsynapticModel *psm, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers, const InitToeplitzConnectivitySnippet::Init &connectivityInitialiser) |
Adds a synapse population to the model using weight update and postsynaptic models managed by the user. More... | |
template<typename WeightUpdateModel , typename PostsynapticModel > | |
SynapseGroup * | addSynapsePopulation (const std::string &name, SynapseMatrixType mtype, unsigned int delaySteps, const std::string &src, const std::string &trg, const typename WeightUpdateModel::ParamValues &weightParamValues, const typename WeightUpdateModel::VarValues &weightVarInitialisers, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers, const InitSparseConnectivitySnippet::Init &connectivityInitialiser=uninitialisedConnectivity()) |
Adds a synapse population to the model using singleton weight update and postsynaptic models created using standard DECLARE_MODEL and IMPLEMENT_MODEL macros. More... | |
template<typename WeightUpdateModel , typename PostsynapticModel > | |
SynapseGroup * | addSynapsePopulation (const std::string &name, SynapseMatrixType mtype, unsigned int delaySteps, const std::string &src, const std::string &trg, const typename WeightUpdateModel::ParamValues &weightParamValues, const typename WeightUpdateModel::VarValues &weightVarInitialisers, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers, const InitToeplitzConnectivitySnippet::Init &connectivityInitialiser) |
Adds a synapse population to the model using singleton weight update and postsynaptic models created using standard DECLARE_MODEL and IMPLEMENT_MODEL macros. More... | |
template<typename WeightUpdateModel , typename PostsynapticModel > | |
SynapseGroup * | addSynapsePopulation (const std::string &name, SynapseMatrixType mtype, unsigned int delaySteps, const std::string &src, const std::string &trg, const typename WeightUpdateModel::ParamValues &weightParamValues, const typename WeightUpdateModel::VarValues &weightVarInitialisers, const typename WeightUpdateModel::PreVarValues &weightPreVarInitialisers, const typename WeightUpdateModel::PostVarValues &weightPostVarInitialisers, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers, const InitSparseConnectivitySnippet::Init &connectivityInitialiser=uninitialisedConnectivity()) |
Adds a synapse population to the model using singleton weight update and postsynaptic models created using standard DECLARE_MODEL and IMPLEMENT_MODEL macros. More... | |
template<typename WeightUpdateModel , typename PostsynapticModel > | |
SynapseGroup * | addSynapsePopulation (const std::string &name, SynapseMatrixType mtype, unsigned int delaySteps, const std::string &src, const std::string &trg, const typename WeightUpdateModel::ParamValues &weightParamValues, const typename WeightUpdateModel::VarValues &weightVarInitialisers, const typename WeightUpdateModel::PreVarValues &weightPreVarInitialisers, const typename WeightUpdateModel::PostVarValues &weightPostVarInitialisers, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers, const InitToeplitzConnectivitySnippet::Init &connectivityInitialiser) |
Adds a synapse population to the model using singleton weight update and postsynaptic models created using standard DECLARE_MODEL and IMPLEMENT_MODEL macros. More... | |
template<typename PostsynapticModel > | |
SynapseGroup * | addSlaveSynapsePopulation (const std::string &name, const std::string &weightSharingMasterName, unsigned int delaySteps, const std::string &src, const std::string &trg, const PostsynapticModel *psm, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers) |
Adds a synapse population to the model using shared per-synapse variables and a postsynaptic model managed by the user. More... | |
template<typename PostsynapticModel > | |
SynapseGroup * | addSlaveSynapsePopulation (const std::string &name, const std::string &weightSharingMasterName, unsigned int delaySteps, const std::string &src, const std::string &trg, const typename PostsynapticModel::ParamValues &postsynapticParamValues, const typename PostsynapticModel::VarValues &postsynapticVarInitialisers) |
Adds a synapse population to the model using shared per-synapse variables and a singleton postsynaptic model created using standard DECLARE_MODEL and IMPLEMENT_MODEL macros. More... | |
CurrentSource * | findCurrentSource (const std::string &name) |
Find a current source by name. More... | |
template<typename CurrentSourceModel > | |
CurrentSource * | addCurrentSource (const std::string ¤tSourceName, const CurrentSourceModel *model, const std::string &targetNeuronGroupName, const typename CurrentSourceModel::ParamValues ¶mValues, const typename CurrentSourceModel::VarValues &varInitialisers) |
Adds a new current source to the model using a current source model managed by the user. More... | |
template<typename CurrentSourceModel > | |
CurrentSource * | addCurrentSource (const std::string ¤tSourceName, const std::string &targetNeuronGroupName, const typename CurrentSourceModel::ParamValues ¶mValues, const typename CurrentSourceModel::VarValues &varInitialisers) |
Adds a new current source to the model using a singleton current source model created using standard DECLARE_MODEL and IMPLEMENT_MODEL macros. More... | |
template<typename CustomUpdateModel > | |
CustomUpdate * | addCustomUpdate (const std::string &name, const std::string &updateGroupName, const CustomUpdateModel *model, const typename CustomUpdateModel::ParamValues ¶mValues, const typename CustomUpdateModel::VarValues &varInitialisers, const typename CustomUpdateModel::VarReferences &varReferences, const typename CustomUpdateModel::EGPReferences &egpReferences={}) |
Adds a new custom update with references to the model using a custom update model managed by the user. More... | |
template<typename CustomUpdateModel > | |
CustomUpdateWU * | addCustomUpdate (const std::string &name, const std::string &updateGroupName, const CustomUpdateModel *model, const typename CustomUpdateModel::ParamValues ¶mValues, const typename CustomUpdateModel::VarValues &varInitialisers, const typename CustomUpdateModel::WUVarReferences &varReferences, const typename CustomUpdateModel::EGPReferences &egpReferences={}) |
template<typename CustomUpdateModel > | |
CustomUpdate * | addCustomUpdate (const std::string &name, const std::string &updateGroupName, const typename CustomUpdateModel::ParamValues ¶mValues, const typename CustomUpdateModel::VarValues &varInitialisers, const typename CustomUpdateModel::VarReferences &varReferences, const typename CustomUpdateModel::EGPReferences &egpReferences={}) |
template<typename CustomUpdateModel > | |
CustomUpdateWU * | addCustomUpdate (const std::string &name, const std::string &updateGroupName, const typename CustomUpdateModel::ParamValues ¶mValues, const typename CustomUpdateModel::VarValues &varInitialisers, const typename CustomUpdateModel::WUVarReferences &varReferences, const typename CustomUpdateModel::EGPReferences &egpReferences={}) |
Protected Member Functions inherited from ModelSpec | |
void | finalize () |
Finalise model. More... | |
std::string | scalarExpr (double) const |
Get the string literal that should be used to represent a value in the model's floating-point type. More... | |
bool | zeroCopyInUse () const |
Are any variables in any populations in this model using zero-copy memory? More... | |
bool | isRecordingInUse () const |
Is recording enabled on any population in this model? More... | |
boost::uuids::detail::sha1::digest_type | getHashDigest () const |
Get hash digest used for detecting changes. More... | |
const std::map< std::string, NeuronGroupInternal > & | getNeuronGroups () const |
Get std::map containing local named NeuronGroup objects in model. More... | |
const std::map< std::string, SynapseGroupInternal > & | getSynapseGroups () const |
Get std::map containing local named SynapseGroup objects in model. More... | |
const std::map< std::string, CurrentSourceInternal > & | getLocalCurrentSources () const |
Get std::map containing local named CurrentSource objects in model. More... | |
const std::map< std::string, CustomUpdateInternal > & | getCustomUpdates () const |
Get std::map containing named CustomUpdate objects in model. More... | |
const std::map< std::string, CustomUpdateWUInternal > & | getCustomWUUpdates () const |