GeNN  4.0.0
GPU enhanced Neuronal Networks (GeNN)
SynapseGroupInternal Class Reference

#include <synapseGroupInternal.h>

Inheritance diagram for SynapseGroupInternal:
SynapseGroup

Public Member Functions

 SynapseGroupInternal (const std::string name, SynapseMatrixType matrixType, unsigned int delaySteps, const WeightUpdateModels::Base *wu, const std::vector< double > &wuParams, const std::vector< Models::VarInit > &wuVarInitialisers, const std::vector< Models::VarInit > &wuPreVarInitialisers, const std::vector< Models::VarInit > &wuPostVarInitialisers, const PostsynapticModels::Base *ps, const std::vector< double > &psParams, const std::vector< Models::VarInit > &psVarInitialisers, NeuronGroupInternal *srcNeuronGroup, NeuronGroupInternal *trgNeuronGroup, const InitSparseConnectivitySnippet::Init &connectivityInitialiser, VarLocation defaultVarLocation, VarLocation defaultExtraGlobalParamLocation, VarLocation defaultSparseConnectivityLocation)
 
- Public Member Functions inherited from SynapseGroup
 SynapseGroup (const SynapseGroup &)=delete
 
 SynapseGroup ()=delete
 
void setWUVarLocation (const std::string &varName, VarLocation loc)
 Set location of weight update model state variable. More...
 
void setWUPreVarLocation (const std::string &varName, VarLocation loc)
 Set location of weight update model presynaptic state variable. More...
 
void setWUPostVarLocation (const std::string &varName, VarLocation loc)
 Set location of weight update model postsynaptic state variable. More...
 
void setWUExtraGlobalParamLocation (const std::string &paramName, VarLocation loc)
 Set location of weight update model extra global parameter. More...
 
void setPSVarLocation (const std::string &varName, VarLocation loc)
 Set location of postsynaptic model state variable. More...
 
void setPSExtraGlobalParamLocation (const std::string &paramName, VarLocation loc)
 Set location of postsynaptic model extra global parameter. More...
 
void setSparseConnectivityExtraGlobalParamLocation (const std::string &paramName, VarLocation loc)
 Set location of sparse connectivity initialiser extra global parameter. More...
 
void setInSynVarLocation (VarLocation loc)
 Set location of variables used to combine input from this synapse group. More...
 
void setSparseConnectivityLocation (VarLocation loc)
 Set variable mode used for sparse connectivity. More...
 
void setDendriticDelayLocation (VarLocation loc)
 Set variable mode used for this synapse group's dendritic delay buffers. More...
 
void setMaxConnections (unsigned int maxConnections)
 Sets the maximum number of target neurons any source neurons can connect to. More...
 
void setMaxSourceConnections (unsigned int maxPostConnections)
 Sets the maximum number of source neurons any target neuron can connect to. More...
 
void setMaxDendriticDelayTimesteps (unsigned int maxDendriticDelay)
 Sets the maximum dendritic delay for synapses in this synapse group. More...
 
void setSpanType (SpanType spanType)
 Set how CUDA implementation is parallelised. More...
 
void setBackPropDelaySteps (unsigned int timesteps)
 Sets the number of delay steps used to delay postsynaptic spikes travelling back along dendrites to synapses. More...
 
const std::string & getName () const
 
SpanType getSpanType () const
 
unsigned int getDelaySteps () const
 
unsigned int getBackPropDelaySteps () const
 
unsigned int getMaxConnections () const
 
unsigned int getMaxSourceConnections () const
 
unsigned int getMaxDendriticDelayTimesteps () const
 
SynapseMatrixType getMatrixType () const
 
VarLocation getInSynLocation () const
 Get variable mode used for variables used to combine input from this synapse group. More...
 
VarLocation getSparseConnectivityLocation () const
 Get variable mode used for sparse connectivity. More...
 
VarLocation getDendriticDelayLocation () const
 Get variable mode used for this synapse group's dendritic delay buffers. More...
 
int getClusterHostID () const
 
bool isTrueSpikeRequired () const
 Does synapse group need to handle 'true' spikes. More...
 
bool isSpikeEventRequired () const
 Does synapse group need to handle spike-like events. More...
 
const WeightUpdateModels::BasegetWUModel () const
 
const std::vector< double > & getWUParams () const
 
const std::vector< Models::VarInit > & getWUVarInitialisers () const
 
const std::vector< Models::VarInit > & getWUPreVarInitialisers () const
 
const std::vector< Models::VarInit > & getWUPostVarInitialisers () const
 
const std::vector< double > getWUConstInitVals () const
 
const PostsynapticModels::BasegetPSModel () const
 
const std::vector< double > & getPSParams () const
 
const std::vector< Models::VarInit > & getPSVarInitialisers () const
 
const std::vector< double > getPSConstInitVals () const
 
const InitSparseConnectivitySnippet::InitgetConnectivityInitialiser () const
 
bool isZeroCopyEnabled () const
 
VarLocation getWUVarLocation (const std::string &var) const
 Get location of weight update model per-synapse state variable by name. More...
 
VarLocation getWUVarLocation (size_t index) const
 Get location of weight update model per-synapse state variable by index. More...
 
VarLocation getWUPreVarLocation (const std::string &var) const
 Get location of weight update model presynaptic state variable by name. More...
 
VarLocation getWUPreVarLocation (size_t index) const
 Get location of weight update model presynaptic state variable by index. More...
 
