|
Graphitti
A toolkit/software architecture to ease creating high-performance neural network simulators
|


Public Member Functions | |
| virtual void | setupVertices () override |
| virtual void | createAllVertices (Layout &layout) |
| virtual void | loadParameters () |
| virtual void | printParameters () const override |
| virtual string | toString (int index) const |
| virtual void | loadEpochInputsToVertices (uint64_t currentStep, uint64_t endStep) override |
| virtual void | registerHistoryVariables () override |
| unused virtual function placeholder | |
| CircularBuffer< Call > & | getQueue (int vIdx) |
| int & | droppedCalls (int vIdx) |
| int & | receivedCalls (int vIdx) |
| int | busyServers (int vIdx) const |
| virtual void | advanceVertices (AllEdges &edges, const EdgeIndexMap &edgeIndexMap) override |
| Update internal state of the indexed vertex (called by every simulation step). | |
| virtual void | integrateVertexInputs (AllEdges &edges, EdgeIndexMap &edgeIndexMap) override |
Public Member Functions inherited from AllVertices | |
| void | loadEpochInputs (uint64_t currentStep, uint64_t endStep) |
| template<class Archive > | |
| void | serialize (Archive &archive) |
| Cereal serialization method. | |
Static Public Member Functions | |
| static AllVertices * | Create () |
Public Attributes | |
| vector< int > | vertexType_ |
| Index each vertex and record it's type. | |
| vector< EventBuffer< uint64_t > > | beginTimeHistory_ |
| The starting time for every call. | |
| vector< EventBuffer< uint64_t > > | answerTimeHistory_ |
| The answer time for every call. | |
| vector< EventBuffer< uint64_t > > | endTimeHistory_ |
| The end time for every call. | |
| vector< EventBuffer< uint64_t > > | wasAbandonedHistory_ |
| True if the call was abandoned. | |
| vector< EventBuffer< uint64_t > > | queueLengthHistory_ |
| The length of the waiting queue at every time-step. | |
| vector< EventBuffer< float > > | utilizationHistory_ |
| The portion of servers that are busy at every time-step. | |
| vector< CircularBuffer< Call > > | vertexQueues_ |
| These are the queues where calls will wait to be served. | |
| RecordableVector< int > | droppedCalls_ |
| The number of calls that have been dropped (got a busy signal) | |
| RecordableVector< int > | receivedCalls_ |
| The number of received calls. | |
| vector< int > | busyServers_ |
| Number of servers currently serving calls. | |
| int | maxNumberOfServers_ |
| RecordableVector< int > | numServers_ |
| RecordableVector< int > | numTrunks_ |
| Number of phone lines available. Only valid for PSAPs and Responders. | |
| BGFLOAT | redialP_ |
| The probability that a caller will redial after receiving the busy signal. | |
| BGFLOAT | avgDrivingSpeed_ |
| The average driving speed of a response unit in mph. | |
| vector< vector< Call > > | servingCall_ |
| Holds the calls being served by each server. | |
| vector< vector< uint64_t > > | answerTime_ |
| The time that the call being served was answered by the server. | |
| vector< vector< int > > | serverCountdown_ |
| The countdown until the server is available to take another call. | |
| InputManager< Call > | inputManager_ |
| The InputManager holds all the Input Events for the simulation. | |
| vector< int > | vertexIdToNoiseIndex_ |
Protected Member Functions | |
| BGSIZE | getEdgeToClosestResponder (const Call &call, BGSIZE vertexIdx) |
Protected Attributes | |
| int | numberOfVerticesNeedingDeviceNoise_ |
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. | |
Friends | |
| class | Xml911Recorder |
Definition at line 81 of file All911Vertices.h.
|
overridevirtual |
Update internal state of the indexed vertex (called by every simulation step).
Update internal state of the indexed Vertex (called by every simulation step). Notify outgoing edges if vertex has fired.
| edges | The Edge list to search from. |
| edgeIndexMap | Reference to the EdgeIndexMap. |
| edges | Reference to the allEdges struct on host memory. |
| allVerticesDevice | GPU address of the allVerticesDeviceProperties struct on device memory. |
| allEdgesDevice | GPU address of the allEdgesDeviceProperties struct on device memory. |
| randNoise | |
| edgeIndexMapDevice | GPU address of the EdgeIndexMap on device memory. |
Implements AllVertices.
Definition at line 309 of file All911Vertices.cpp.
| int All911Vertices::busyServers | ( | int | vIdx | ) | const |
Accessor for the number of busy servers in a given vertex
| vIdx | The index of the vertex |
Definition at line 229 of file All911Vertices.cpp.
|
inlinestatic |
Creates an instance of the class.
Definition at line 93 of file All911Vertices.h.
|
virtual |
Creates all the Vertices and assigns initial data for them.
| layout | Layout information of the network. |
Implements AllVertices.
Definition at line 56 of file All911Vertices.cpp.
| int & All911Vertices::droppedCalls | ( | int | vIdx | ) |
Accessor for the droppedCalls counter of a vertex
| vIdx | The index of the vertex |
Definition at line 217 of file All911Vertices.cpp.
|
protected |
Finds the outgoing edge from the given vertex to the Responder closest to the emergency call location
| call | The call that needs a Responder |
| vertexIdx | The index of the vertex serving the call (A PSAP) |
Finds the outgoing edge from the given vertex to the Responder closest to the emergency call location
Definition at line 599 of file All911Vertices.cpp.
| CircularBuffer< Call > & All911Vertices::getQueue | ( | int | vIdx | ) |
Accessor for the waiting queue of a vertex
| vIdx | The index of the vertex |
Definition at line 211 of file All911Vertices.cpp.
|
overridevirtual |
Performs an integration operation per vertex using the inputs to the vertex.
| edges | The edge list to search from. |
| edgeIndexMap | Reference to the EdgeIndexMap. |
Take a call from an edge and add it to the queue if the queue isn't full.
| allVerticesDevice | GPU address of the allVertices struct on device memory. |
| edgeIndexMapDevice | GPU address of the EdgeIndexMap on device memory. |
| allEdgesDevice | GPU address of the allEdges struct on device memory. |
Implements AllVertices.
Definition at line 237 of file All911Vertices.cpp.
|
overridevirtual |
Loads all inputs scheduled to occur in the upcoming epoch. These are inputs occurring in between curStep (inclusive) and endStep (exclusive)
Reimplemented from AllVertices.
Definition at line 152 of file All911Vertices.cpp.
|
virtual |
Load member variables from configuration file. Registered to OperationManager as Operation::loadParameters
Implements AllVertices.
Definition at line 132 of file All911Vertices.cpp.
|
overridevirtual |
Prints out all parameters of the vertices to logging file. Registered to OperationManager as Operation::printParameters
Reimplemented from AllVertices.
Definition at line 140 of file All911Vertices.cpp.
| int & All911Vertices::receivedCalls | ( | int | vIdx | ) |
Accessor for the receivedCalls counter of a vertex
| vIdx | The index of the vertex |
Definition at line 223 of file All911Vertices.cpp.
|
overridevirtual |
unused virtual function placeholder
Implements AllVertices.
Definition at line 169 of file All911Vertices.cpp.
|
overridevirtual |
Setup the internal structure of the class. Allocate memories to store all vertices' states.
Reimplemented from AllVertices.
Definition at line 18 of file All911Vertices.cpp.
|
virtual |
Outputs state of the vertex chosen as a string.
| index | index of the vertex (in vertices) to output info from. |
Implements AllVertices.
Definition at line 145 of file All911Vertices.cpp.
|
friend |
Definition at line 84 of file All911Vertices.h.
| vector<vector<uint64_t> > All911Vertices::answerTime_ |
The time that the call being served was answered by the server.
Definition at line 199 of file All911Vertices.h.
| vector<EventBuffer<uint64_t> > All911Vertices::answerTimeHistory_ |
The answer time for every call.
Definition at line 158 of file All911Vertices.h.
| BGFLOAT All911Vertices::avgDrivingSpeed_ |
The average driving speed of a response unit in mph.
Definition at line 193 of file All911Vertices.h.
| vector<EventBuffer<uint64_t> > All911Vertices::beginTimeHistory_ |
The starting time for every call.
Definition at line 156 of file All911Vertices.h.
| vector<int> All911Vertices::busyServers_ |
Number of servers currently serving calls.
Definition at line 178 of file All911Vertices.h.
| RecordableVector<int> All911Vertices::droppedCalls_ |
The number of calls that have been dropped (got a busy signal)
Definition at line 172 of file All911Vertices.h.
| vector<EventBuffer<uint64_t> > All911Vertices::endTimeHistory_ |
The end time for every call.
Definition at line 160 of file All911Vertices.h.
| InputManager<Call> All911Vertices::inputManager_ |
The InputManager holds all the Input Events for the simulation.
Definition at line 205 of file All911Vertices.h.
| int All911Vertices::maxNumberOfServers_ |
Definition at line 181 of file All911Vertices.h.
|
protected |
The number of vertices that needs device noise. Only caller regions need noise for determining redial so this is meant to help save memory. A member variable is used so that we don't have to recompute this value multiple times.
Definition at line 225 of file All911Vertices.h.
| RecordableVector<int> All911Vertices::numServers_ |
Number of servers. In a PSAP these are the call takers, in Responder nodes they are responder units
Definition at line 184 of file All911Vertices.h.
| RecordableVector<int> All911Vertices::numTrunks_ |
Number of phone lines available. Only valid for PSAPs and Responders.
Definition at line 187 of file All911Vertices.h.
| vector<EventBuffer<uint64_t> > All911Vertices::queueLengthHistory_ |
The length of the waiting queue at every time-step.
Definition at line 164 of file All911Vertices.h.
| RecordableVector<int> All911Vertices::receivedCalls_ |
The number of received calls.
Definition at line 175 of file All911Vertices.h.
| BGFLOAT All911Vertices::redialP_ |
The probability that a caller will redial after receiving the busy signal.
Definition at line 190 of file All911Vertices.h.
| vector<vector<int> > All911Vertices::serverCountdown_ |
The countdown until the server is available to take another call.
Definition at line 202 of file All911Vertices.h.
| vector<vector<Call> > All911Vertices::servingCall_ |
Holds the calls being served by each server.
Definition at line 196 of file All911Vertices.h.
| vector<EventBuffer<float> > All911Vertices::utilizationHistory_ |
The portion of servers that are busy at every time-step.
Definition at line 166 of file All911Vertices.h.
| vector<int> All911Vertices::vertexIdToNoiseIndex_ |
Mapping of the vertex ID to the index in the noise array. Only caller regions need noise for determining if a redial occurs. Caller regions have a value 0 to n where n is the number of caller regions. Non-caller regions have a value of -1.
Definition at line 211 of file All911Vertices.h.
| vector<CircularBuffer<Call> > All911Vertices::vertexQueues_ |
These are the queues where calls will wait to be served.
Definition at line 169 of file All911Vertices.h.
| vector<int> All911Vertices::vertexType_ |
Index each vertex and record it's type.
Definition at line 154 of file All911Vertices.h.
| vector<EventBuffer<uint64_t> > All911Vertices::wasAbandonedHistory_ |
True if the call was abandoned.
Definition at line 162 of file All911Vertices.h.