Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
|
Public Member Functions | |
AllEdges (int numVertices, int maxEdges) | |
virtual void | setupEdges () |
Setup the internal structure of the class (allocate memories and initialize them). | |
virtual void | loadParameters () |
virtual void | printParameters () const |
virtual BGSIZE | addEdge (edgeType type, int srcVertex, int destVertex, BGFLOAT deltaT) |
virtual void | createEdge (BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type)=0 |
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 | advanceEdge (BGSIZE iEdg, AllVertices &vertices)=0 |
virtual void | eraseEdge (int neuronIndex, BGSIZE iEdg) |
Public Attributes | |
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 | readEdge (istream &input, BGSIZE iEdg) |
virtual void | writeEdge (ostream &output, BGSIZE iEdg) const |
edgeType | edgeOrdinalToType (int typeOrdinal) |
Protected Attributes | |
log4cplus::Logger | fileLogger_ |
Loggers used to print to using log4cplus logging macros, prints to Results/Debug/logging.txt. | |
log4cplus::Logger | edgeLogger_ |
Definition at line 21 of file AllEdges.h.
AllEdges::AllEdges | ( | ) |
Definition at line 13 of file AllEdges.cpp.
AllEdges::AllEdges | ( | int | numVertices, |
int | maxEdges ) |
Definition at line 33 of file AllEdges.cpp.
|
virtual |
Adds a Edge to the model, connecting two Vertices.
type | The type of the Edge to add. |
srcVertex | The Vertex that sends to this Edge. |
destVertex | The Vertex that receives from the Edge. |
deltaT | Inner simulation step duration |
Adds an edge to the model, connecting two Vertices.
type | The type of the edge to add. |
srcVertex | The Vertex that sends to this edge. |
destVertex | The Vertex that receives from the edge. |
deltaT | Inner simulation step duration |
Definition at line 256 of file AllEdges.cpp.
|
pure virtual |
Advance one specific Edge.
iEdg | Index of the Edge to connect to. |
vertices | The Vertex list to search from. |
Implemented in All911Edges, AllSpikingSynapses, and AllSTDPSynapses.
|
virtual |
Advance all the edges in the simulation. Update the state of all edges for a time step.
vertices | The Vertex list to search from. |
edgeIndexMap | Pointer to EdgeIndexMap structure. |
Advance all the edges in the simulation.
vertices | The vertices. |
edgeIndexMap | Pointer to EdgeIndexMap structure. |
Reimplemented in All911Edges.
Definition at line 227 of file AllEdges.cpp.
|
pure virtual |
Create a Edge and connect it to the model.
iEdg | Index of the edge to set. |
srcVertex | Coordinates of the source Vertex. |
destVertex | Coordinates of the destination Vertex. |
deltaT | Inner simulation step duration. |
type | Type of the Edge to create. |
Implemented in All911Edges, AllDSSynapses, AllDynamicSTDPSynapses, AllSpikingSynapses, and AllSTDPSynapses.
|
virtual |
|
protected |
Returns an appropriate edgeType object for the given integer.
typeOrdinal | Integer that correspond with a edgeType. |
Definition at line 127 of file AllEdges.cpp.
|
virtual |
Remove a edge from the network.
neuronIndex | Index of a vertex to remove from. |
iEdg | Index of a edge to remove. |
Remove a edge from the network.
iVert | Index of a vertex to remove from. |
iEdg | Index of a edge to remove. |
Definition at line 239 of file AllEdges.cpp.
|
virtual |
Load member variables from configuration file. Registered to OperationManager as Operation::op::loadParameters
Reimplemented in AllSpikingSynapses, and AllSTDPSynapses.
Definition at line 40 of file AllEdges.cpp.
|
virtual |
Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, AllSpikingSynapses, and AllSTDPSynapses.
Definition at line 47 of file AllEdges.cpp.
|
protectedvirtual |
Sets the data for Edge to input's data.
input | istream to read from. |
iEdg | Index of the edge to set. |
Sets the data for Synapse to input's data.
input | istream to read from. |
iEdg | Index of the edge to set. |
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, AllNeuroEdges, AllSpikingSynapses, and AllSTDPSynapses.
Definition at line 91 of file AllEdges.cpp.
void AllEdges::serialize | ( | Archive & | archive | ) |
Cereal serialization method.
Cereal serialization method (Serializes edge weights, source vertices, and destination vertices)
Definition at line 228 of file AllEdges.h.
|
virtual |
Setup the internal structure of the class (allocate memories and initialize them).
Reimplemented in All911Edges, AllDSSynapses, AllDynamicSTDPSynapses, AllNeuroEdges, AllSpikingSynapses, and AllSTDPSynapses.
Definition at line 59 of file AllEdges.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 edges per vertex. |
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, AllNeuroEdges, AllSpikingSynapses, and AllSTDPSynapses.
Definition at line 69 of file AllEdges.cpp.
|
protectedvirtual |
Write the edge data to the stream.
output | stream to print out to. |
iEdg | Index of the edge to print out. |
Reimplemented in AllDSSynapses, AllDynamicSTDPSynapses, AllNeuroEdges, AllSpikingSynapses, and AllSTDPSynapses.
Definition at line 114 of file AllEdges.cpp.
int AllEdges::countVertices_ |
The number of vertices Aaron: Is this even supposed to be here?! Usage: Used by destructor
Definition at line 223 of file AllEdges.h.
vector<int> AllEdges::destVertexIndex_ |
The coordinates of the summation point.
Definition at line 197 of file AllEdges.h.
vector<BGSIZE> AllEdges::edgeCounts_ |
The number of (incoming) edges for each vertex. Note: Likely under a different name in GpuSim_struct, see edge_count. -Aaron
Definition at line 212 of file AllEdges.h.
|
protected |
Definition at line 91 of file AllEdges.h.
|
protected |
Loggers used to print to using log4cplus logging macros, prints to Results/Debug/logging.txt.
Definition at line 90 of file AllEdges.h.
vector<unsigned char> AllEdges::inUse_ |
The value indicating the entry in the array is in use.
Definition at line 208 of file AllEdges.h.
BGSIZE AllEdges::maxEdgesPerVertex_ |
The maximum number of edges for each vertex.
Definition at line 218 of file AllEdges.h.
vector<int> AllEdges::sourceVertexIndex_ |
The location of the edge.
Definition at line 194 of file AllEdges.h.
BGSIZE AllEdges::totalEdgeCount_ |
The total number of active edges.
Definition at line 215 of file AllEdges.h.
vector<edgeType> AllEdges::type_ |
Synapse type.
Definition at line 203 of file AllEdges.h.
vector<BGFLOAT> AllEdges::W_ |
The weight (scaling factor, strength, maximal amplitude) of the edge.
Definition at line 200 of file AllEdges.h.