Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
|
Public Member Functions | |
virtual void | setupVertices () override |
Setup the internal structure of the class (allocate memories). | |
virtual void | loadParameters () |
virtual void | printParameters () const |
virtual void | createAllVertices (Layout &layout) |
virtual string | toString (int index) const |
virtual void | deserialize (istream &input) |
virtual void | serialize (ostream &output) const |
template<class Archive > | |
void | serialize (Archive &archive) |
Cereal serialization method. | |
The membrane time constant | f$ (R_m \cdot C_m)\f$ DeviceVector< BGFLOAT > Tau_ |
template<class Archive > | |
Cereal serialization method void | serialize (Archive &archive) |
![]() | |
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) |
![]() | |
virtual void | loadEpochInputs (uint64_t currentStep, uint64_t endStep) |
template<class Archive > | |
void | serialize (Archive &archive) |
Cereal serialization method. | |
Public Attributes | |
DeviceVector< BGFLOAT > | Trefract_ |
The length of the absolute refractory period. [units=sec; range=(0,1);]. | |
DeviceVector< BGFLOAT > | Vthresh_ |
If ![]() ![]() | |
DeviceVector< BGFLOAT > | Vrest_ |
The resting membrane voltage. [units=V; range=(-1,1);]. | |
DeviceVector< BGFLOAT > | Vreset_ |
The voltage to reset ![]() | |
DeviceVector< BGFLOAT > | Vinit_ |
The initial condition for ![]() ![]() | |
DeviceVector< BGFLOAT > | Cm_ |
DeviceVector< BGFLOAT > | Rm_ |
The membrane resistance ![]() | |
DeviceVector< BGFLOAT > | Inoise_ |
The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;]. | |
DeviceVector< BGFLOAT > | Iinject_ |
A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);]. | |
DeviceVector< BGFLOAT > | Isyn_ |
DeviceVector< int > | numStepsInRefractoryPeriod_ |
The remaining number of time steps for the absolute refractory period. | |
DeviceVector< BGFLOAT > | C1_ |
Internal constant for the exponential Euler integration of f$V_m . | |
Internal constant for the exponential Euler integration of f$V_m f$ DeviceVector< BGFLOAT > | C2_ |
Internal constant for the exponential Euler integration of f$V_m f$ DeviceVector< BGFLOAT > | I0_ |
The membrane voltage f$V_m f$[readonly;units=V;] DeviceVector< BGFLOAT > | Vm_ |
![]() | |
DeviceVector< bool > | hasFired_ |
The booleans which track whether the neuron has fired. | |
vector< EventBuffer > | vertexEvents_ |
Holds at least one epoch's worth of event times for every vertex. | |
DeviceVector< BGFLOAT > | summationPoints_ |
Protected Member Functions | |
void | createNeuron (int neuronIndex, Layout &layout) |
void | setNeuronDefaults (int index) |
virtual void | initNeuronConstsFromParamValues (int neuronIndex, BGFLOAT deltaT) |
void | readNeuron (istream &input, int i) |
void | writeNeuron (ostream &output, int i) const |
![]() | |
virtual void | advanceNeuron (int index)=0 |
virtual void | fire (int index) |
Additional Inherited Members | |
![]() | |
bool | fAllowBackPropagation_ |
![]() | |
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. | |
Definition at line 41 of file AllIFNeurons.h.
|
virtual |
Creates all the Neurons and assigns initial data for them.
layout | Layout information of the neural network. |
Creates all the Neurons and generates data for them.
layout | Layout information of the neural network. |
Implements AllVertices.
Reimplemented in AllIZHNeurons.
Definition at line 102 of file AllIFNeurons.cpp.
|
protected |
Creates a single Neuron and generates data for it.
neuronIndex | Index of the neuron to create. |
layout | Layout information of the neural network. |
Creates a single Neuron and generates data for it.
i | Index of the neuron to create. |
layout | Layout information of the neural network. |
Definition at line 117 of file AllIFNeurons.cpp.
|
virtual |
Reads and sets the data for all neurons from input stream.
input | istream to read from. |
Sets the data for Neurons to input's data.
input | istream to read from. |
Reimplemented in AllIZHNeurons.
Definition at line 246 of file AllIFNeurons.cpp.
|
protectedvirtual |
Initializes the Neuron constants at the indexed location.
neuronIndex | Index of the Neuron. |
deltaT | Inner simulation step duration |
Initializes the Neuron constants at the indexed location.
i | Index of the Neuron. |
deltaT | Inner simulation step duration |
Reimplemented in AllIZHNeurons.
Definition at line 190 of file AllIFNeurons.cpp.
|
virtual |
Load member variables from configuration file. Registered to OperationManager as Operation::loadParameters
Load member variables from configuration file. Registered to OperationManager as Operation::op::loadParameters
Implements AllVertices.
Definition at line 43 of file AllIFNeurons.cpp.
|
virtual |
Prints out all parameters of the neurons to logging file. Registered to OperationManager as Operation::printParameters
Reimplemented from AllVertices.
Reimplemented in AllIZHNeurons, and AllLIFNeurons.
Definition at line 76 of file AllIFNeurons.cpp.
|
protected |
Sets the data for Neuron #index to input's data.
input | istream to read from. |
i | index of the neuron (in neurons). |
Definition at line 257 of file AllIFNeurons.cpp.
Cereal serialization method void AllIFNeurons::serialize | ( | Archive & | archive | ) |
Definition at line 251 of file AllIFNeurons.h.
|
virtual |
Writes out the data in all neurons to output stream.
output | stream to write out to.ss. |
Writes out the data in Neurons.
output | stream to write out to. |
Reimplemented in AllIZHNeurons.
Definition at line 301 of file AllIFNeurons.cpp.
|
protected |
Set the Neuron at the indexed location to default values.
index | Index of the Neuron that the synapse belongs to. |
Definition at line 172 of file AllIFNeurons.cpp.
|
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 AllSpikingNeurons.
Reimplemented in AllIZHNeurons.
Definition at line 18 of file AllIFNeurons.cpp.
|
virtual |
Outputs state of the neuron chosen as a string.
index | index of the neuron (in neurons) to output info from. |
Implements AllVertices.
Reimplemented in AllIZHNeurons.
Definition at line 220 of file AllIFNeurons.cpp.
|
protected |
Writes out the data in the selected Neuron.
output | stream to write out to. |
i | index of the neuron (in neurons). |
Definition at line 312 of file AllIFNeurons.cpp.
DeviceVector<BGFLOAT> AllIFNeurons::C1_ |
Internal constant for the exponential Euler integration of f$V_m .
Definition at line 208 of file AllIFNeurons.h.
Internal constant for the exponential Euler integration of f$V_m f$ DeviceVector<BGFLOAT> AllIFNeurons::C2_ |
Definition at line 211 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Cm_ |
The membrane capacitance
Definition at line 187 of file AllIFNeurons.h.
Internal constant for the exponential Euler integration of f$V_m f$ DeviceVector<BGFLOAT> AllIFNeurons::I0_ |
Definition at line 214 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Iinject_ |
A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);].
Definition at line 196 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Inoise_ |
The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;].
Definition at line 193 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Isyn_ |
What the hell is this used for??? It does not seem to be used; seems to be a candidate for deletion. Possibly from the old code before using a separate summation point The synaptic input current.
Definition at line 202 of file AllIFNeurons.h.
DeviceVector<int> AllIFNeurons::numStepsInRefractoryPeriod_ |
The remaining number of time steps for the absolute refractory period.
Definition at line 205 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Rm_ |
The membrane resistance
Definition at line 190 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Trefract_ |
The length of the absolute refractory period. [units=sec; range=(0,1);].
Definition at line 171 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Vinit_ |
The initial condition for
Definition at line 183 of file AllIFNeurons.h.
The membrane voltage f$V_m f$ [readonly; units=V;] DeviceVector<BGFLOAT> AllIFNeurons::Vm_ |
Definition at line 217 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Vreset_ |
The voltage to reset
Definition at line 180 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Vrest_ |
The resting membrane voltage. [units=V; range=(-1,1);].
Definition at line 177 of file AllIFNeurons.h.
DeviceVector<BGFLOAT> AllIFNeurons::Vthresh_ |
If
Definition at line 174 of file AllIFNeurons.h.