|  | 
|  | SynapseGroupInternal (const std::string &name, const SynapseGroupInternal *weightSharingMaster, 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, const InitToeplitzConnectivitySnippet::Init &toeplitzConnectivityInitialiser, VarLocation defaultVarLocation, VarLocation defaultExtraGlobalParamLocation, VarLocation defaultSparseConnectivityLocation, bool defaultNarrowSparseIndEnabled) | 
|  | 
|  | 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 ¶mName, 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 ¶mName, VarLocation loc) | 
|  | Set location of postsynaptic model extra global parameter.  More... 
 | 
|  | 
| void | setPSTargetVar (const std::string &varName) | 
|  | Set name of neuron input variable postsynaptic model will target.  More... 
 | 
|  | 
| void | setPreTargetVar (const std::string &varName) | 
|  | Set name of neuron input variable $(addToPre, . ) commands will target.  More... 
 | 
|  | 
| void | setSparseConnectivityExtraGlobalParamLocation (const std::string ¶mName, 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 | setNumThreadsPerSpike (unsigned int numThreadsPerSpike) | 
|  | Set how many threads CUDA implementation uses to process each spike when span type is PRESYNAPTIC.  More... 
 | 
|  | 
| void | setBackPropDelaySteps (unsigned int timesteps) | 
|  | Sets the number of delay steps used to delay postsynaptic spikes travelling back along dendrites to synapses.  More... 
 | 
|  | 
| void | setNarrowSparseIndEnabled (bool enabled) | 
|  | Enables or disables using narrow i.e. less than 32-bit types for sparse matrix indices.  More... 
 | 
|  | 
| const std::string & | getName () const | 
|  | 
| SpanType | getSpanType () const | 
|  | 
| unsigned int | getNumThreadsPerSpike () const | 
|  | 
| unsigned int | getDelaySteps () const | 
|  | 
| unsigned int | getBackPropDelaySteps () const | 
|  | 
| unsigned int | getMaxConnections () const | 
|  | 
| unsigned int | getMaxSourceConnections () const | 
|  | 
| unsigned int | getMaxDendriticDelayTimesteps () const | 
|  | 
| SynapseMatrixType | getMatrixType () const | 
|  | 
| const std::vector< unsigned int > & | getKernelSize () const | 
|  | 
| size_t | getKernelSizeFlattened () 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... 
 | 
|  | 
| 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... 
 | 
|  | 
| bool | isWeightSharingSlave () const | 
|  | Is this synapse group a weight-sharing slave.  More... 
 | 
|  | 
| bool | isPSModelFused () const | 
|  | Has this synapse group's postsynaptic model been fused with those from other synapse groups?  More... 
 | 
|  | 
| bool | isWUPreModelFused () const | 
|  | 
| bool | isWUPostModelFused () const | 
|  | 
| std::string | getSparseIndType () const | 
|  | Get the type to use for sparse connectivity indices for synapse group.  More... 
 | 
|  | 
| const WeightUpdateModels::Base * | getWUModel () 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::Base * | getPSModel () const | 
|  | 
| const std::vector< double > & | getPSParams () const | 
|  | 
| const std::vector< Models::VarInit > & | getPSVarInitialisers () const | 
|  | 
| const std::vector< double > | getPSConstInitVals () const | 
|  | 
| const InitSparseConnectivitySnippet::Init & | getConnectivityInitialiser () const | 
|  | 
| const InitToeplitzConnectivitySnippet::Init & | getToeplitzConnectivityInitialiser () 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 ¶mName) 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 ¶mName) 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... 
 | 
|  | 
| const std::string & | getPSTargetVar () const | 
|  | Get name of neuron input variable postsynaptic model will target.  More... 
 | 
|  | 
| const std::string & | getPreTargetVar () const | 
|  | Get name of neuron input variable which a presynaptic output specified with  will target.  More... 
 | 
|  | 
| VarLocation | getSparseConnectivityExtraGlobalParamLocation (const std::string ¶mName) 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 | isPresynapticOutputRequired () const | 
|  | Does this synapse group define presynaptic output?  More... 
 | 
|  | 
| bool | isProceduralConnectivityRNGRequired () const | 
|  | Does this synapse group require an RNG to generate procedural connectivity?  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 | isWUPreInitRNGRequired () const | 
|  | Does this synapse group require an RNG for it's weight update presynaptic variable init code?  More... 
 | 
|  | 
| bool | isWUPostInitRNGRequired () const | 
|  | Does this synapse group require an RNG for it's weight update postsynaptic variable init code?  More... 
 | 
|  | 
| bool | isHostInitRNGRequired () const | 
|  | Does this synapse group require a RNG for any sort of initialization.  More... 
 | 
|  | 
| bool | isWUVarInitRequired () const | 
|  | Is var init code required for any variables in this synapse group's weight update model?  More... 
 | 
