Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
|
Public Member Functions | |
AllSpikingSynapses (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 | loadParameters () override |
Load member variables from configuration file. Registered to OperationManager as Operation::op::loadParameters. | |
virtual void | printParameters () const override |
virtual void | createEdge (BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) override |
virtual bool | allowBackPropagation () |
virtual void | printSynapsesProps () const |
Prints SynapsesProps data to console. | |
template<class Archive > | |
void | serialize (Archive &archive) |
Cereal serialization method. | |
virtual void | advanceEdge (BGSIZE iEdg, AllVertices &neurons) override |
virtual void | preSpikeHit (BGSIZE iEdg) |
virtual void | postSpikeHit (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 () |
Public Attributes | |
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) |
virtual void | initSpikeQueue (BGSIZE iEdg) |
bool | updateDecay (BGSIZE iEdg, BGFLOAT deltaT) |
defined(USE_GPU) | |
virtual void | readEdge (istream &input, BGSIZE iEdg) override |
virtual void | writeEdge (ostream &output, BGSIZE iEdg) const override |
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 39 of file AllSpikingSynapses.h.
AllSpikingSynapses::AllSpikingSynapses | ( | ) |
Definition at line 15 of file AllSpikingSynapses.cpp.
AllSpikingSynapses::AllSpikingSynapses | ( | int | numVertices, |
int | maxEdges ) |
Definition at line 27 of file AllSpikingSynapses.cpp.
|
overridevirtual |
Advance one specific Synapse.
iEdg | Index of the Synapse to connect to. |
neurons | The Neuron list to search from. |
Implements AllEdges.
Reimplemented in AllSTDPSynapses.
Definition at line 272 of file AllSpikingSynapses.cpp.
|
virtual |
Check if the back propagation (notify a spike event to the pre neuron) is allowed in the synapse class.
Reimplemented in AllSTDPSynapses.
Definition at line 331 of file AllSpikingSynapses.cpp.
|
protectedvirtual |
Calculate the post synapse response after a spike.
iEdg | Index of the synapse to set. |
deltaT | Inner simulation step duration. |
Reimplemented in AllDSSynapses, and AllDynamicSTDPSynapses.
Definition at line 300 of file AllSpikingSynapses.cpp.
|
inlinestatic |
Definition at line 47 of file AllSpikingSynapses.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. |
Implements AllEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 169 of file AllSpikingSynapses.cpp.
|
protectedvirtual |
Initializes the queues for the Synapse.
iEdg | index of the synapse to set. |
Reimplemented in AllSTDPSynapses.
Definition at line 62 of file AllSpikingSynapses.cpp.
|
protected |
Checks if there is an input spike in the queue.
iEdg | Index of the Synapse to connect to. |
Definition at line 219 of file AllSpikingSynapses.cpp.
|
overridevirtual |
Load member variables from configuration file. Registered to OperationManager as Operation::op::loadParameters.
Reimplemented from AllEdges.
Reimplemented in AllSTDPSynapses.
Definition at line 88 of file AllSpikingSynapses.cpp.
|
virtual |
Prepares Synapse for a spike hit (for back propagation).
iEdg | Index of the Synapse to update. |
Reimplemented in AllSTDPSynapses.
Definition at line 264 of file AllSpikingSynapses.cpp.
|
virtual |
Prepares Synapse for a spike hit.
iEdg | Index of the Synapse to update. |
Definition at line 236 of file AllSpikingSynapses.cpp.
|
overridevirtual |
Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters
Reimplemented from AllEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 102 of file AllSpikingSynapses.cpp.
|
virtual |
Prints SynapsesProps data to console.
Reimplemented from AllNeuroEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 337 of file AllSpikingSynapses.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 AllNeuroEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 127 of file AllSpikingSynapses.cpp.
|
overridevirtual |
Reset time varying state vars and recompute decay.
iEdg | Index of the synapse to set. |
deltaT | Inner simulation step duration |
Reimplemented from AllNeuroEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 80 of file AllSpikingSynapses.cpp.
void AllSpikingSynapses::serialize | ( | Archive & | archive | ) |
Cereal serialization method.
Definition at line 337 of file AllSpikingSynapses.h.
|
overridevirtual |
Setup the internal structure of the class (allocate memories and initialize them).
Reimplemented from AllNeuroEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 33 of file AllSpikingSynapses.cpp.
|
protectedvirtual |
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 AllNeuroEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 43 of file AllSpikingSynapses.cpp.
|
protected |
defined(USE_GPU)
Updates the decay if the synapse selected.
iEdg | Index of the synapse to set. |
deltaT | Inner simulation step duration |
Updates the decay if the synapse selected.
iEdg | Index of the synapse to set. |
deltaT | Inner simulation step duration |
Definition at line 315 of file AllSpikingSynapses.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 AllNeuroEdges.
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, and AllSTDPSynapses.
Definition at line 150 of file AllSpikingSynapses.cpp.
vector<BGFLOAT> AllSpikingSynapses::decay_ |
The decay for the psr.
Definition at line 268 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::delay_EE_ |
Definition at line 280 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::delay_EI_ |
Definition at line 279 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::delay_IE_ |
Definition at line 278 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::delay_II_ |
Definition at line 277 of file AllSpikingSynapses.h.
vector<int> AllSpikingSynapses::delayIndex_ |
The index indicating the current time slot in the delayed queue Note: This variable is used in GpuSim_struct.cu but I am not sure if it is actually from a synapse. Will need a little help here. -Aaron Note: This variable can be GLOBAL VARIABLE, but need to modify the code.
Definition at line 295 of file AllSpikingSynapses.h.
vector<uint32_t> AllSpikingSynapses::delayQueue_ |
Pointer to the delayed queue.
Definition at line 289 of file AllSpikingSynapses.h.
vector<int> AllSpikingSynapses::delayQueueLength_ |
Length of the delayed queue.
Definition at line 298 of file AllSpikingSynapses.h.
vector<BGFLOAT> AllSpikingSynapses::tau_ |
The synaptic time constant
Definition at line 271 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::tau_EE_ |
Definition at line 276 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::tau_EI_ |
Definition at line 275 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::tau_IE_ |
Definition at line 274 of file AllSpikingSynapses.h.
BGFLOAT AllSpikingSynapses::tau_II_ |
Definition at line 273 of file AllSpikingSynapses.h.
vector<int> AllSpikingSynapses::totalDelay_ |
The synaptic transmission delay, descretized into time steps.
Definition at line 286 of file AllSpikingSynapses.h.