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

Public Member Functions

virtual void setupVertices () override
 Setup the internal structure of the class (allocate memories).
 
void clearSpikeCounts ()
 Clear the spike counts out of all Neurons.
 
virtual void registerHistoryVariables () override
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 
virtual void advanceVertices (AllEdges &synapses, const EdgeIndexMap &edgeIndexMap)
 
virtual void integrateVertexInputs (AllEdges &edges, EdgeIndexMap &edgeIndexMap)
 
uint64_t getSpikeHistory (int index, int offIndex)
 
- Public Member Functions inherited from AllVertices
virtual void printParameters () const
 
virtual void loadEpochInputs (uint64_t currentStep, uint64_t endStep)
 
virtual void loadParameters ()=0
 
virtual void createAllVertices (Layout &layout)=0
 
virtual string toString (int i) const =0
 
template<class Archive >
void serialize (Archive &archive)
 Cereal serialization method.
 

Public Attributes

DeviceVector< bool > hasFired_
 The booleans which track whether the neuron has fired.
 
vector< EventBuffervertexEvents_
 Holds at least one epoch's worth of event times for every vertex.
 
DeviceVector< BGFLOAT > summationPoints_
 

Protected Member Functions

virtual void advanceNeuron (int index)=0
 
virtual void fire (int index)
 

Protected Attributes

bool fAllowBackPropagation_
 
- Protected Attributes inherited from AllVertices
int size_
 Total number of vertices.
 
log4cplus::Logger fileLogger_
 
log4cplus::Logger vertexLogger_
 TODO: Should check to see if this file name "neurons" is hardcoded and change it to vertices.
 

Detailed Description

Definition at line 38 of file AllSpikingNeurons.h.

Member Function Documentation

◆ advanceNeuron()

virtual void AllSpikingNeurons::advanceNeuron ( int index)
protectedpure virtual

Helper for advanceNeuron. Updates state of a single neuron.

Parameters
indexIndex of the neuron to update.

Implemented in AllIZHNeurons, and AllLIFNeurons.

◆ advanceVertices()

void AllSpikingNeurons::advanceVertices ( AllEdges & synapses,
const EdgeIndexMap & edgeIndexMap )
virtual

Update internal state of the indexed Neuron (called by every simulation step). Notify outgoing synapses if neuron has fired.

Parameters
synapsesThe Synapse list to search from.
edgeIndexMapReference to the EdgeIndexMap.

Implements AllVertices.

Definition at line 66 of file AllSpikingNeurons.cpp.

◆ clearSpikeCounts()

void AllSpikingNeurons::clearSpikeCounts ( )

Clear the spike counts out of all Neurons.

Definition at line 49 of file AllSpikingNeurons.cpp.

◆ fire()

void AllSpikingNeurons::fire ( int index)
protectedvirtual

Initiates a firing of a neuron to connected neurons

Parameters
indexIndex of the neuron to fire.

Fire the selected Neuron and calculate the result.

Parameters
indexIndex of the Neuron to update.

Reimplemented in AllIZHNeurons, and AllLIFNeurons.

Definition at line 148 of file AllSpikingNeurons.cpp.

◆ getSpikeHistory()

uint64_t AllSpikingNeurons::getSpikeHistory ( int index,
int offIndex )

Get the spike history of neuron[index] at the location offIndex. More specifically, retrieves the global simulation time step for the spike in question from the spike history record.

Parameters
indexIndex of the neuron to get spike history.
offIndexOffset of the history buffer to get from.

Get the spike history of neuron[index] at the location offIndex. More specifically, retrieves the global simulation time step for the spike in question from the spike history record.

Parameters
indexIndex of the neuron to get spike history.
offIndexOffset of the history buffer to get from. This indicates how many spikes in the past we are looking, so it must be a negative number (i.e., it is relative to the "current time", i.e., one location past the most recent spike). So, the most recent spike is offIndex = -1

Definition at line 164 of file AllSpikingNeurons.cpp.

◆ integrateVertexInputs()

void AllSpikingNeurons::integrateVertexInputs ( AllEdges & edges,
EdgeIndexMap & edgeIndexMap )
virtual

Add psr of all incoming synapses to summation points.

Parameters
edgesThe edge list to search from.
edgeIndexMapReference to the EdgeIndexMap.

Add psr of all incoming synapses to summation points.

Parameters
allVerticesDeviceGPU address of the allVertices struct on device memory.
edgeIndexMapDeviceGPU address of the EdgeIndexMap on device memory.
allEdgesDeviceGPU address of the allEdges struct on device memory.

Implements AllVertices.

Definition at line 123 of file AllSpikingNeurons.cpp.

◆ registerHistoryVariables()

void AllSpikingNeurons::registerHistoryVariables ( )
overridevirtual

Helper function for recorder to register spike history variables for all neurons. Option 1: Register neuron information in vertexEvents_ one by one. Option 2: Register a vector of EventBuffer variables.

Register spike history variables for all neurons. Option 1: Register neuron information in vertexEvents_ one by one. Option 2: Register a vector of EventBuffer variables.

Implements AllVertices.

Definition at line 29 of file AllSpikingNeurons.cpp.

◆ serialize()

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

Cereal serialization method.

Definition at line 162 of file AllSpikingNeurons.h.

◆ setupVertices()

void AllSpikingNeurons::setupVertices ( )
overridevirtual

Setup the internal structure of the class (allocate memories).

Setup the internal structure of the class. Allocate memories to store all neurons' state.

Reimplemented from AllVertices.

Reimplemented in AllIFNeurons, and AllIZHNeurons.

Definition at line 14 of file AllSpikingNeurons.cpp.

Member Data Documentation

◆ fAllowBackPropagation_

bool AllSpikingNeurons::fAllowBackPropagation_
protected

True if back propagation is allowed. (parameters used for advanceVerticesDevice.)

Definition at line 136 of file AllSpikingNeurons.h.

◆ hasFired_

DeviceVector<bool> AllSpikingNeurons::hasFired_

The booleans which track whether the neuron has fired.

Definition at line 121 of file AllSpikingNeurons.h.

◆ summationPoints_

DeviceVector<BGFLOAT> AllSpikingNeurons::summationPoints_

The summation point for each vertex. Summation points are places where the synapses connected to the vertex apply (summed up) their PSRs (Post-Synaptic-Response). On the next advance cycle, vertices add the values stored in their corresponding summation points to their Vm and resets the summation points to zero

Definition at line 131 of file AllSpikingNeurons.h.

◆ vertexEvents_

vector<EventBuffer> AllSpikingNeurons::vertexEvents_

Holds at least one epoch's worth of event times for every vertex.

Definition at line 124 of file AllSpikingNeurons.h.


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