Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
|
Public Member Functions | |
AllSTDPSynapses (int numVertices, int maxEdges) | |
virtual void | setupEdges () override |
Setup the internal structure of the class (allocate memories and initialize them). | |
virtual void | resetEdge (BGSIZE iEdg, BGFLOAT deltaT) override |
virtual bool | allowBackPropagation () override |
virtual void | loadParameters () override |
virtual void | printParameters () const override |
virtual void | createEdge (BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) override |
virtual void | printSynapsesProps () const override |
Prints SynapsesProps data. | |
template<class Archive > | |
void | serialize (Archive &archive) |
Cereal serialization method. | |
virtual void | advanceEdge (BGSIZE iEdg, AllVertices &neurons) override |
virtual void | postSpikeHit (BGSIZE iEdg) override |
![]() | |
AllSpikingSynapses (int numVertices, int maxEdges) | |
template<class Archive > | |
void | serialize (Archive &archive) |
Cereal serialization method. | |
virtual void | preSpikeHit (BGSIZE iEdg) |
![]() | |
int | edgSign (const edgeType type) |
template<class Archive > | |
void | serialize (Archive &archive) |
Cereal serialization method. | |
![]() | |
AllEdges (int numVertices, int maxEdges) | |
virtual BGSIZE | addEdge (edgeType type, int srcVertex, int destVertex, BGFLOAT deltaT) |
virtual void | createEdgeIndexMap (EdgeIndexMap &edgeIndexMap) |
Populate a edge index map. | |
template<class Archive > | |
void | serialize (Archive &archive) |
Cereal serialization method. | |
virtual void | advanceEdges (AllVertices &vertices, EdgeIndexMap &edgeIndexMap) |
virtual void | eraseEdge (int neuronIndex, BGSIZE iEdg) |
Static Public Member Functions | |
static AllEdges * | Create () |
![]() | |
static AllEdges * | Create () |
Public Attributes | |
vector< int > | totalDelayPost_ |
vector< uint32_t > | delayQueuePost_ |
Pointer to the delayed queue. | |
vector< int > | delayIndexPost_ |
The index indicating the current time slot in the delayed queue. | |
vector< int > | delayQueuePostLength_ |
Length of the delayed queue. | |
vector< BGFLOAT > | tauspost_ |
vector< BGFLOAT > | tauspre_ |
sed for extended rule by Froemke and Dan. | |
vector< BGFLOAT > | taupos_ |
Timeconstant of exponential decay of positive learning window for STDP. | |
vector< BGFLOAT > | tauneg_ |
Timeconstant of exponential decay of negative learning window for STDP. | |
vector< BGFLOAT > | STDPgap_ |
No learning is performed if ![]() | |
vector< BGFLOAT > | Wex_ |
The maximal/minimal weight of the synapse [readwrite; units=;]. | |
vector< BGFLOAT > | Aneg_ |
Defines the peak of the negative exponential learning window. | |
vector< BGFLOAT > | Apos_ |
Defines the peak of the positive exponential learning window. | |
vector< BGFLOAT > | mupos_ |
vector< BGFLOAT > | muneg_ |
BGFLOAT | defaultSTDPgap_ |
BGFLOAT | tauspost_I_ |
BGFLOAT | tauspre_I_ |
BGFLOAT | tauspost_E_ |
BGFLOAT | tauspre_E_ |
BGFLOAT | taupos_I_ |
BGFLOAT | tauneg_I_ |
BGFLOAT | taupos_E_ |
BGFLOAT | tauneg_E_ |
BGFLOAT | Wex_I_ |
BGFLOAT | Wex_E_ |
BGFLOAT | Aneg_I_ |
BGFLOAT | Aneg_E_ |
BGFLOAT | Apos_I_ |
BGFLOAT | Apos_E_ |
![]() | |
vector< BGFLOAT > | decay_ |
The decay for the psr. | |
vector< BGFLOAT > | tau_ |
The synaptic time constant ![]() | |
BGFLOAT | tau_II_ |
BGFLOAT | tau_IE_ |
BGFLOAT | tau_EI_ |
BGFLOAT | tau_EE_ |
BGFLOAT | delay_II_ |
BGFLOAT | delay_IE_ |
BGFLOAT | delay_EI_ |
BGFLOAT | delay_EE_ |
vector< int > | totalDelay_ |
The synaptic transmission delay, descretized into time steps. | |
vector< uint32_t > | delayQueue_ |
Pointer to the delayed queue. | |
vector< int > | delayIndex_ |
vector< int > | delayQueueLength_ |
Length of the delayed queue. | |
![]() | |
vector< BGFLOAT > | psr_ |
![]() | |
vector< int > | sourceVertexIndex_ |
The location of the edge. | |
vector< int > | destVertexIndex_ |
The coordinates of the summation point. | |
vector< BGFLOAT > | W_ |
The weight (scaling factor, strength, maximal amplitude) of the edge. | |
vector< edgeType > | type_ |
Synapse type. | |
vector< unsigned char > | inUse_ |
The value indicating the entry in the array is in use. | |
vector< BGSIZE > | edgeCounts_ |
BGSIZE | totalEdgeCount_ |
The total number of active edges. | |
BGSIZE | maxEdgesPerVertex_ |
The maximum number of edges for each vertex. | |
int | countVertices_ |
Protected Member Functions | |
virtual void | setupEdges (int numVertices, int maxEdges) override |
virtual void | readEdge (istream &input, BGSIZE iEdg) override |
virtual void | writeEdge (ostream &output, BGSIZE iEdg) const override |
virtual void | initSpikeQueue (BGSIZE iEdg) override |
bool | isSpikeQueuePost (BGSIZE iEdg) |
virtual BGFLOAT | synapticWeightModification (BGSIZE iEdg, BGFLOAT edgeWeight, double delta) |
![]() | |
bool | updateDecay (BGSIZE iEdg, BGFLOAT deltaT) |
defined(USE_GPU) | |
bool | isSpikeQueue (BGSIZE iEdg) |
virtual void | changePSR (BGSIZE iEdg, BGFLOAT deltaT) |
![]() | |
![]() | |
edgeType | edgeOrdinalToType (int typeOrdinal) |
Additional Inherited Members | |
![]() | |
static constexpr BGFLOAT | SYNAPSE_STRENGTH_ADJUSTMENT = 1.0e-8 |
The factor to adjust overlapping area to edge weight. | |
![]() | |
log4cplus::Logger | fileLogger_ |
Loggers used to print to using log4cplus logging macros, prints to Results/Debug/logging.txt. | |
log4cplus::Logger | edgeLogger_ |
Definition at line 77 of file AllSTDPSynapses.h.
AllSTDPSynapses::AllSTDPSynapses | ( | ) |
Definition at line 14 of file AllSTDPSynapses.cpp.
AllSTDPSynapses::AllSTDPSynapses | ( | int | numVertices, |
int | maxEdges ) |
Definition at line 33 of file AllSTDPSynapses.cpp.
|
overridevirtual |
Advance one specific Synapse. Update the state of synapse for a time step
iEdg | Index of the Synapse to connect to. |
neurons | The Neuron list to search from. |
Advance one specific Synapse.
iEdg | Index of the Synapse to connect to. |
neurons | The Neuron list to search from. |
Reimplemented from AllSpikingSynapses.
Definition at line 261 of file AllSTDPSynapses.cpp.
|
overridevirtual |
Check if the back propagation (notify a spike event to the pre neuron) is allowed in the synapse class.
Check if the back propagation (notify a spike event to the pre neuron) is allowed in the synapse class.
@retrun true if the back propagation is allowed.
Reimplemented from AllSpikingSynapses.
Definition at line 530 of file AllSTDPSynapses.cpp.
|
inlinestatic |
Definition at line 85 of file AllSTDPSynapses.h.
|
overridevirtual |
Create a Synapse and connect it to the model.
iEdg | Index of the synapse to set. |
srcVertex | Index of the source Neuron. |
destVertex | Index of the destination Neuron. |
deltaT | Inner simulation step duration. |
type | Type of the Synapse to create. |
Create a Synapse and connect it to the model.
synapses | The synapse list to reference. |
iEdg | Index of the synapse to set. |
srcVertex | Index of the source Neuron. |
destVertex | Index of the destination Neuron. |
deltaT | Inner simulation step duration. |
type | Type of the Synapse to create. |
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 230 of file AllSTDPSynapses.cpp.
|
overrideprotectedvirtual |
Initializes the queues for the Synapse.
iEdg | index of the synapse to set. |
Reimplemented from AllSpikingSynapses.
Definition at line 77 of file AllSTDPSynapses.cpp.
|
protected |
Checks if there is an input spike in the queue (for back propagation).
iEdg | Index of the Synapse to connect to. |
Definition at line 487 of file AllSTDPSynapses.cpp.
|
overridevirtual |
Load member variables from configuration file. Registered to OperationManager as Operation::op::loadParameters
Loads out all parameters from the config file. Registered to OperationManager as Operation::loadParameters
Reimplemented from AllSpikingSynapses.
Definition at line 95 of file AllSTDPSynapses.cpp.
|
overridevirtual |
Prepares Synapse for a spike hit (for back propagation).
iEdg | Index of the Synapse to connect to. |
Reimplemented from AllSpikingSynapses.
Definition at line 504 of file AllSTDPSynapses.cpp.
|
overridevirtual |
Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 117 of file AllSTDPSynapses.cpp.
|
overridevirtual |
Prints SynapsesProps data.
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 536 of file AllSTDPSynapses.cpp.
|
overrideprotectedvirtual |
Sets the data for Synapse to input's data.
input | istream to read from. |
iEdg | Index of the synapse to set. |
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 154 of file AllSTDPSynapses.cpp.
|
overridevirtual |
Reset time varying state vars and recompute decay.
iEdg | Index of the synapse to set. |
deltaT | Inner simulation step duration |
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 217 of file AllSTDPSynapses.cpp.
void AllSTDPSynapses::serialize | ( | Archive & | archive | ) |
Cereal serialization method.
Definition at line 424 of file AllSTDPSynapses.h.
|
overridevirtual |
Setup the internal structure of the class (allocate memories and initialize them).
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 40 of file AllSTDPSynapses.cpp.
|
overrideprotectedvirtual |
Setup the internal structure of the class (allocate memories and initialize them).
numVertices | Total number of vertices in the network. |
maxEdges | Maximum number of synapses per neuron. |
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 50 of file AllSTDPSynapses.cpp.
|
protectedvirtual |
Definition at line 394 of file AllSTDPSynapses.cpp.
|
overrideprotectedvirtual |
Write the synapse data to the stream.
output | stream to print out to. |
iEdg | Index of the synapse to print out. |
Reimplemented from AllSpikingSynapses.
Reimplemented in AllDynamicSTDPSynapses.
Definition at line 193 of file AllSTDPSynapses.cpp.
vector<BGFLOAT> AllSTDPSynapses::Aneg_ |
Defines the peak of the negative exponential learning window.
Definition at line 323 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::Aneg_E_ |
Definition at line 351 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::Aneg_I_ |
Definition at line 350 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::Apos_ |
Defines the peak of the positive exponential learning window.
Definition at line 326 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::Apos_E_ |
Definition at line 353 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::Apos_I_ |
Definition at line 352 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::defaultSTDPgap_ |
Definition at line 339 of file AllSTDPSynapses.h.
vector<int> AllSTDPSynapses::delayIndexPost_ |
The index indicating the current time slot in the delayed queue.
Definition at line 297 of file AllSTDPSynapses.h.
vector<uint32_t> AllSTDPSynapses::delayQueuePost_ |
Pointer to the delayed queue.
Definition at line 294 of file AllSTDPSynapses.h.
vector<int> AllSTDPSynapses::delayQueuePostLength_ |
Length of the delayed queue.
Definition at line 300 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::muneg_ |
Extended multiplicative negative update:
Definition at line 337 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::mupos_ |
Extended multiplicative positive update:
Definition at line 333 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::STDPgap_ |
No learning is performed if
Definition at line 317 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::tauneg_ |
Timeconstant of exponential decay of negative learning window for STDP.
Definition at line 314 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::tauneg_E_ |
Definition at line 347 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::tauneg_I_ |
Definition at line 345 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::taupos_ |
Timeconstant of exponential decay of positive learning window for STDP.
Definition at line 311 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::taupos_E_ |
Definition at line 346 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::taupos_I_ |
Definition at line 344 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::tauspost_ |
Used for extended rule by Froemke and Dan. See Froemke and Dan (2002). Spike-timing-dependent synaptic modification induced by natural spike trains. Nature 416 (3/2002).
Definition at line 305 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::tauspost_E_ |
Definition at line 342 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::tauspost_I_ |
Definition at line 340 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::tauspre_ |
sed for extended rule by Froemke and Dan.
Definition at line 308 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::tauspre_E_ |
Definition at line 343 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::tauspre_I_ |
Definition at line 341 of file AllSTDPSynapses.h.
vector<int> AllSTDPSynapses::totalDelayPost_ |
The synaptic transmission delay (delay of dendritic backpropagating spike), descretized into time steps.
Definition at line 291 of file AllSTDPSynapses.h.
vector<BGFLOAT> AllSTDPSynapses::Wex_ |
The maximal/minimal weight of the synapse [readwrite; units=;].
Definition at line 320 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::Wex_E_ |
Definition at line 349 of file AllSTDPSynapses.h.
BGFLOAT AllSTDPSynapses::Wex_I_ |
Definition at line 348 of file AllSTDPSynapses.h.