Cypress  1.0
C++ Spiking Neural Network Simulation Framework
Public Member Functions | Protected Member Functions | List of all members
cypress::Backend Class Referenceabstract

#include <backend.hpp>

Inheritance diagram for cypress::Backend:
Inheritance graph
[legend]

Public Member Functions

void run (NetworkBase &network, Real duration=0.0) const
 
virtual std::unordered_set< const NeuronType * > supported_neuron_types () const =0
 
virtual std::string name () const =0
 
virtual ~Backend ()
 

Protected Member Functions

virtual void do_run (NetworkBase &network, Real duration) const =0
 

Detailed Description

The Backend class is an abstract base class which provides the facilities for network execution.

Constructor & Destructor Documentation

virtual cypress::Backend::~Backend ( )
virtual

Destructor of the backend class.

Member Function Documentation

virtual void cypress::Backend::do_run ( NetworkBase network,
Real  duration 
) const
protectedpure virtual

Abstract method which has to be implemented by the backend.

Implemented in cypress::PyNN, and cypress::ToJson.

virtual std::string cypress::Backend::name ( ) const
pure virtual

Returns the canonical name of the backend.

Implemented in cypress::PowerManagementBackend, cypress::PyNN, cypress::NMPI, cypress::GeNN, cypress::NEST, and cypress::ToJson.

void cypress::Backend::run ( NetworkBase network,
Real  duration = 0.0 
) const

Simulates the given spiking neural network for the given duration.

Parameters
networkis the network that should be simulated. The simulation result will be written to the network instance.
durationis the duration for which the network should be simulated.
virtual std::unordered_set<const NeuronType *> cypress::Backend::supported_neuron_types ( ) const
pure virtual

Returns a set of neuron types which are supported by this backend. Trying to execute a network with other neurons than the ones specified in the result of this function will result in an exception.

Returns
a set of neuron types supported by this particular backend instance.

Implemented in cypress::PyNN, cypress::NMPI, cypress::PowerManagementBackend, cypress::GeNN, cypress::NEST, and cypress::ToJson.


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