GeNN  4.9.0
GPU enhanced Neuronal Networks (GeNN)
ModelSpecInternal Class Reference

#include <modelSpecInternal.h>

Inheritance diagram for ModelSpecInternal:
ModelSpec

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
 
ModelSpecoperator= (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...
 
NeuronGroupfindNeuronGroup (const std::string &name)
 Find a neuron group by name. More...
 
template<typename NeuronModel >
NeuronGroupaddNeuronPopulation (const std::string &name, unsigned int size, const NeuronModel *model, const typename NeuronModel::ParamValues &paramValues, 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 >
NeuronGroupaddNeuronPopulation (const std::string &name, unsigned int size, const typename NeuronModel::ParamValues &paramValues, 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...
 
SynapseGroupfindSynapseGroup (const std::string &name)
 Find a synapse group by name. More...
 
template<typename WeightUpdateModel , typename PostsynapticModel >
SynapseGroupaddSynapsePopulation (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 >
SynapseGroupaddSynapsePopulation (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 >
SynapseGroupaddSynapsePopulation (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 >
SynapseGroupaddSynapsePopulation (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 >
SynapseGroupaddSynapsePopulation (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 >
SynapseGroupaddSynapsePopulation (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 >
SynapseGroupaddSlaveSynapsePopulation (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 >
SynapseGroupaddSlaveSynapsePopulation (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...
 
CurrentSourcefindCurrentSource (const std::string &name)
 Find a current source by name. More...
 
template<typename CurrentSourceModel >
CurrentSourceaddCurrentSource (const std::string &currentSourceName, const CurrentSourceModel *model, const std::string &targetNeuronGroupName, const typename CurrentSourceModel::ParamValues &paramValues, 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 >
CurrentSourceaddCurrentSource (const std::string &currentSourceName, const std::string &targetNeuronGroupName, const typename CurrentSourceModel::ParamValues &paramValues, 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 >
CustomUpdateaddCustomUpdate (const std::string &name, const std::string &updateGroupName, const CustomUpdateModel *model, const typename CustomUpdateModel::ParamValues &paramValues, 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 >
CustomUpdateWUaddCustomUpdate (const std::string &name, const std::string &updateGroupName, const CustomUpdateModel *model, const typename CustomUpdateModel::ParamValues &paramValues, const typename CustomUpdateModel::VarValues &varInitialisers, const typename CustomUpdateModel::WUVarReferences &varReferences, const typename CustomUpdateModel::EGPReferences &egpReferences={})
 
template<typename CustomUpdateModel >
CustomUpdateaddCustomUpdate (const std::string &name, const std::string &updateGroupName, const typename CustomUpdateModel::ParamValues &paramValues, const typename CustomUpdateModel::VarValues &varInitialisers, const typename CustomUpdateModel::VarReferences &varReferences, const typename CustomUpdateModel::EGPReferences &egpReferences={})
 
template<typename CustomUpdateModel >
CustomUpdateWUaddCustomUpdate (const std::string &name, const std::string &updateGroupName, const typename CustomUpdateModel::ParamValues &paramValues, 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
 

The documentation for this class was generated from the following file: