|
| 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 |
|