GeNN
4.9.0
GPU enhanced Neuronal Networks (GeNN)
|
#include <synapseGroup.h>
Public Types | |
enum | SpanType { SpanType::POSTSYNAPTIC, SpanType::PRESYNAPTIC } |
Public Member Functions | |
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... | |
Protected Member Functions | |
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 |
|
strong |
|
delete |
|
delete |
|
protected |
|
inlineprotected |
Are any of this synapse group's weight update model variables referenced by a custom update.
|
protected |
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?
|
protected |
Can postsynaptic update component of this synapse group be safely fused with others whose hashes match so only one needs simulating at all?
|
protected |
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?
|
protected |
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?
|
inline |
|
protected |
Generate hash of host connectivity initialisation of this synapse group.
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of connectivity initialisation of this synapse group.
NOTE: this can only be called after model is finalized
|
inline |
|
inline |
|
inline |
Get variable mode used for this synapse group's dendritic delay buffers.
|
protected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
Get variable mode used for variables used to combine input from this synapse group.
|
inline |
size_t SynapseGroup::getKernelSizeFlattened | ( | ) | const |
|
inline |
unsigned int SynapseGroup::getMaxConnections | ( | ) | const |
|
inline |
unsigned int SynapseGroup::getMaxSourceConnections | ( | ) | const |
|
inline |
|
inline |
|
protected |
Generate hash of presynaptic output update component of this synapse group.
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of presynaptic output initialization component of this synapse group.
NOTE: this can only be called after model is finalized
|
inline |
Get name of neuron input variable which a presynaptic output specified with will target.
This will either be 'Isyn' or the name of one of the presynaptic neuron's additional input variables.
const std::vector< double > SynapseGroup::getPSConstInitVals | ( | ) | const |
|
inlineprotected |
VarLocation SynapseGroup::getPSExtraGlobalParamLocation | ( | const std::string & | paramName | ) | const |
Get location of postsynaptic model extra global parameter by name.
This is only used by extra global parameters which are pointers
|
inline |
Get location of postsynaptic model extra global parameter by index.
This is only used by extra global parameters which are pointers
|
protected |
Generate hash of postsynaptic update component of this synapse group with additional components to ensure PSMs with matching hashes can not only be simulated using the same code, but fused so only one needs simulating at all
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of postsynaptic update component of this synapse group.
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of postsynaptic model variable initialisation component of this synapse group.
NOTE: this can only be called after model is finalized
|
inline |
|
inline |
|
inline |
Get name of neuron input variable postsynaptic model will target.
This will either be 'Isyn' or the name of one of the postsynaptic neuron's additional input variables.
|
inline |
VarLocation SynapseGroup::getPSVarLocation | ( | const std::string & | var | ) | const |
Get location of postsynaptic model state variable.
|
inline |
Get location of postsynaptic model state variable.
|
inline |
VarLocation SynapseGroup::getSparseConnectivityExtraGlobalParamLocation | ( | const std::string & | paramName | ) | const |
Get location of sparse connectivity initialiser extra global parameter by name.
This is only used by extra global parameters which are pointers
VarLocation SynapseGroup::getSparseConnectivityExtraGlobalParamLocation | ( | size_t | index | ) | const |
Get location of sparse connectivity initialiser extra global parameter by index.
This is only used by extra global parameters which are pointers
VarLocation SynapseGroup::getSparseConnectivityLocation | ( | ) | const |
Get variable mode used for sparse connectivity.
std::string SynapseGroup::getSparseIndType | ( | ) | const |
Get the type to use for sparse connectivity indices for synapse group.
NOTE: this can only be called after model is finalized but needs to be public for PyGeNN
|
inlineprotected |
|
inlineprotected |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
inlineprotected |
Does the event threshold needs to be retested in the synapse kernel?
const std::vector< double > SynapseGroup::getWUConstInitVals | ( | ) | const |
|
inlineprotected |
VarLocation SynapseGroup::getWUExtraGlobalParamLocation | ( | const std::string & | paramName | ) | const |
Get location of weight update model extra global parameter by name.
This is only used by extra global parameters which are pointers
|
inline |
Get location of weight update model extra global parameter by index.
This is only used by extra global parameters which are pointers
|
protected |
Generate hash of weight update component of this synapse group.
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of initialisation component of this synapse group.
NOTE: this can only be called after model is finalized
|
inline |
|
inline |
|
protected |
Generate hash of postsynaptic weight update component of this synapse group with additional components to ensure those with matching hashes can not only be simulated using the same code, but fused so only one needs simulating at all
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of postsynaptic update component of this synapse group.
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of postsynaptic variable initialisation component of this synapse group.
NOTE: this can only be called after model is finalized
|
inline |
VarLocation SynapseGroup::getWUPostVarLocation | ( | const std::string & | var | ) | const |
Get location of weight update model postsynaptic state variable by name.
|
inline |
Get location of weight update model postsynaptic state variable by index.
|
protected |
Generate hash of presynaptic weight update component of this synapse group with additional components to ensure those with matching hashes can not only be simulated using the same code, but fused so only one needs simulating at all
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of presynaptic update component of this synapse group.
NOTE: this can only be called after model is finalized
|
protected |
Generate hash of presynaptic variable initialisation component of this synapse group.
NOTE: this can only be called after model is finalized
|
inline |
VarLocation SynapseGroup::getWUPreVarLocation | ( | const std::string & | var | ) | const |
Get location of weight update model presynaptic state variable by name.
|
inline |
Get location of weight update model presynaptic state variable by index.
|
inline |
VarLocation SynapseGroup::getWUVarLocation | ( | const std::string & | var | ) | const |
Get location of weight update model per-synapse state variable by name.
VarLocation SynapseGroup::getWUVarLocation | ( | size_t | index | ) | const |
Get location of weight update model per-synapse state variable by index.
|
protected |
bool SynapseGroup::isDendriticDelayRequired | ( | ) | const |
Does this synapse group require dendritic delay?
|
inlineprotected |
This is required when the pre-synaptic neuron population's outgoing synapse groups require different event threshold
bool SynapseGroup::isHostInitRNGRequired | ( | ) | const |
Does this synapse group require a RNG for any sort of initialization.
bool SynapseGroup::isPresynapticOutputRequired | ( | ) | const |
Does this synapse group define presynaptic output?
bool SynapseGroup::isProceduralConnectivityRNGRequired | ( | ) | const |
Does this synapse group require an RNG to generate procedural connectivity?
bool SynapseGroup::isPSInitRNGRequired | ( | ) | const |
Does this synapse group require an RNG for it's postsynaptic init code?
|
inline |
Has this synapse group's postsynaptic model been fused with those from other synapse groups?
NOTE: this can only be called after model is finalized but needs to be public for PyGeNN
bool SynapseGroup::isSparseConnectivityInitRequired | ( | ) | const |
Is sparse connectivity initialisation code required for this synapse group?
bool SynapseGroup::isSpikeEventRequired | ( | ) | const |
Does synapse group need to handle spike-like events.
bool SynapseGroup::isTrueSpikeRequired | ( | ) | const |
Does synapse group need to handle 'true' spikes.
|
inline |
Is this synapse group a weight-sharing slave.
bool SynapseGroup::isWUInitRNGRequired | ( | ) | const |
Does this synapse group require an RNG for it's weight update init code?
bool SynapseGroup::isWUPostInitRNGRequired | ( | ) | const |
Does this synapse group require an RNG for it's weight update postsynaptic variable init code?
|
inline |
Has the postsynaptic component of this synapse group's weight update model been fused with those from other synapse groups?
NOTE: this can only be called after model is finalized but needs to be public for PyGeNN
bool SynapseGroup::isWUPreInitRNGRequired | ( | ) | const |
Does this synapse group require an RNG for it's weight update presynaptic variable init code?
|
inline |
Has the presynaptic component of this synapse group's weight update model been fused with those from other synapse groups?
NOTE: this can only be called after model is finalized but needs to be public for PyGeNN
bool SynapseGroup::isWUVarInitRequired | ( | ) | const |
Is var init code required for any variables in this synapse group's weight update model?
bool SynapseGroup::isZeroCopyEnabled | ( | ) | const |
void SynapseGroup::setBackPropDelaySteps | ( | unsigned int | timesteps | ) |
Sets the number of delay steps used to delay postsynaptic spikes travelling back along dendrites to synapses.
|
inline |
Set variable mode used for this synapse group's dendritic delay buffers.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inline |
Set location of variables used to combine input from this synapse group.
This is ignored for simulations on hardware with a single memory space
void SynapseGroup::setMaxConnections | ( | unsigned int | maxConnections | ) |
Sets the maximum number of target neurons any source neurons can connect to.
Use with synaptic matrix types with SynapseMatrixConnectivity::SPARSE to optimise CUDA implementation
void SynapseGroup::setMaxDendriticDelayTimesteps | ( | unsigned int | maxDendriticDelay | ) |
Sets the maximum dendritic delay for synapses in this synapse group.
void SynapseGroup::setMaxSourceConnections | ( | unsigned int | maxPostConnections | ) |
Sets the maximum number of source neurons any target neuron can connect to.
Use with synaptic matrix types with SynapseMatrixConnectivity::SPARSE and postsynaptic learning to optimise CUDA implementation
void SynapseGroup::setNarrowSparseIndEnabled | ( | bool | enabled | ) |
Enables or disables using narrow i.e. less than 32-bit types for sparse matrix indices.
void SynapseGroup::setNumThreadsPerSpike | ( | unsigned int | numThreadsPerSpike | ) |
Set how many threads CUDA implementation uses to process each spike when span type is PRESYNAPTIC.
void SynapseGroup::setPreTargetVar | ( | const std::string & | varName | ) |
Set name of neuron input variable $(addToPre, . ) commands will target.
This should either be 'Isyn' or the name of one of the presynaptic neuron's additional input variables.
void SynapseGroup::setPSExtraGlobalParamLocation | ( | const std::string & | paramName, |
VarLocation | loc | ||
) |
Set location of postsynaptic model extra global parameter.
This is ignored for simulations on hardware with a single memory space and only applies to extra global parameters which are pointers.
void SynapseGroup::setPSTargetVar | ( | const std::string & | varName | ) |
Set name of neuron input variable postsynaptic model will target.
This should either be 'Isyn' or the name of one of the postsynaptic neuron's additional input variables.
void SynapseGroup::setPSVarLocation | ( | const std::string & | varName, |
VarLocation | loc | ||
) |
Set location of postsynaptic model state variable.
This is ignored for simulations on hardware with a single memory space
void SynapseGroup::setSpanType | ( | SpanType | spanType | ) |
Set how CUDA implementation is parallelised.
with a thread per target neuron (default) or a thread per source spike
void SynapseGroup::setSparseConnectivityExtraGlobalParamLocation | ( | const std::string & | paramName, |
VarLocation | loc | ||
) |
Set location of sparse connectivity initialiser extra global parameter.
This is ignored for simulations on hardware with a single memory space and only applies to extra global parameters which are pointers.
void SynapseGroup::setSparseConnectivityLocation | ( | VarLocation | loc | ) |
Set variable mode used for sparse connectivity.
This is ignored for simulations on hardware with a single memory space
void SynapseGroup::setWUExtraGlobalParamLocation | ( | const std::string & | paramName, |
VarLocation | loc | ||
) |
Set location of weight update model extra global parameter.
This is ignored for simulations on hardware with a single memory space and only applies to extra global parameters which are pointers.
void SynapseGroup::setWUPostVarLocation | ( | const std::string & | varName, |
VarLocation | loc | ||
) |
Set location of weight update model postsynaptic state variable.
This is ignored for simulations on hardware with a single memory space
void SynapseGroup::setWUPreVarLocation | ( | const std::string & | varName, |
VarLocation | loc | ||
) |
Set location of weight update model presynaptic state variable.
This is ignored for simulations on hardware with a single memory space
void SynapseGroup::setWUVarLocation | ( | const std::string & | varName, |
VarLocation | loc | ||
) |
Set location of weight update model state variable.
This is ignored for simulations on hardware with a single memory space
|
inlineprotected |
Set if any of this synapse group's weight update model variables referenced by a custom update.