Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
Loading...
Searching...
No Matches
AllDynamicSTDPSynapses Class Reference
Inheritance diagram for AllDynamicSTDPSynapses:
Collaboration diagram for AllDynamicSTDPSynapses:

Public Member Functions

 AllDynamicSTDPSynapses (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 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.
 
- Public Member Functions inherited from AllSTDPSynapses
 AllSTDPSynapses (int numVertices, int maxEdges)
 
virtual bool allowBackPropagation () override
 
virtual void loadParameters () override
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 
virtual void advanceEdge (BGSIZE iEdg, AllVertices &neurons) override
 
virtual void postSpikeHit (BGSIZE iEdg) override
 
- Public Member Functions inherited from AllSpikingSynapses
 AllSpikingSynapses (int numVertices, int maxEdges)
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 
virtual void preSpikeHit (BGSIZE iEdg)
 
- Public Member Functions inherited from AllNeuroEdges
int edgSign (const edgeType type)
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 
- Public Member Functions inherited from AllEdges
 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 AllEdgesCreate ()
 
- Static Public Member Functions inherited from AllSTDPSynapses
static AllEdgesCreate ()
 
- Static Public Member Functions inherited from AllSpikingSynapses
static AllEdgesCreate ()
 

Public Attributes

vector< uint64_t > lastSpike_
 The time of the last spike.
 
vector< BGFLOAT > r_
 The time varying state variable $r$ for depression.
 
vector< BGFLOAT > u_
 The time varying state variable $u$ for facilitation.
 
vector< BGFLOAT > D_
 The time constant of the depression of the dynamic synapse [range=(0,10); units=sec].
 
vector< BGFLOAT > U_
 The use parameter of the dynamic synapse [range=(1e-5,1)].
 
vector< BGFLOAT > F_
 The time constant of the facilitation of the dynamic synapse [range=(0,10); units=sec].
 
- Public Attributes inherited from AllSTDPSynapses
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 $|Delta| = |t_{post}-t_{pre}| < STDPgap_$.
 
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_
 
- Public Attributes inherited from AllSpikingSynapses
vector< BGFLOAT > decay_
 The decay for the psr.
 
vector< BGFLOAT > tau_
 The synaptic time constant $\tau$ [units=sec; range=(0,100)].
 
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.
 
- Public Attributes inherited from AllNeuroEdges
vector< BGFLOAT > psr_
 
- Public Attributes inherited from AllEdges
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 changePSR (BGSIZE iEdg, BGFLOAT deltaT)
 
- Protected Member Functions inherited from AllSTDPSynapses
virtual void initSpikeQueue (BGSIZE iEdg) override
 
bool isSpikeQueuePost (BGSIZE iEdg)
 
virtual BGFLOAT synapticWeightModification (BGSIZE iEdg, BGFLOAT edgeWeight, double delta)
 
- Protected Member Functions inherited from AllSpikingSynapses
bool updateDecay (BGSIZE iEdg, BGFLOAT deltaT)
 defined(USE_GPU)
 
bool isSpikeQueue (BGSIZE iEdg)
 
- Protected Member Functions inherited from AllNeuroEdges
- Protected Member Functions inherited from AllEdges
edgeType edgeOrdinalToType (int typeOrdinal)
 

Additional Inherited Members

- Static Public Attributes inherited from AllNeuroEdges
static constexpr BGFLOAT SYNAPSE_STRENGTH_ADJUSTMENT = 1.0e-8
 The factor to adjust overlapping area to edge weight.
 
- Protected Attributes inherited from AllEdges
log4cplus::Logger fileLogger_
 Loggers used to print to using log4cplus logging macros, prints to Results/Debug/logging.txt.
 
log4cplus::Logger edgeLogger_
 

Detailed Description

Definition at line 63 of file AllDynamicSTDPSynapses.h.

Constructor & Destructor Documentation

◆ AllDynamicSTDPSynapses()

AllDynamicSTDPSynapses::AllDynamicSTDPSynapses ( int numVertices,
int maxEdges )

Definition at line 11 of file AllDynamicSTDPSynapses.cpp.

Member Function Documentation

◆ changePSR()

void AllDynamicSTDPSynapses::changePSR ( BGSIZE iEdg,
BGFLOAT deltaT )
protectedvirtual

Calculate the post synapse response after a spike.

Parameters
iEdgIndex of the synapse to set.
deltaTInner simulation step duration.

Reimplemented from AllSpikingSynapses.

Definition at line 162 of file AllDynamicSTDPSynapses.cpp.

◆ Create()

static AllEdges * AllDynamicSTDPSynapses::Create ( )
inlinestatic

Definition at line 71 of file AllDynamicSTDPSynapses.h.

◆ createEdge()

void AllDynamicSTDPSynapses::createEdge ( BGSIZE iEdg,
int srcVertex,
int destVertex,
BGFLOAT deltaT,
edgeType type )
overridevirtual

Create a Synapse and connect it to the model.

Parameters
iEdgIndex of the synapse to set.
srcVertexIndex of the source Neuron.
destVertexIndex of the destination Neuron.
deltaTInner simulation step duration.
typeType of the Synapse to create.

Reimplemented from AllSTDPSynapses.

Definition at line 115 of file AllDynamicSTDPSynapses.cpp.

◆ printParameters()

void AllDynamicSTDPSynapses::printParameters ( ) const
overridevirtual

Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters

Reimplemented from AllSTDPSynapses.

Definition at line 46 of file AllDynamicSTDPSynapses.cpp.

◆ printSynapsesProps()

void AllDynamicSTDPSynapses::printSynapsesProps ( ) const
overridevirtual

Prints SynapsesProps data.

Reimplemented from AllSTDPSynapses.

Definition at line 187 of file AllDynamicSTDPSynapses.cpp.

◆ readEdge()

void AllDynamicSTDPSynapses::readEdge ( istream & input,
BGSIZE iEdg )
overrideprotectedvirtual

Sets the data for Synapse to input's data.

Parameters
inputistream to read from.
iEdgIndex of the synapse to set.

Reimplemented from AllSTDPSynapses.

Definition at line 60 of file AllDynamicSTDPSynapses.cpp.

◆ resetEdge()

void AllDynamicSTDPSynapses::resetEdge ( BGSIZE iEdg,
BGFLOAT deltaT )
overridevirtual

Reset time varying state vars and recompute decay.

Parameters
iEdgIndex of the synapse to set.
deltaTInner simulation step duration

Reimplemented from AllSTDPSynapses.

Definition at line 99 of file AllDynamicSTDPSynapses.cpp.

◆ serialize()

template<class Archive >
void AllDynamicSTDPSynapses::serialize ( Archive & archive)

Cereal serialization method.

Definition at line 267 of file AllDynamicSTDPSynapses.h.

◆ setupEdges() [1/2]

void AllDynamicSTDPSynapses::setupEdges ( )
overridevirtual

Setup the internal structure of the class (allocate memories and initialize them).

Reimplemented from AllSTDPSynapses.

Definition at line 18 of file AllDynamicSTDPSynapses.cpp.

◆ setupEdges() [2/2]

void AllDynamicSTDPSynapses::setupEdges ( int numVertices,
int maxEdges )
overrideprotectedvirtual

Setup the internal structure of the class (allocate memories and initialize them).

Parameters
numVerticesTotal number of vertices in the network.
maxEdgesMaximum number of synapses per neuron.

Reimplemented from AllSTDPSynapses.

Definition at line 28 of file AllDynamicSTDPSynapses.cpp.

◆ writeEdge()

void AllDynamicSTDPSynapses::writeEdge ( ostream & output,
BGSIZE iEdg ) const
overrideprotectedvirtual

Write the synapse data to the stream.

Parameters
outputstream to print out to.
iEdgIndex of the synapse to print out.

Reimplemented from AllSTDPSynapses.

Definition at line 83 of file AllDynamicSTDPSynapses.cpp.

Member Data Documentation

◆ D_

vector<BGFLOAT> AllDynamicSTDPSynapses::D_

The time constant of the depression of the dynamic synapse [range=(0,10); units=sec].

Definition at line 233 of file AllDynamicSTDPSynapses.h.

◆ F_

vector<BGFLOAT> AllDynamicSTDPSynapses::F_

The time constant of the facilitation of the dynamic synapse [range=(0,10); units=sec].

Definition at line 239 of file AllDynamicSTDPSynapses.h.

◆ lastSpike_

vector<uint64_t> AllDynamicSTDPSynapses::lastSpike_

The time of the last spike.

Definition at line 224 of file AllDynamicSTDPSynapses.h.

◆ r_

vector<BGFLOAT> AllDynamicSTDPSynapses::r_

The time varying state variable $r$ for depression.

Definition at line 227 of file AllDynamicSTDPSynapses.h.

◆ U_

vector<BGFLOAT> AllDynamicSTDPSynapses::U_

The use parameter of the dynamic synapse [range=(1e-5,1)].

Definition at line 236 of file AllDynamicSTDPSynapses.h.

◆ u_

vector<BGFLOAT> AllDynamicSTDPSynapses::u_

The time varying state variable $u$ for facilitation.

Definition at line 230 of file AllDynamicSTDPSynapses.h.


The documentation for this class was generated from the following files: