GeNN
4.9.0
GPU enhanced Neuronal Networks (GeNN)
|
#include <neuronGroup.h>
Classes | |
struct | SpikeEventThreshold |
Structure used for storing spike event data. More... | |
Public Member Functions | |
NeuronGroup (const NeuronGroup &)=delete | |
NeuronGroup ()=delete | |
void | setSpikeLocation (VarLocation loc) |
Set location of this neuron group's output spikes. More... | |
void | setSpikeEventLocation (VarLocation loc) |
Set location of this neuron group's output spike events. More... | |
void | setSpikeTimeLocation (VarLocation loc) |
Set location of this neuron group's output spike times. More... | |
void | setPrevSpikeTimeLocation (VarLocation loc) |
Set location of this neuron group's previous output spike times. More... | |
void | setSpikeEventTimeLocation (VarLocation loc) |
Set location of this neuron group's output spike-like-event times. More... | |
void | setPrevSpikeEventTimeLocation (VarLocation loc) |
Set location of this neuron group's previous output spike-like-event times. More... | |
void | setVarLocation (const std::string &varName, VarLocation loc) |
Set variable location of neuron model state variable. More... | |
void | setExtraGlobalParamLocation (const std::string ¶mName, VarLocation loc) |
Set location of neuron model extra global parameter. More... | |
void | setSpikeRecordingEnabled (bool enabled) |
Enables and disable spike recording for this population. More... | |
void | setSpikeEventRecordingEnabled (bool enabled) |
Enables and disable spike event recording for this population. More... | |
const std::string & | getName () const |
unsigned int | getNumNeurons () const |
Gets number of neurons in group. More... | |
const NeuronModels::Base * | getNeuronModel () const |
Gets the neuron model used by this group. More... | |
const std::vector< double > & | getParams () const |
const std::vector< Models::VarInit > & | getVarInitialisers () const |
bool | isSpikeTimeRequired () const |
bool | isPrevSpikeTimeRequired () const |
bool | isSpikeEventTimeRequired () const |
bool | isPrevSpikeEventTimeRequired () const |
bool | isTrueSpikeRequired () const |
bool | isSpikeEventRequired () const |
unsigned int | getNumDelaySlots () const |
bool | isDelayRequired () const |
bool | isZeroCopyEnabled () const |
VarLocation | getSpikeLocation () const |
Get location of this neuron group's output spikes. More... | |
VarLocation | getSpikeEventLocation () const |
Get location of this neuron group's output spike events. More... | |
VarLocation | getSpikeTimeLocation () const |
Get location of this neuron group's output spike times. More... | |
VarLocation | getPrevSpikeTimeLocation () const |
Get location of this neuron group's previous output spike times. More... | |
VarLocation | getSpikeEventTimeLocation () const |
Get location of this neuron group's output spike-like-event times. More... | |
VarLocation | getPrevSpikeEventTimeLocation () const |
Get location of this neuron group's previous output spike-like-event times. More... | |
VarLocation | getVarLocation (const std::string &varName) const |
Get location of neuron model state variable by name. More... | |
VarLocation | getVarLocation (size_t index) const |
Get location of neuron model state variable by index. More... | |
VarLocation | getExtraGlobalParamLocation (const std::string ¶mName) const |
Get location of neuron model extra global parameter by name. More... | |
VarLocation | getExtraGlobalParamLocation (size_t index) const |
Get location of neuron model extra global parameter by omdex. More... | |
bool | isSpikeRecordingEnabled () const |
Is spike recording enabled for this population? More... | |
bool | isSpikeEventRecordingEnabled () const |
Is spike event recording enabled for this population? More... | |
bool | isSimRNGRequired () const |
Does this neuron group require an RNG to simulate? More... | |
bool | isInitRNGRequired () const |
Does this neuron group require an RNG for it's init code? More... | |
bool | isRecordingEnabled () const |
Does this neuron group require any sort of recording? More... | |
Protected Member Functions | |
NeuronGroup (const std::string &name, int numNeurons, const NeuronModels::Base *neuronModel, const std::vector< double > ¶ms, const std::vector< Models::VarInit > &varInitialisers, VarLocation defaultVarLocation, VarLocation defaultExtraGlobalParamLocation) | |
void | checkNumDelaySlots (unsigned int requiredDelay) |
Checks delay slots currently provided by the neuron group against a required delay and extends if required. More... | |
void | updatePreVarQueues (const std::string &code) |
Update which presynaptic variables require queues based on piece of code. More... | |
void | updatePostVarQueues (const std::string &code) |
Update which postsynaptic variables require queues based on piece of code. More... | |
void | addSpkEventCondition (const std::string &code, SynapseGroupInternal *synapseGroup) |
void | addInSyn (SynapseGroupInternal *synapseGroup) |
void | addOutSyn (SynapseGroupInternal *synapseGroup) |
void | initDerivedParams (double dt) |
void | fusePrePostSynapses (bool fusePSM, bool fusePrePostWUM) |
Fuse incoming postsynaptic models. More... | |
void | injectCurrent (CurrentSourceInternal *source) |
add input current source More... | |
const std::vector< SynapseGroupInternal * > & | getInSyn () const |
Gets pointers to all synapse groups which provide input to this neuron group. More... | |
const std::vector< SynapseGroupInternal * > & | getFusedPSMInSyn () const |
const std::vector< SynapseGroupInternal * > & | getFusedWUPostInSyn () const |
const std::vector< SynapseGroupInternal * > & | getOutSyn () const |
Gets pointers to all synapse groups emanating from this neuron group. More... | |
const std::vector< SynapseGroupInternal * > & | getFusedWUPreOutSyn () const |
const std::vector< SynapseGroupInternal * > & | getFusedPreOutputOutSyn () const |
const std::vector< CurrentSourceInternal * > & | getCurrentSources () const |
Gets pointers to all current sources which provide input to this neuron group. More... | |
const std::vector< double > & | getDerivedParams () const |
const std::set< SpikeEventThreshold > & | getSpikeEventCondition () const |
std::vector< SynapseGroupInternal * > | getFusedInSynWithPostCode () const |
Helper to get vector of incoming synapse groups which have postsynaptic update code. More... | |
std::vector< SynapseGroupInternal * > | getFusedOutSynWithPreCode () const |
Helper to get vector of outgoing synapse groups which have presynaptic update code. More... | |
std::vector< SynapseGroupInternal * > | getFusedInSynWithPostVars () const |
Helper to get vector of incoming synapse groups which have postsynaptic variables. More... | |
std::vector< SynapseGroupInternal * > | getFusedOutSynWithPreVars () const |
Helper to get vector of outgoing synapse groups which have presynaptic variables. More... | |
bool | isVarQueueRequired (const std::string &var) const |
bool | isVarQueueRequired (size_t index) const |
boost::uuids::detail::sha1::digest_type | getHashDigest () const |
Updates hash with neuron group. More... | |
boost::uuids::detail::sha1::digest_type | getInitHashDigest () const |
Updates hash with neuron group initialisation. More... | |
boost::uuids::detail::sha1::digest_type | getSpikeQueueUpdateHashDigest () const |
boost::uuids::detail::sha1::digest_type | getPrevSpikeTimeUpdateHashDigest () const |
boost::uuids::detail::sha1::digest_type | getVarLocationHashDigest () const |
|
delete |
|
delete |
|
protected |
|
inlineprotected |
|
inlineprotected |
|
protected |
|
protected |
Checks delay slots currently provided by the neuron group against a required delay and extends if required.
|
protected |
Fuse incoming postsynaptic models.
|
inlineprotected |
Gets pointers to all current sources which provide input to this neuron group.
|
inlineprotected |
VarLocation NeuronGroup::getExtraGlobalParamLocation | ( | const std::string & | paramName | ) | const |
Get location of neuron model extra global parameter by name.
This is only used by extra global parameters which are pointers
|
inline |
Get location of neuron model extra global parameter by omdex.
This is only used by extra global parameters which are pointers
|
protected |
Helper to get vector of incoming synapse groups which have postsynaptic update code.
|
protected |
Helper to get vector of incoming synapse groups which have postsynaptic variables.
|
protected |
Helper to get vector of outgoing synapse groups which have presynaptic update code.
|
protected |
Helper to get vector of outgoing synapse groups which have presynaptic variables.
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
protected |
Updates hash with neuron group.
NOTE: this can only be called after model is finalized
|
protected |
Updates hash with neuron group initialisation.
NOTE: this can only be called after model is finalized
|
inlineprotected |
Gets pointers to all synapse groups which provide input to this neuron group.
|
inline |
|
inline |
Gets the neuron model used by this group.
|
inline |
|
inline |
Gets number of neurons in group.
|
inlineprotected |
Gets pointers to all synapse groups emanating from this neuron group.
|
inline |
|
inline |
Get location of this neuron group's previous output spike-like-event times.
|
inline |
Get location of this neuron group's previous output spike times.
|
protected |
|
inlineprotected |
|
inline |
Get location of this neuron group's output spike events.
|
inline |
Get location of this neuron group's output spike-like-event times.
|
inline |
Get location of this neuron group's output spikes.
|
protected |
|
inline |
Get location of this neuron group's output spike times.
|
inline |
VarLocation NeuronGroup::getVarLocation | ( | const std::string & | varName | ) | const |
Get location of neuron model state variable by name.
|
inline |
Get location of neuron model state variable by index.
|
protected |
|
protected |
|
protected |
add input current source
|
inline |
bool NeuronGroup::isInitRNGRequired | ( | ) | const |
Does this neuron group require an RNG for it's init code?
bool NeuronGroup::isPrevSpikeEventTimeRequired | ( | ) | const |
bool NeuronGroup::isPrevSpikeTimeRequired | ( | ) | const |
bool NeuronGroup::isRecordingEnabled | ( | ) | const |
Does this neuron group require any sort of recording?
bool NeuronGroup::isSimRNGRequired | ( | ) | const |
Does this neuron group require an RNG to simulate?
|
inline |
Is spike event recording enabled for this population?
bool NeuronGroup::isSpikeEventRequired | ( | ) | const |
bool NeuronGroup::isSpikeEventTimeRequired | ( | ) | const |
|
inline |
Is spike recording enabled for this population?
bool NeuronGroup::isSpikeTimeRequired | ( | ) | const |
bool NeuronGroup::isTrueSpikeRequired | ( | ) | const |
|
protected |
|
inlineprotected |
bool NeuronGroup::isZeroCopyEnabled | ( | ) | const |
void NeuronGroup::setExtraGlobalParamLocation | ( | const std::string & | paramName, |
VarLocation | loc | ||
) |
Set location of neuron 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.
|
inline |
Set location of this neuron group's previous output spike-like-event times.
This is ignored for simulations on hardware with a single memory space
|
inline |
Set location of this neuron group's previous output spike times.
This is ignored for simulations on hardware with a single memory space
|
inline |
Set location of this neuron group's output spike events.
This is ignored for simulations on hardware with a single memory space
|
inline |
Enables and disable spike event recording for this population.
|
inline |
Set location of this neuron group's output spike-like-event times.
This is ignored for simulations on hardware with a single memory space
|
inline |
Set location of this neuron group's output spikes.
This is ignored for simulations on hardware with a single memory space
|
inline |
Enables and disable spike recording for this population.
|
inline |
Set location of this neuron group's output spike times.
This is ignored for simulations on hardware with a single memory space
void NeuronGroup::setVarLocation | ( | const std::string & | varName, |
VarLocation | loc | ||
) |
Set variable location of neuron model state variable.
This is ignored for simulations on hardware with a single memory space
|
protected |
Update which postsynaptic variables require queues based on piece of code.
|
protected |
Update which presynaptic variables require queues based on piece of code.