Cypress
1.0
C++ Spiking Neural Network Simulation Framework
|
#include <power.hpp>
Public Member Functions | |
PowerManagementBackend (std::shared_ptr< PowerDevice > device, std::unique_ptr< Backend > backend) | |
PowerManagementBackend (std::unique_ptr< Backend > backend, const std::string &config_filename="") | |
~PowerManagementBackend () override | |
std::unordered_set< const NeuronType * > | supported_neuron_types () const override |
std::string | name () const override |
void | run (NetworkBase &network, Real duration=0.0) const |
The PowerManagementBackend is responsible for switching neuromorphic hardware devices on and off when necessary and to automatically reset them in case there is an error during the execution, which are sometimes caused by buggy firmware. E.g. the Spikey device sometimes looses the USB connection, which can only be solved by a power cycle. Furthermore, due to annoying noise being emitted from the device, it is extremely important for the sanity of the people sitting in the same room, that the device is switched on exactly if experments are running.
cypress::PowerManagementBackend::PowerManagementBackend | ( | std::shared_ptr< PowerDevice > | device, |
std::unique_ptr< Backend > | backend | ||
) |
Creates a new PowerManagementBackend instance.
device | is the device which is responsible for switching the power to the neuromorphic hardware. |
backend | is the backend which actually executes the network. |
cypress::PowerManagementBackend::PowerManagementBackend | ( | std::unique_ptr< Backend > | backend, |
const std::string & | config_filename = "" |
||
) |
|
override |
Destroys the PowerManagementBackend backend instance.
|
inlineoverridevirtual |
Returns the canonical name of the backend. Forward the call to the actual backend being wrapped by the PowerManagementBackend.
Implements cypress::Backend.
|
inherited |
Simulates the given spiking neural network for the given duration.
network | is the network that should be simulated. The simulation result will be written to the network instance. |
duration | is the duration for which the network should be simulated. |
|
inlineoverridevirtual |
Returns the neuron types supported by the actual backend.
Implements cypress::Backend.