|  | 
| bool | isSparseConnectivityInitRequired () const | 
|  | Is sparse connectivity initialisation code required for this synapse group?  More... 
 | 
|  | 
|  | 
| enum | SpanType { SpanType::POSTSYNAPTIC, 
SpanType::PRESYNAPTIC
 } | 
|  | 
|  | 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 SynapseGroupInternal *weightSharingMaster, const InitSparseConnectivitySnippet::Init &connectivityInitialiser, const InitToeplitzConnectivitySnippet::Init &toeplitzInitialiser, VarLocation defaultVarLocation, VarLocation defaultExtraGlobalParamLocation, VarLocation defaultSparseConnectivityLocation, bool defaultNarrowSparseIndEnabled) | 
|  | 
| NeuronGroupInternal * | getSrcNeuronGroup () | 
|  | 
| NeuronGroupInternal * | getTrgNeuronGroup () | 
|  | 
| void | setEventThresholdReTestRequired (bool req) | 
|  | 
| void | setWUVarReferencedByCustomUpdate (bool ref) | 
|  | Set if any of this synapse group's weight update model variables referenced by a custom update.  More... 
 | 
|  | 
| void | setFusedPSVarSuffix (const std::string &suffix) | 
|  | 
| void | setFusedWUPreVarSuffix (const std::string &suffix) | 
|  | 
| void | setFusedWUPostVarSuffix (const std::string &suffix) | 
|  | 
| void | setFusedPreOutputSuffix (const std::string &suffix) | 
|  | 
| void | initDerivedParams (double dt) | 
|  | 
| const NeuronGroupInternal * | getSrcNeuronGroup () const | 
|  | 
| const NeuronGroupInternal * | getTrgNeuronGroup () const | 
|  | 
| const std::vector< double > & | getWUDerivedParams () const | 
|  | 
| const std::vector< double > & | getPSDerivedParams () const | 
|  | 
| const SynapseGroupInternal * | getWeightSharingMaster () const | 
|  | Does the event threshold needs to be retested in the synapse kernel?  More... 
 | 
|  | 
| bool | isEventThresholdReTestRequired () const | 
|  | 
| const std::string & | getFusedPSVarSuffix () const | 
|  | 
| const std::string & | getFusedWUPreVarSuffix () const | 
|  | 
| const std::string & | getFusedWUPostVarSuffix () const | 
|  | 
| const std::string & | getFusedPreOutputSuffix () const | 
|  | 
| bool | areWUVarReferencedByCustomUpdate () const | 
|  | Are any of this synapse group's weight update model variables referenced by a custom update.  More... 
 | 
|  | 
| bool | canPSBeFused () const | 
|  | Can postsynaptic update component of this synapse group be safely fused with others whose hashes match so only one needs simulating at all?  More... 
 | 
|  | 
| bool | canWUMPreUpdateBeFused () const | 
|  | Can presynaptic update component of this synapse group's weight update model be safely fused with other whose hashes match so only one needs simulating at all?  More... 
 | 
|  | 
| bool | canPreOutputBeFused () const | 
|  | Can presynaptic output component of this synapse group's weight update model be safely fused with other whose hashes match so only one needs simulating at all?  More... 
 | 
|  | 
| bool | canWUMPostUpdateBeFused () const | 
|  | Can postsynaptic update component of this synapse group's weight update model be safely fused with other whose hashes match so only one needs simulating at all?  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUHashDigest () const | 
|  | Generate hash of weight update component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUPreHashDigest () const | 
|  | Generate hash of presynaptic update component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUPostHashDigest () const | 
|  | Generate hash of postsynaptic update component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getPSHashDigest () const | 
|  | Generate hash of postsynaptic update component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUPreFuseHashDigest () const | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUPostFuseHashDigest () const | 
|  | 
| boost::uuids::detail::sha1::digest_type | getPSFuseHashDigest () const | 
|  | 
| boost::uuids::detail::sha1::digest_type | getPreOutputHashDigest () const | 
|  | Generate hash of presynaptic output update component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getDendriticDelayUpdateHashDigest () const | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUInitHashDigest () const | 
|  | Generate hash of initialisation component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUPreInitHashDigest () const | 
|  | Generate hash of presynaptic variable initialisation component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getWUPostInitHashDigest () const | 
|  | Generate hash of postsynaptic variable initialisation component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getPSInitHashDigest () const | 
|  | Generate hash of postsynaptic model variable initialisation component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getPreOutputInitHashDigest () const | 
|  | Generate hash of presynaptic output initialization component of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getConnectivityInitHashDigest () const | 
|  | Generate hash of connectivity initialisation of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getConnectivityHostInitHashDigest () const | 
|  | Generate hash of host connectivity initialisation of this synapse group.  More... 
 | 
|  | 
| boost::uuids::detail::sha1::digest_type | getVarLocationHashDigest () const | 
|  |