VarLocation getWUPostVarLocation (const std::string &var) const
 Get location of weight update model postsynaptic state variable by name. More...
 
VarLocation getWUPostVarLocation (size_t index) const
 Get location of weight update model postsynaptic state variable by index. More...
 
VarLocation getWUExtraGlobalParamLocation (const std::string &paramName) const
 Get location of weight update model extra global parameter by name. More...
 
VarLocation getWUExtraGlobalParamLocation (size_t index) const
 Get location of weight update model extra global parameter by index. More...
 
VarLocation getPSVarLocation (const std::string &var) const
 Get location of postsynaptic model state variable. More...
 
VarLocation getPSVarLocation (size_t index) const
 Get location of postsynaptic model state variable. More...
 
VarLocation getPSExtraGlobalParamLocation (const std::string &paramName) const
 Get location of postsynaptic model extra global parameter by name. More...
 
VarLocation getPSExtraGlobalParamLocation (size_t index) const
 Get location of postsynaptic model extra global parameter by index. More...
 
VarLocation getSparseConnectivityExtraGlobalParamLocation (const std::string &paramName) const
 Get location of sparse connectivity initialiser extra global parameter by name. More...
 
VarLocation getSparseConnectivityExtraGlobalParamLocation (size_t index) const
 Get location of sparse connectivity initialiser extra global parameter by index. More...
 
bool isDendriticDelayRequired () const
 Does this synapse group require dendritic delay? More...
 
bool isPSInitRNGRequired () const
 Does this synapse group require an RNG for it's postsynaptic init code? More...
 
bool isWUInitRNGRequired () const
 Does this synapse group require an RNG for it's weight update init code? More...
 
bool isPSVarInitRequired () const
 Is device var init code required for any variables in this synapse group's postsynaptic model? More...
 
bool isWUVarInitRequired () const
 Is var init code required for any variables in this synapse group's weight update model? More...
 
bool isWUPreVarInitRequired () const
 Is var init code required for any presynaptic variables in this synapse group's weight update model. More...
 
bool isWUPostVarInitRequired () const
 Is var init code required for any postsynaptic variables in this synapse group's weight update model. More...
 
bool isSparseConnectivityInitRequired () const
 Is sparse connectivity initialisation code required for this synapse group? More...
 
bool isInitRequired () const
 Is any form of device initialisation required? More...
 

Additional Inherited Members

- Public Types inherited from SynapseGroup
enum  SpanType { SpanType::POSTSYNAPTIC, SpanType::PRESYNAPTIC }
 
- Protected Member Functions inherited from SynapseGroup
 SynapseGroup (const std::string name, SynapseMatrixType matrixType, unsigned int delaySteps, const WeightUpdateModels::Base *wu, const std::vector< double > &wuParams, const std::vector< Models::VarInit > &wuVarInitialisers, const std::vector< Models::VarInit > &wuPreVarInitialisers, const std::vector< Models::VarInit > &wuPostVarInitialisers, const PostsynapticModels::Base *ps, const std::vector< double > &psParams, const std::vector< Models::VarInit > &psVarInitialisers, NeuronGroupInternal *srcNeuronGroup, NeuronGroupInternal *trgNeuronGroup, const InitSparseConnectivitySnippet::Init &connectivityInitialiser, VarLocation defaultVarLocation, VarLocation defaultExtraGlobalParamLocation, VarLocation defaultSparseConnectivityLocation)
 
NeuronGroupInternalgetSrcNeuronGroup ()
 
NeuronGroupInternalgetTrgNeuronGroup ()
 
void setEventThresholdReTestRequired (bool req)
 
void setPSModelMergeTarget (const std::string &targetName)
 
void initDerivedParams (double dt)
 
const NeuronGroupInternalgetSrcNeuronGroup () const
 
const NeuronGroupInternalgetTrgNeuronGroup () const
 
const std::vector< double > & getWUDerivedParams () const
 
const std::vector< double > & getPSDerivedParams () const
 Does the event threshold needs to be retested in the synapse kernel? More...
 
bool isEventThresholdReTestRequired () const
 
const std::string & getPSModelTargetName () const
 
bool isPSModelMerged () const
 
std::string getPresynapticAxonalDelaySlot (const std::string &devPrefix) const
 
std::string getPostsynapticBackPropDelaySlot (const std::string &devPrefix) const
 
std::string getDendriticDelayOffset (const std::string &devPrefix, const std::string &offset="") const
 

Constructor & Destructor Documentation

◆ SynapseGroupInternal()

SynapseGroupInternal::SynapseGroupInternal ( const std::string  name,
SynapseMatrixType  matrixType,
unsigned int  delaySteps,
const WeightUpdateModels::Base wu,
const std::vector< double > &  wuParams,
const std::vector< Models::VarInit > &  wuVarInitialisers,
const std::vector< Models::VarInit > &  wuPreVarInitialisers,
const std::vector< Models::VarInit > &  wuPostVarInitialisers,
const PostsynapticModels::Base ps,
const std::vector< double > &  psParams,
const std::vector< Models::VarInit > &  psVarInitialisers,
NeuronGroupInternal srcNeuronGroup,
NeuronGroupInternal trgNeuronGroup,
const InitSparseConnectivitySnippet::Init connectivityInitialiser,
VarLocation  defaultVarLocation,
VarLocation  defaultExtraGlobalParamLocation,
VarLocation  defaultSparseConnectivityLocation 
)
inline

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