#include <SimNetwork.h>
Adding a single new object specified by an object model / factory | |
void | addObject (const SimObjectFactory &model, const SimEngine::ID &engine, SimObject::ID &id) |
One instance of a simulation object is created and added at specified simulation engine of the network. | |
void | addObject (const SimObjectFactory &model, SimObject::ID &id) |
One instance of a simulation object is created and added to the network using the current distribution strategy. | |
SimObject::ID::Packed | create (const SimObjectFactory &model, const SimEngine::ID &engine) |
One instance of a simulation object is created and added at specified simulation engine of the network. | |
SimObject::ID::Packed | add (const SimObjectFactory &model, const SimEngine::ID &engine) |
SimObject::ID::Packed | create (const SimObjectFactory &model) |
One instance of a simulation object is created and added to the network using the current distribution strategy. | |
SimObject::ID::Packed | add (const SimObjectFactory &model) |
virtual void | _addObject_ (const SimObjectFactory &model, const SimEngine::ID &engine, SimObject::ID &id) |
One instance of a simulation object is created and added at specified simulation engine of the network. | |
virtual void | _addObject_ (const SimObjectFactory &model, SimObject::ID &id) |
One instance of a simulation object is created and added to the network using the current distribution strategy. | |
Mounting and inserting a new object to already existing object | |
void | mount (const SimObjectFactory &model, const SimObject::ID &mountpoint, SimObject::ID &gid) |
One instance of a simulation object is created and "mounted" to the mount simulation object. | |
SimObject::ID::Packed | mount (const SimObjectFactory &model, const SimObject::ID &mountpoint) |
One instance of a simulation object is created and "mounted" to the mount simulation object. | |
SimObject::ID::Packed | mount (const SimObjectFactory &model, const SimObject::ID::Packed &mountpoint) |
One instance of a simulation object is created and "mounted" to the mount simulation object. | |
SimObject::ID::Vector | mount (const SimObjectFactory &model, std::vector< SimObject::ID::Packed > const &mountpoints, bool collect=false) |
One instance of a simulation object is created and "mounted" to the mount simulation object. | |
void | insert (const SimObjectFactory &model, const SimObject::ID &container, SimObject::ID &gid) |
One instance of a simulation object is created and "inserted" into the container simulation object. | |
SimObject::ID::Packed | insert (const SimObjectFactory &model, const SimObject::ID &container) |
One instance of a simulation object is created and "inserted" to the mount simulation object. | |
SimObject::ID::Packed | insert (const SimObjectFactory &model, const SimObject::ID::Packed &container) |
One instance of a simulation object is created and "inserted" to the mount simulation object. | |
virtual void | _mount_ (const SimObjectFactory &model, const SimObject::ID &mountpoint, SimObject::ID &gid) |
One instance of a simulation object is created and "mounted" to the mount simulation object. | |
virtual void | _insert_ (const SimObjectFactory &model, const SimObject::ID &container, SimObject::ID &gid) |
One instance of a simulation object is created and "inserted" into the container simulation object. | |
Create a recorder in the same simEngine as the object and make a connection between the object and the recorder | |
SimObject::ID::Packed | record (const SimObject::ID::Packed &obj, const SimObjectFactory &recFactory, const port_t rec_port=0) |
Record values from port 0 of an object. Creates a recorder in the same SingleThreadEngine as the object and makes a connection without a delay. | |
SimObject::ID::Packed | record (const SimObject::ID::Packed &obj, const port_t src_port, const SimObjectFactory &recFactory, const port_t rec_port=0) |
Record values from a specific port of an object. Creates a recorder in the same SingleThreadEngine as the object and makes a connection without a delay. | |
SimObject::ID::Packed | record (const SimObject::ID::Packed &obj, const string field, const SimObjectFactory &recFactory, const port_t rec_port=0) |
Record values from a specified field of an object. Creates a recorder in the same SingleThreadEngine as the object and makes a connection without a delay. | |
virtual void | _connect_ (SimObject::ID const &src, port_t out, const SimObject::ID &dst, port_t in, int delay) |
Make a connection where the type of connection (spike or analog) is determined (guessed) automatically. | |
Messages | |
void | addSpikeMessage (const SimObject::ID &sender, const port_t out, const SimObject::ID &receiver, const port_t in, const Time &delay) |
Set up a spike message channel with a given delay. | |
void | addAnalogMessage (const SimObject::ID &sender, int sender_port, const SimObject::ID &receiver, int recv_port, const Time &delay) |
void | addAnalogMessage (const SimObject::ID &sender, int sender_port, const SimObject::ID &receiver, string destfield, const Time &delay) |
void | addAnalogMessage (const SimObject::ID &sender, string srcfield, const SimObject::ID &receiver, int recv_port, const Time &delay) |
void | addAnalogMessage (const SimObject::ID &sender, string srcfield, const SimObject::ID &receiver, string destfield, const Time &delay) |
virtual void | _addSpikeMessage_ (const SimObject::ID &sender, const port_t out, const SimObject::ID &receiver, const port_t in, const Time &delay) |
Set up a spike message channel with a given delay. | |
virtual void | _addAnalogMessage_ (const SimObject::ID &sender, int sender_port, const SimObject::ID &receiver, int recv_port, const Time &delay) |
virtual void | _addAnalogMessage_ (const SimObject::ID &sender, int sender_port, const SimObject::ID &receiver, string destfield, const Time &delay) |
virtual void | _addAnalogMessage_ (const SimObject::ID &sender, string srcfield, const SimObject::ID &receiver, int recv_port, const Time &delay) |
virtual void | _addAnalogMessage_ (const SimObject::ID &sender, string srcfield, const SimObject::ID &receiver, string destfield, const Time &delay) |
Controlling the simulation | |
void | initialize () |
Initialize the network for forthcoming simulation. Should be called after construction and before simulation. | |
void | reset () |
void | advance (int nSteps=1) |
void | simulate (const Time &T) |
void | simulate (double T) |
void | set_dt (const Time &dt) |
Time | get_dt () const |
virtual void | _initialize_ () |
virtual void | _reset_ () |
virtual void | _advance_ (int nSteps=1) |
Public Member Functions | |
int | mpi_rank () |
Return the MPI rank of the calling node. | |
int | mpi_size () |
Return the size of the used MPI communicator. | |
unsigned | nSpikeMessage () |
unsigned | nAnalogMessages () |
const SimParameter & | simParameter () |
RandomEngine * | getMainConstructRNGEngine () |
std::vector< RandomEngine * > & | getIncomingConstructRNGEngines () |
std::vector< RandomEngine * > & | getOutgoingConstructRNGEngines () |
RandomEngine * | getObjectVariationRNDEngine () |
void | seed (uint32 noiseRNGseed) |
virtual gl_engineid_t | maxLocalEngineID (void) const |
Return the largest local simulation engine ID. | |
Construction / Destruction | |
SimNetwork (MPI::Intracomm &mpiCommunicator, SimParameter sp, DistributionStrategy::DistributionFunction *df) | |
virtual | ~SimNetwork () |
Adding many new objects at once | |
SimObject::ID::Vector | create (SimObjectFactory const &model, std::vector< SimEngine::ID > const &engines) |
Several instances of a simulation object are created and added to the network at the specified simulation engines. | |
SimObject::ID::Vector | add (SimObjectFactory const &model, std::vector< SimEngine::ID > const &engines) |
SimObject::ID::Vector | create (SimObjectFactory const &model, unsigned const n) |
Several instances of a simulation object are created and added to the network using the current distribution strategy. | |
SimObject::ID::Vector | add (SimObjectFactory const &model, unsigned const n) |
Several instances of a simulation object are created and added to the network using the current distribution strategy. | |
void | setDistributionStrategy (DistributionStrategy::DistributionFunction *distFunc) |
Define the dsitribution strategy used for the next objects to add. | |
One to one connections from specified output port to a specified input port | |
void | connect (const SimObject::ID &src, const port_t out, const SimObject::ID &dst, const port_t in, const Time &delay) |
Make a connection where the type of connection (spike or analog) is determined (guessed) automatically. | |
void | connect (const SimObject::ID::Packed &src, const port_t out, const SimObject::ID::Packed &dst, const port_t in, const Time &delay) |
Make a connection where the type of connection (spike or analog) is determined (guessed) automatically. | |
void | connect (const SimObject::ID &src, const port_t out, const SimObject::ID &dst, const port_t in) |
Make a connection where the amount of delay is given by the receiving object. | |
void | connect (const SimObject::ID::Packed &src, const port_t out, const SimObject::ID::Packed &dst, const port_t in) |
Make a connection where the amount of delay is given by the receiving object. | |
One to one analog connections from specified output port/field to a specified input port/field | |
void | connect (const SimObject::ID &src, const port_t out, const SimObject::ID &dst, const string in, const Time &delay) |
Make an analog connection with a specified delay and specified input and output ports/fields. | |
void | connect (const SimObject::ID::Packed &src, const port_t out, const SimObject::ID::Packed &dst, const string in, const Time &delay) |
Make an analog connection with a specified delay and specified input and output ports/fields. | |
void | connect (const SimObject::ID &src, const string out, const SimObject::ID &dst, const port_t in, const Time &delay) |
Make an analog connection with a specified delay and specified input and output ports/fields. | |
void | connect (const SimObject::ID::Packed &src, const string out, const SimObject::ID::Packed &dst, const port_t in, const Time &delay) |
Make an analog connection with a specified delay and specified input and output ports/fields. | |
void | connect (const SimObject::ID &src, const string out, const SimObject::ID &dst, const string in, const Time &delay) |
Make an analog connection with a specified delay and specified input and output ports/fields. | |
void | connect (const SimObject::ID::Packed &src, const string out, const SimObject::ID::Packed &dst, const string in, const Time &delay) |
Make an analog connection with a specified delay and specified input and output ports/fields. | |
One to one connections between objects using default ports (i.e. in == out == 0). | |
void | connect (const SimObject::ID &src, const SimObject::ID &dst, const Time &delay) |
Make a connection using the default porst; i.e. in = out = 0. | |
void | connect (const SimObject::ID::Packed &src, const SimObject::ID::Packed &dst, const Time &delay) |
Make a connection using the default porst; i.e. in = out = 0. | |
void | connect (const SimObject::ID &src, const SimObject::ID &dst) |
Make a connection using the default porst; i.e. in = out = 0. | |
void | connect (const SimObject::ID::Packed &src, const SimObject::ID::Packed &dst) |
Make a connection using the default porst; i.e. in = out = 0. | |
One to one connections between objects using a connector object model | |
void | connect (const SimObject::ID &src, const SimObject::ID &dst, const SimObjectFactory &connObjFactory, SimObject::ID &connID) |
Make a connection between to objects using a connector object. | |
SimObject::ID | connect (const SimObject::ID &src, const SimObject::ID &dst, const SimObjectFactory &connObjFactory) |
Make a connection between to objects using a connector object. | |
SimObject::ID::Packed | connect (const SimObject::ID::Packed &src, const SimObject::ID::Packed &dst, const SimObjectFactory &connObjFactory) |
Make a connection between to objects using a connector object. | |
One to One connections between objects | |
unsigned | connect (std::vector< SimObject::ID::Packed > const &src, std::vector< SimObject::ID::Packed > const &dst, const Time &delay) |
Connect each source object to each destination object using default ports and a specified delay. | |
Many to Many connections between objects | |
unsigned | connect (std::vector< SimObject::ID::Packed > const &src, std::vector< SimObject::ID::Packed > const &dst, ConnectionIterator &decider) |
Connect each source object to each destination object using default ports and a connection decider. | |
Many to Many connections between objects using a connector object model | |
SimObject::ID::Vector | connect (std::vector< SimObject::ID::Packed > const &src, std::vector< SimObject::ID::Packed > const &dst, const SimObjectFactory &model, ConnectionIterator &decider, bool collect=false) |
Connect each source object to each destination object using an individual instance of the specified model. | |
SimObject::ID::Vector | connectFast (std::vector< SimObject::ID::Packed > const &sources, std::vector< SimObject::ID::Packed > const &destinations, const SimObjectFactory &model, ConnectionIterator &decider, bool collect=false) |
Getting acces to objects | |
template<class T> | |
bool | getObject (const SimObject::ID &id, T &p) |
Get a pointer to an object (if on the executing node). | |
template<class T> | |
bool | getObject (const SimObject::ID::Packed &id, T &p) |
Get a pointer to an object (if on the executing node). | |
SimObject * | object (const SimObject::ID &id) |
SimObject * | object (const SimObject::ID::Packed &id) |
SimObject * | getObject (const SimObject::ID &id) |
Protected Types | |
typedef LaggedFibonacci607 | simRNGSeedGenerator_t |
Protected Member Functions | |
virtual void | _change_timestep_width_ (const Time &old_dt, const Time &new_dt) |
virtual uint32 | getUniqueSeedOverMpi (uint32 seed) |
uint32 | makeSeed (uint32 seed_or_negative) |
virtual void | seed_noise_rng (uint32 noiseRNGseed) |
void | fillSeedVector (uint32 noiseRNGseed, std::vector< uint32 > &sim_seeds) |
uint32 | getSeedFromGenerator () |
void | setupConstructRNGEngines () |
Getting acces to objects | |
virtual SimObject * | _getObject_ (const SimObject::ID &id) |
Protected Attributes | |
SimParameter | simParam |
DistributionStrategy::DistributionFunction * | distributionStrategy |
Function object which determines the current distribution strategy. | |
int | _mpi_rank |
The mpi rank. | |
int | _mpi_size |
The size of the MPI communicator in use. | |
bool | initialized |
Flag which idicates whether initialize() has already been called or not. | |
bool | reseted |
Flag which idicates whether reset() has already been called or not. | |
unsigned | _nSpikeMessages |
Counter of in and outgoing spike messages. | |
unsigned | _nAnalogMessages |
Counter of in and outgoing analog messages. | |
simRNGSeedGenerator_t | simRNGSeedGenerator |
RandomEngine * | constructMainRNDEngine |
Random number generator engine. | |
RandomEngine * | objectVariationRNDEngine |
Random number generator engine. | |
std::vector< RandomEngine * > | constructIncomingRNGEngines |
std::vector of rng engines needed for synchronized distributed construction of the network | |
std::vector< RandomEngine * > | constructOutgoingRNGEngines |
Friends | |
class | NoiseRandomEngineTest |
Definition at line 30 of file SimNetwork.h.
typedef LaggedFibonacci607 SimNetwork::simRNGSeedGenerator_t [protected] |
Definition at line 509 of file SimNetwork.h.
SimNetwork::SimNetwork | ( | MPI::Intracomm & | mpiCommunicator, | |
SimParameter | sp, | |||
DistributionStrategy::DistributionFunction * | df | |||
) |
Definition at line 9 of file SimNetwork.cpp.
References PCSIM::init().
SimNetwork::~SimNetwork | ( | ) | [virtual] |
Definition at line 24 of file SimNetwork.cpp.
References constructIncomingRNGEngines, constructMainRNDEngine, constructOutgoingRNGEngines, and objectVariationRNDEngine.
void SimNetwork::addObject | ( | const SimObjectFactory & | model, | |
const SimEngine::ID & | engine, | |||
SimObject::ID & | id | |||
) | [inline] |
One instance of a simulation object is created and added at specified simulation engine of the network.
model | The model of the simobject to be created | |
engine | Specifies the node and local engine where the object should be added to. | |
id | The resulting unique identifier (node,engine,type,localid) of the created object. |
Definition at line 52 of file SimNetwork.h.
References _addObject_().
Referenced by SingleThreadNetwork::_addObject_(), MultiThreadNetwork::_addObject_(), add(), and AugmentedSpatialPopulation::populate().
virtual void SimNetwork::_addObject_ | ( | const SimObjectFactory & | model, | |
const SimEngine::ID & | engine, | |||
SimObject::ID & | id | |||
) | [inline, protected, virtual] |
One instance of a simulation object is created and added at specified simulation engine of the network.
Reimplemented in DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 59 of file SimNetwork.h.
Referenced by addObject().
void SimNetwork::addObject | ( | const SimObjectFactory & | model, | |
SimObject::ID & | id | |||
) | [inline] |
One instance of a simulation object is created and added to the network using the current distribution strategy.
model | A model (factory) which specifis how the instance of the object to be added is created. | |
id | The resulting unique identifier (node,engine,type,localid) of the created object. |
Definition at line 70 of file SimNetwork.h.
References _addObject_().
virtual void SimNetwork::_addObject_ | ( | const SimObjectFactory & | model, | |
SimObject::ID & | id | |||
) | [inline, protected, virtual] |
One instance of a simulation object is created and added to the network using the current distribution strategy.
Reimplemented in DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 77 of file SimNetwork.h.
SimObject::ID::Packed SimNetwork::create | ( | const SimObjectFactory & | model, | |
const SimEngine::ID & | engine | |||
) | [inline] |
One instance of a simulation object is created and added at specified simulation engine of the network.
Definition at line 564 of file SimNetwork.h.
Referenced by record().
SimObject::ID::Packed SimNetwork::add | ( | const SimObjectFactory & | model, | |
const SimEngine::ID & | engine | |||
) | [inline] |
model | A simulation object model (factory) which specifies how the new instance is created | |
engine | Specify the simulation engine (node, local engine ID) to which the object should be assigned |
Definition at line 542 of file SimNetwork.h.
Referenced by SimObjectPopulation::SimObjectPopulation().
SimObject::ID::Packed SimNetwork::create | ( | const SimObjectFactory & | model | ) | [inline] |
One instance of a simulation object is created and added to the network using the current distribution strategy.
Definition at line 570 of file SimNetwork.h.
SimObject::ID::Packed SimNetwork::add | ( | const SimObjectFactory & | model | ) | [inline] |
model | A simulation object model (factory) which specifies how the new instance is created |
Definition at line 555 of file SimNetwork.h.
void SimNetwork::mount | ( | const SimObjectFactory & | model, | |
const SimObject::ID & | mountpoint, | |||
SimObject::ID & | gid | |||
) | [inline] |
One instance of a simulation object is created and "mounted" to the mount simulation object.
Definition at line 588 of file SimNetwork.h.
References _mount_().
Referenced by mount().
SimObject::ID::Packed SimNetwork::mount | ( | const SimObjectFactory & | model, | |
const SimObject::ID & | mountpoint | |||
) | [inline] |
One instance of a simulation object is created and "mounted" to the mount simulation object.
model | A simulation object model (factory) which specifies how the new instance is created | |
mountpoint | Specify the simulation object to which the object should be "mounted" |
Definition at line 599 of file SimNetwork.h.
References mount().
SimObject::ID::Packed SimNetwork::mount | ( | const SimObjectFactory & | model, | |
const SimObject::ID::Packed & | mountpoint | |||
) | [inline] |
One instance of a simulation object is created and "mounted" to the mount simulation object.
model | A simulation object model (factory) which specifies how the new instance is created | |
mountpoint | Specify the simulation object to which the object should be "mounted" |
Definition at line 611 of file SimNetwork.h.
References mount().
SimObject::ID::Vector SimNetwork::mount | ( | const SimObjectFactory & | model, | |
std::vector< SimObject::ID::Packed > const & | mountpoints, | |||
bool | collect = false | |||
) |
One instance of a simulation object is created and "mounted" to the mount simulation object.
virtual void SimNetwork::_mount_ | ( | const SimObjectFactory & | model, | |
const SimObject::ID & | mountpoint, | |||
SimObject::ID & | gid | |||
) | [inline, protected, virtual] |
One instance of a simulation object is created and "mounted" to the mount simulation object.
model | A model (factory) which specifis how the instance of the object to be added is created. | |
id | The resulting unique identifier (node,engine,type,localid) of the created object. |
Reimplemented in DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 120 of file SimNetwork.h.
Referenced by mount().
void SimNetwork::insert | ( | const SimObjectFactory & | model, | |
const SimObject::ID & | container, | |||
SimObject::ID & | gid | |||
) | [inline] |
One instance of a simulation object is created and "inserted" into the container simulation object.
Definition at line 618 of file SimNetwork.h.
References _insert_().
Referenced by insert().
SimObject::ID::Packed SimNetwork::insert | ( | const SimObjectFactory & | model, | |
const SimObject::ID & | container | |||
) | [inline] |
One instance of a simulation object is created and "inserted" to the mount simulation object.
model | A simulation object model (factory) which specifies how the new instance is created | |
container | Specify the simulation object to which the object should be "inserted" |
Definition at line 628 of file SimNetwork.h.
References insert().
SimObject::ID::Packed SimNetwork::insert | ( | const SimObjectFactory & | model, | |
const SimObject::ID::Packed & | container | |||
) | [inline] |
One instance of a simulation object is created and "inserted" to the mount simulation object.
model | A simulation object model (factory) which specifies how the new instance is created | |
container | Specify the simulation object to which the object should be "inserted" |
Definition at line 640 of file SimNetwork.h.
References insert().
virtual void SimNetwork::_insert_ | ( | const SimObjectFactory & | model, | |
const SimObject::ID & | container, | |||
SimObject::ID & | gid | |||
) | [inline, protected, virtual] |
One instance of a simulation object is created and "inserted" into the container simulation object.
model | A model (factory) which specifis how the instance of the object to be added is created. | |
id | The resulting unique identifier (node,engine,type,localid) of the created object. |
Reimplemented in DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 144 of file SimNetwork.h.
SimObject::ID::Vector SimNetwork::create | ( | SimObjectFactory const & | model, | |
std::vector< SimEngine::ID > const & | engines | |||
) | [inline] |
Several instances of a simulation object are created and added to the network at the specified simulation engines.
Definition at line 576 of file SimNetwork.h.
SimObject::ID::Vector SimNetwork::add | ( | SimObjectFactory const & | model, | |
std::vector< SimEngine::ID > const & | engines | |||
) |
SimObject::ID::Vector SimNetwork::create | ( | SimObjectFactory const & | model, | |
unsigned const | n | |||
) | [inline] |
Several instances of a simulation object are created and added to the network using the current distribution strategy.
Definition at line 582 of file SimNetwork.h.
SimObject::ID::Vector SimNetwork::add | ( | SimObjectFactory const & | model, | |
unsigned const | n | |||
) |
Several instances of a simulation object are created and added to the network using the current distribution strategy.
model | Simulationobjct model (factory) which determines how the object should be created an initialized | |
n | Number of instances to create and add. |
Definition at line 59 of file SimNetwork.cpp.
References addObject().
void SimNetwork::setDistributionStrategy | ( | DistributionStrategy::DistributionFunction * | distFunc | ) | [inline] |
Define the dsitribution strategy used for the next objects to add.
distFunc | A function object which gets a pointer to the used DistributedNetwork and returns a global engine ID. |
Definition at line 652 of file SimNetwork.h.
References distributionStrategy.
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const port_t | out, | |||
const SimObject::ID & | dst, | |||
const port_t | in, | |||
const Time & | delay | |||
) | [inline] |
Make a connection where the type of connection (spike or analog) is determined (guessed) automatically.
src | The sending object | |
out | The output port number of the sending object | |
dst | The receiving object | |
in | The input port number of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 665 of file SimNetwork.h.
References _connect_(), get_dt(), and Time::in_steps().
Referenced by connect(), SimpleAllToAllWiringMethod::connect(), OneToOneWiringMethod::connect(), DistributedSyncWiringMethod::connect(), and record().
void SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const port_t | out, | |||
const SimObject::ID::Packed & | dst, | |||
const port_t | in, | |||
const Time & | delay | |||
) | [inline] |
Make a connection where the type of connection (spike or analog) is determined (guessed) automatically.
src | The sending object | |
out | The output port number of the sending object | |
dst | The receiving object | |
in | The input port number of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 678 of file SimNetwork.h.
References _connect_(), get_dt(), and Time::in_steps().
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const port_t | out, | |||
const SimObject::ID & | dst, | |||
const port_t | in | |||
) | [inline] |
Make a connection where the amount of delay is given by the receiving object.
The delay is given by the method managedDelay() of the receiving object.
src | The sending object | |
out | The output port number of the sending object | |
dst | The receiving object | |
in | The input port number of the receiving object |
Definition at line 690 of file SimNetwork.h.
References _connect_().
void SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const port_t | out, | |||
const SimObject::ID::Packed & | dst, | |||
const port_t | in | |||
) | [inline] |
Make a connection where the amount of delay is given by the receiving object.
The delay is given by the method managedDelay() of the receiving object.
src | The sending object | |
out | The output port number of the sending object | |
dst | The receiving object | |
in | The input port number of the receiving object |
Definition at line 702 of file SimNetwork.h.
References _connect_().
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const port_t | out, | |||
const SimObject::ID & | dest, | |||
const string | in, | |||
const Time & | delay | |||
) | [inline] |
Make an analog connection with a specified delay and specified input and output ports/fields.
src | The sending object | |
out | The output port number of the sending object | |
dst | The receiving object | |
in | The input field name of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 802 of file SimNetwork.h.
References addAnalogMessage().
void SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const port_t | out, | |||
const SimObject::ID::Packed & | dest, | |||
const string | in, | |||
const Time & | delay | |||
) | [inline] |
Make an analog connection with a specified delay and specified input and output ports/fields.
src | The sending object | |
out | The output port number of the sending object | |
dst | The receiving object | |
in | The input field name of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 815 of file SimNetwork.h.
References addAnalogMessage().
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const string | out, | |||
const SimObject::ID & | dest, | |||
const port_t | in, | |||
const Time & | delay | |||
) | [inline] |
Make an analog connection with a specified delay and specified input and output ports/fields.
src | The sending object | |
out | The output field name of the sending object | |
dst | The receiving object | |
in | The input port number of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 828 of file SimNetwork.h.
References addAnalogMessage().
void SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const string | out, | |||
const SimObject::ID::Packed & | dest, | |||
const port_t | in, | |||
const Time & | delay | |||
) | [inline] |
Make an analog connection with a specified delay and specified input and output ports/fields.
src | The sending object | |
out | The output field name of the sending object | |
dst | The receiving object | |
in | The input port number of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 841 of file SimNetwork.h.
References addAnalogMessage().
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const string | out, | |||
const SimObject::ID & | dest, | |||
const string | in, | |||
const Time & | delay | |||
) | [inline] |
Make an analog connection with a specified delay and specified input and output ports/fields.
src | The sending object | |
out | The output field name of the sending object | |
dst | The receiving object | |
in | The input field name of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 854 of file SimNetwork.h.
References addAnalogMessage().
void SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const string | out, | |||
const SimObject::ID::Packed & | dest, | |||
const string | in, | |||
const Time & | delay | |||
) | [inline] |
Make an analog connection with a specified delay and specified input and output ports/fields.
src | The sending object | |
out | The output field name of the sending object | |
dst | The receiving object | |
in | The input field name of the receiving object | |
delay | Specifies how much the message should be delayed |
Definition at line 867 of file SimNetwork.h.
References addAnalogMessage().
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const SimObject::ID & | dst, | |||
const Time & | delay | |||
) | [inline] |
Make a connection using the default porst; i.e. in = out = 0.
Definition at line 713 of file SimNetwork.h.
References _connect_(), get_dt(), and Time::in_steps().
void SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const SimObject::ID::Packed & | dst, | |||
const Time & | delay | |||
) | [inline] |
Make a connection using the default porst; i.e. in = out = 0.
Definition at line 724 of file SimNetwork.h.
References _connect_(), get_dt(), and Time::in_steps().
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const SimObject::ID & | dst | |||
) | [inline] |
Make a connection using the default porst; i.e. in = out = 0.
The delay is given by the method managedDelay() of the receiving object.
src | The sending object | |
dst | The receiving object |
Definition at line 734 of file SimNetwork.h.
References _connect_().
void SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const SimObject::ID::Packed & | dst | |||
) | [inline] |
Make a connection using the default porst; i.e. in = out = 0.
The delay is given by the method managedDelay() of the receiving object.
src | The sending object | |
dst | The receiving object |
Definition at line 744 of file SimNetwork.h.
References _connect_().
void SimNetwork::connect | ( | const SimObject::ID & | src, | |
const SimObject::ID & | dst, | |||
const SimObjectFactory & | connector, | |||
SimObject::ID & | connID | |||
) | [inline] |
Make a connection between to objects using a connector object.
The delay is given by the method managedDelay() of the connector object. The default ports in = out = 0 are used.
src | The sending object | |
dst | The receiving object | |
connector | A model (factory) which describes how the connector object is created | |
connID | The resulting unique identifier (node,engine,type,localid) of the created object. |
Definition at line 757 of file SimNetwork.h.
References _connect_(), and _insert_().
SimObject::ID SimNetwork::connect | ( | const SimObject::ID & | src, | |
const SimObject::ID & | dst, | |||
const SimObjectFactory & | connector | |||
) | [inline] |
Make a connection between to objects using a connector object.
The delay is given by the method managedDelay() of the connector object. The default ports in = out = 0 are used.
src | The sending object | |
dst | The receiving object | |
connector | A model (factory) which describes how the connector object is created |
Definition at line 771 of file SimNetwork.h.
References connect().
SimObject::ID::Packed SimNetwork::connect | ( | const SimObject::ID::Packed & | src, | |
const SimObject::ID::Packed & | dst, | |||
const SimObjectFactory & | connector | |||
) | [inline] |
Make a connection between to objects using a connector object.
The delay is given by the method managedDelay() of the connector object. The default ports in = out = 0 are used.
src | The sending object | |
dst | The receiving object | |
connector | A model (factory) which describes how the connector object is created |
Definition at line 786 of file SimNetwork.h.
References connect().
unsigned SimNetwork::connect | ( | std::vector< SimObject::ID::Packed > const & | src, | |
std::vector< SimObject::ID::Packed > const & | dst, | |||
const Time & | delay | |||
) |
Connect each source object to each destination object using default ports and a specified delay.
unsigned SimNetwork::connect | ( | std::vector< SimObject::ID::Packed > const & | src, | |
std::vector< SimObject::ID::Packed > const & | dst, | |||
ConnectionIterator & | decider | |||
) |
Connect each source object to each destination object using default ports and a connection decider.
SimObject::ID::Vector SimNetwork::connect | ( | std::vector< SimObject::ID::Packed > const & | src, | |
std::vector< SimObject::ID::Packed > const & | dst, | |||
const SimObjectFactory & | model, | |||
ConnectionIterator & | decider, | |||
bool | collect = false | |||
) |
Connect each source object to each destination object using an individual instance of the specified model.
SimObject::ID::Vector SimNetwork::connectFast | ( | std::vector< SimObject::ID::Packed > const & | sources, | |
std::vector< SimObject::ID::Packed > const & | destinations, | |||
const SimObjectFactory & | model, | |||
ConnectionIterator & | decider, | |||
bool | collect = false | |||
) |
SimObject::ID::Packed SimNetwork::record | ( | const SimObject::ID::Packed & | obj, | |
const SimObjectFactory & | recFactory, | |||
const port_t | rec_port = 0 | |||
) | [inline] |
Record values from port 0 of an object. Creates a recorder in the same SingleThreadEngine as the object and makes a connection without a delay.
obj | ID of The recorded object | |
recFactory | The factory used to create the recorder | |
rec_port | The input port of the recorder where the recorded values arrive |
Definition at line 897 of file SimNetwork.h.
Referenced by SimObjectPopulation::record().
SimObject::ID::Packed SimNetwork::record | ( | const SimObject::ID::Packed & | obj, | |
const port_t | src_port, | |||
const SimObjectFactory & | recFactory, | |||
const port_t | rec_port = 0 | |||
) | [inline] |
Record values from a specific port of an object. Creates a recorder in the same SingleThreadEngine as the object and makes a connection without a delay.
obj | ID of the recorded object | |
src_port | The output port that is recorded | |
recFactory | The factory used to create the recorder | |
rec_port | The input port of the recorder where the recorded values arrive |
Definition at line 881 of file SimNetwork.h.
References connect(), create(), SimObject::ID::eng, SimObject::ID::node, and Time::sec().
SimObject::ID::Packed SimNetwork::record | ( | const SimObject::ID::Packed & | obj, | |
const string | field, | |||
const SimObjectFactory & | recFactory, | |||
const port_t | rec_port = 0 | |||
) | [inline] |
Record values from a specified field of an object. Creates a recorder in the same SingleThreadEngine as the object and makes a connection without a delay.
obj | ID of the recorded object | |
field | The name of the recorded field | |
recFactory | The factory used to create the recorder | |
rec_port | The input port of the recorder where the recorded values arrive |
Definition at line 913 of file SimNetwork.h.
References connect(), create(), SimObject::ID::eng, SimObject::ID::node, and Time::sec().
virtual void SimNetwork::_connect_ | ( | SimObject::ID const & | src, | |
port_t | out, | |||
const SimObject::ID & | dst, | |||
port_t | in, | |||
int | delay | |||
) | [inline, protected, virtual] |
Make a connection where the type of connection (spike or analog) is determined (guessed) automatically.
src | The sending object | |
out | The output port number of the sending object | |
dst | The receiving object | |
in | The input port number of the receiving object | |
delay | Specifies how much simulation time steps the message should be delayed. If delay < 0 then the value returned by the destination objects getManagedDelay() method is used. If a positive value is specified this value overwrites the dstobj.getManagedDelay() value. |
Reimplemented in DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 257 of file SimNetwork.h.
Referenced by connect().
void SimNetwork::addSpikeMessage | ( | const SimObject::ID & | sender, | |
const port_t | out, | |||
const SimObject::ID & | receiver, | |||
const port_t | in, | |||
const Time & | delay | |||
) | [inline] |
Set up a spike message channel with a given delay.
Definition at line 269 of file SimNetwork.h.
References _addSpikeMessage_().
Referenced by SingleThreadNetwork::_connect_(), MultiThreadNetwork::_connect_(), GenericOnePairStdpSynapse< GenericDynamicSpikingSynapse< GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > >::incoming(), GenericHomeostaticSynapse< GenericDynamicSpikingSynapse< GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > >::incoming(), and GenericEachPairStdpSynapse< GenericDynamicSpikingSynapse< GenericCurrentBasedSpikingSynapse< ExponentialDecaySpikeResponse > > >::incoming().
void SimNetwork::addAnalogMessage | ( | const SimObject::ID & | sender, | |
int | sender_port, | |||
const SimObject::ID & | receiver, | |||
int | recv_port, | |||
const Time & | delay | |||
) | [inline] |
Definition at line 274 of file SimNetwork.h.
References _addAnalogMessage_().
Referenced by SingleThreadNetwork::_connect_(), MultiThreadNetwork::_connect_(), DistributedNetwork::_connect_(), and connect().
void SimNetwork::addAnalogMessage | ( | const SimObject::ID & | sender, | |
int | sender_port, | |||
const SimObject::ID & | receiver, | |||
string | destfield, | |||
const Time & | delay | |||
) | [inline] |
Definition at line 279 of file SimNetwork.h.
References _addAnalogMessage_().
void SimNetwork::addAnalogMessage | ( | const SimObject::ID & | sender, | |
string | srcfield, | |||
const SimObject::ID & | receiver, | |||
int | recv_port, | |||
const Time & | delay | |||
) | [inline] |
Definition at line 284 of file SimNetwork.h.
References _addAnalogMessage_().
void SimNetwork::addAnalogMessage | ( | const SimObject::ID & | sender, | |
string | srcfield, | |||
const SimObject::ID & | receiver, | |||
string | destfield, | |||
const Time & | delay | |||
) | [inline] |
Definition at line 289 of file SimNetwork.h.
References _addAnalogMessage_().
virtual void SimNetwork::_addSpikeMessage_ | ( | const SimObject::ID & | sender, | |
const port_t | out, | |||
const SimObject::ID & | receiver, | |||
const port_t | in, | |||
const Time & | delay | |||
) | [inline, protected, virtual] |
Set up a spike message channel with a given delay.
Reimplemented in DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 297 of file SimNetwork.h.
Referenced by addSpikeMessage().
virtual void SimNetwork::_addAnalogMessage_ | ( | const SimObject::ID & | sender, | |
int | sender_port, | |||
const SimObject::ID & | receiver, | |||
int | recv_port, | |||
const Time & | delay | |||
) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 300 of file SimNetwork.h.
Referenced by addAnalogMessage().
virtual void SimNetwork::_addAnalogMessage_ | ( | const SimObject::ID & | sender, | |
int | sender_port, | |||
const SimObject::ID & | receiver, | |||
string | destfield, | |||
const Time & | delay | |||
) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 303 of file SimNetwork.h.
virtual void SimNetwork::_addAnalogMessage_ | ( | const SimObject::ID & | sender, | |
string | srcfield, | |||
const SimObject::ID & | receiver, | |||
int | recv_port, | |||
const Time & | delay | |||
) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 306 of file SimNetwork.h.
virtual void SimNetwork::_addAnalogMessage_ | ( | const SimObject::ID & | sender, | |
string | srcfield, | |||
const SimObject::ID & | receiver, | |||
string | destfield, | |||
const Time & | delay | |||
) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 309 of file SimNetwork.h.
bool SimNetwork::getObject | ( | const SimObject::ID & | id, | |
T & | p | |||
) | [inline] |
Get a pointer to an object (if on the executing node).
Definition at line 943 of file SimNetwork.h.
References _getObject_().
Referenced by SimObjectPopulation::setFieldScale().
bool SimNetwork::getObject | ( | const SimObject::ID::Packed & | id, | |
T & | p | |||
) | [inline] |
Get a pointer to an object (if on the executing node).
Definition at line 950 of file SimNetwork.h.
References _getObject_().
SimObject * SimNetwork::object | ( | const SimObject::ID & | id | ) | [inline] |
Definition at line 961 of file SimNetwork.h.
References _getObject_().
Referenced by SimObjectPopulation::object(), and ConnectionsProjection::object().
SimObject * SimNetwork::object | ( | const SimObject::ID::Packed & | id | ) | [inline] |
Definition at line 956 of file SimNetwork.h.
References _getObject_().
SimObject* SimNetwork::getObject | ( | const SimObject::ID & | id | ) | [inline] |
Definition at line 332 of file SimNetwork.h.
References _getObject_().
virtual SimObject* SimNetwork::_getObject_ | ( | const SimObject::ID & | id | ) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 340 of file SimNetwork.h.
Referenced by getObject(), and object().
void SimNetwork::initialize | ( | ) | [inline] |
Initialize the network for forthcoming simulation. Should be called after construction and before simulation.
Definition at line 354 of file SimNetwork.h.
References _initialize_().
Referenced by DistributedMultiThreadNetwork::_initialize_(), SingleThreadNetwork::_reset_(), MultiThreadNetwork::_reset_(), DistributedSingleThreadNetwork::_reset_(), and DistributedMultiThreadNetwork::_reset_().
virtual void SimNetwork::_initialize_ | ( | ) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 361 of file SimNetwork.h.
Referenced by initialize().
void SimNetwork::reset | ( | ) | [inline] |
Definition at line 367 of file SimNetwork.h.
References _reset_().
Referenced by SingleThreadNetwork::_advance_(), MultiThreadNetwork::_advance_(), DistributedSingleThreadNetwork::_advance_(), DistributedMultiThreadNetwork::_advance_(), and set_dt().
virtual void SimNetwork::_reset_ | ( | ) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 374 of file SimNetwork.h.
Referenced by reset().
void SimNetwork::advance | ( | int | nSteps = 1 |
) | [inline] |
Definition at line 380 of file SimNetwork.h.
References _advance_().
void SimNetwork::simulate | ( | const Time & | T | ) | [inline] |
Definition at line 385 of file SimNetwork.h.
References _advance_(), get_dt(), and Time::in_steps().
void SimNetwork::simulate | ( | double | T | ) | [inline] |
Definition at line 390 of file SimNetwork.h.
References _advance_(), and get_dt().
virtual void SimNetwork::_advance_ | ( | int | nSteps = 1 |
) | [inline, protected, virtual] |
Reimplemented in DistributedMultiThreadNetwork, DistributedSingleThreadNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 397 of file SimNetwork.h.
Referenced by advance(), and simulate().
void SimNetwork::set_dt | ( | const Time & | dt | ) | [inline] |
Definition at line 922 of file SimNetwork.h.
References _change_timestep_width_(), _nAnalogMessages, _nSpikeMessages, SimParameter::dt, reset(), and simParam.
Time SimNetwork::get_dt | ( | ) | const [inline] |
Definition at line 937 of file SimNetwork.h.
References SimParameter::dt, and simParam.
Referenced by SingleThreadNetwork::_addAnalogMessage_(), MultiThreadNetwork::_addAnalogMessage_(), DistributedSingleThreadNetwork::_addAnalogMessage_(), SingleThreadNetwork::_addSpikeMessage_(), MultiThreadNetwork::_addSpikeMessage_(), DistributedSingleThreadNetwork::_addSpikeMessage_(), DistributedNetwork::_addSpikeMessage_(), DistributedMultiThreadNetwork::_addSpikeMessage_(), SingleThreadNetwork::_connect_(), MultiThreadNetwork::_connect_(), DistributedNetwork::_connect_(), DistributedSingleThreadNetwork::_initialize_(), DistributedMultiThreadNetwork::_initialize_(), MultiThreadNetwork::_reset_(), DistributedSingleThreadNetwork::_reset_(), DistributedMultiThreadNetwork::_reset_(), DistributedSingleThreadNetwork::addGenericAnalogMessage(), DistributedMultiThreadNetwork::addGenericAnalogMessage(), SingleThreadSimEngine::advance(), connect(), DistributedMultiThreadNetwork::init(), MultiThreadSimEngine::MultiThreadSimEngine(), SingleThreadSimEngine::reset(), and simulate().
int SimNetwork::mpi_rank | ( | ) | [inline] |
Return the MPI rank of the calling node.
Definition at line 411 of file SimNetwork.h.
References _mpi_rank.
Referenced by SimpleAllToAllWiringMethod::connect(), DistributedSyncWiringMethod::connect(), SimObjectPopulation::localIndexes(), SimObjectPopulation::localSubPopulation(), DistributionStrategy::RankListStrategy::operator()(), DistributionStrategy::EngineListStrategy::operator()(), DistributionStrategy::RandomOverLocalEngines::operator()(), DistributionStrategy::ModuloOverLocalEngines::operator()(), DistributionStrategy::ModuloOverGlobalEngines::operator()(), DistributedNetwork::seed_noise_rng(), and SimObjectPopulation::setFieldScale().
int SimNetwork::mpi_size | ( | ) | [inline] |
Return the size of the used MPI communicator.
Definition at line 417 of file SimNetwork.h.
References _mpi_size.
Referenced by DistributedNetwork::seed_noise_rng().
unsigned SimNetwork::nSpikeMessage | ( | ) | [inline] |
unsigned SimNetwork::nAnalogMessages | ( | ) | [inline] |
const SimParameter& SimNetwork::simParameter | ( | ) | [inline] |
Definition at line 432 of file SimNetwork.h.
References simParam.
Referenced by MultiThreadSimEngine::MultiThreadSimEngine(), and SingleThreadSimEngine::SingleThreadSimEngine().
RandomEngine* SimNetwork::getMainConstructRNGEngine | ( | ) | [inline] |
Definition at line 437 of file SimNetwork.h.
References constructMainRNDEngine.
Referenced by SimpleAllToAllWiringMethod::connect(), RatioBasedFamilies::generateIDs(), DistributionStrategy::RankListStrategy::operator()(), DistributionStrategy::EngineListStrategy::operator()(), DistributionStrategy::RandomOverLocalEngines::operator()(), DistributionStrategy::RandomOverGlobalEngines::operator()(), and AugmentedSpatialPopulation::populate().
std::vector< RandomEngine* >& SimNetwork::getIncomingConstructRNGEngines | ( | ) | [inline] |
Definition at line 442 of file SimNetwork.h.
References constructIncomingRNGEngines.
Referenced by DistributedSyncWiringMethod::connect().
std::vector< RandomEngine* >& SimNetwork::getOutgoingConstructRNGEngines | ( | ) | [inline] |
Definition at line 447 of file SimNetwork.h.
References constructOutgoingRNGEngines.
Referenced by DistributedSyncWiringMethod::connect().
RandomEngine* SimNetwork::getObjectVariationRNDEngine | ( | ) | [inline] |
Definition at line 452 of file SimNetwork.h.
References objectVariationRNDEngine.
Referenced by SingleThreadSimEngine::addObject().
void SimNetwork::seed | ( | uint32 | noiseRNGseed | ) | [inline] |
Definition at line 457 of file SimNetwork.h.
References seed_noise_rng().
Referenced by makeSeed(), and DistributedNetwork::seed_noise_rng().
virtual gl_engineid_t SimNetwork::maxLocalEngineID | ( | void | ) | const [inline, virtual] |
Return the largest local simulation engine ID.
Reimplemented in DistributedMultiThreadNetwork, DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 464 of file SimNetwork.h.
Referenced by DistributionStrategy::RankListStrategy::operator()(), DistributionStrategy::EngineListStrategy::operator()(), DistributionStrategy::RandomOverLocalEngines::operator()(), DistributionStrategy::ModuloOverLocalEnginesOnOneNode::operator()(), DistributionStrategy::ModuloOverLocalEngines::operator()(), and DistributionStrategy::ModuloOverGlobalEngines::operator()().
Reimplemented in DistributedNetwork.
Definition at line 133 of file SimNetwork.cpp.
Referenced by setupConstructRNGEngines().
Definition at line 144 of file SimNetwork.cpp.
References seed().
Referenced by DistributedMultiThreadNetwork::init(), SingleThreadNetwork::seed_noise_rng(), MultiThreadNetwork::seed_noise_rng(), DistributedNetwork::seed_noise_rng(), and setupConstructRNGEngines().
virtual void SimNetwork::seed_noise_rng | ( | uint32 | noiseRNGseed | ) | [inline, protected, virtual] |
Reimplemented in DistributedNetwork, MultiThreadNetwork, and SingleThreadNetwork.
Definition at line 503 of file SimNetwork.h.
Referenced by seed().
void SimNetwork::fillSeedVector | ( | uint32 | noiseRNGseed, | |
std::vector< uint32 > & | sim_seeds | |||
) | [protected] |
Referenced by MultiThreadNetwork::seed_noise_rng(), and DistributedNetwork::seed_noise_rng().
uint32 SimNetwork::getSeedFromGenerator | ( | ) | [protected] |
Definition at line 161 of file SimNetwork.cpp.
References RandomEngine::max(), RandomEngine::min(), and simRNGSeedGenerator.
Referenced by setupConstructRNGEngines().
void SimNetwork::setupConstructRNGEngines | ( | ) | [protected] |
Definition at line 166 of file SimNetwork.cpp.
References _mpi_rank, _mpi_size, constructIncomingRNGEngines, SimParameter::constructionRNGSeed, constructMainRNDEngine, constructOutgoingRNGEngines, getSeedFromGenerator(), getUniqueSeedOverMpi(), makeSeed(), objectVariationRNDEngine, RandomEngineBoostImplementation< boost_engine >::seed(), RandomEngine::seed(), simParam, and simRNGSeedGenerator.
Referenced by DistributedMultiThreadNetwork::init().
friend class NoiseRandomEngineTest [friend] |
SimParameter SimNetwork::simParam [protected] |
Definition at line 474 of file SimNetwork.h.
Referenced by DistributedMultiThreadNetwork::_addAnalogMessage_(), SingleThreadNetwork::_addSpikeMessage_(), MultiThreadNetwork::_addSpikeMessage_(), DistributedSingleThreadNetwork::_addSpikeMessage_(), DistributedMultiThreadNetwork::_addSpikeMessage_(), MultiThreadNetwork::_initialize_(), DistributedSingleThreadNetwork::_initialize_(), DistributedMultiThreadNetwork::_initialize_(), MultiThreadNetwork::addGenericAnalogMessage(), DistributedSingleThreadNetwork::addGenericAnalogMessage(), DistributedMultiThreadNetwork::addGenericAnalogMessage(), get_dt(), DistributedMultiThreadNetwork::init(), SingleThreadNetwork::seed_noise_rng(), MultiThreadNetwork::seed_noise_rng(), DistributedNetwork::seed_noise_rng(), set_dt(), setupConstructRNGEngines(), and simParameter().
Function object which determines the current distribution strategy.
Definition at line 479 of file SimNetwork.h.
Referenced by DistributedNetwork::_addObject_(), and setDistributionStrategy().
int SimNetwork::_mpi_rank [protected] |
The mpi rank.
Definition at line 482 of file SimNetwork.h.
Referenced by SingleThreadNetwork::_addObject_(), MultiThreadNetwork::_addObject_(), SingleThreadNetwork::_insert_(), MultiThreadNetwork::_insert_(), SingleThreadNetwork::_mount_(), MultiThreadNetwork::_mount_(), mpi_rank(), DistributedNetwork::seed_noise_rng(), and setupConstructRNGEngines().
int SimNetwork::_mpi_size [protected] |
The size of the MPI communicator in use.
Definition at line 485 of file SimNetwork.h.
Referenced by mpi_size(), and setupConstructRNGEngines().
bool SimNetwork::initialized [protected] |
Flag which idicates whether initialize() has already been called or not.
Definition at line 488 of file SimNetwork.h.
Referenced by SingleThreadNetwork::_initialize_(), DistributedSingleThreadNetwork::_initialize_(), DistributedMultiThreadNetwork::_initialize_(), SingleThreadNetwork::_reset_(), DistributedSingleThreadNetwork::_reset_(), DistributedMultiThreadNetwork::_reset_(), SingleThreadSimEngine::initialize(), SingleThreadSimEngine::reset(), and SingleThreadNetwork::~SingleThreadNetwork().
bool SimNetwork::reseted [protected] |
Flag which idicates whether reset() has already been called or not.
Definition at line 491 of file SimNetwork.h.
Referenced by SingleThreadNetwork::_advance_(), MultiThreadNetwork::_advance_(), DistributedSingleThreadNetwork::_advance_(), DistributedMultiThreadNetwork::_advance_(), SingleThreadNetwork::_reset_(), MultiThreadNetwork::_reset_(), DistributedSingleThreadNetwork::_reset_(), and DistributedMultiThreadNetwork::_reset_().
unsigned SimNetwork::_nSpikeMessages [protected] |
Counter of in and outgoing spike messages.
Definition at line 494 of file SimNetwork.h.
Referenced by SingleThreadNetwork::_addSpikeMessage_(), MultiThreadNetwork::_addSpikeMessage_(), DistributedSingleThreadNetwork::_addSpikeMessage_(), DistributedMultiThreadNetwork::_addSpikeMessage_(), nSpikeMessage(), and set_dt().
unsigned SimNetwork::_nAnalogMessages [protected] |
Counter of in and outgoing analog messages.
Definition at line 497 of file SimNetwork.h.
Referenced by SingleThreadNetwork::_addAnalogMessage_(), MultiThreadNetwork::_addAnalogMessage_(), nAnalogMessages(), and set_dt().
simRNGSeedGenerator_t SimNetwork::simRNGSeedGenerator [protected] |
Definition at line 510 of file SimNetwork.h.
Referenced by getSeedFromGenerator(), and setupConstructRNGEngines().
RandomEngine* SimNetwork::constructMainRNDEngine [protected] |
Random number generator engine.
Definition at line 516 of file SimNetwork.h.
Referenced by getMainConstructRNGEngine(), setupConstructRNGEngines(), and ~SimNetwork().
RandomEngine* SimNetwork::objectVariationRNDEngine [protected] |
Random number generator engine.
Definition at line 519 of file SimNetwork.h.
Referenced by getObjectVariationRNDEngine(), SingleThreadNetwork::seed_noise_rng(), MultiThreadNetwork::seed_noise_rng(), DistributedNetwork::seed_noise_rng(), setupConstructRNGEngines(), and ~SimNetwork().
std::vector< RandomEngine * > SimNetwork::constructIncomingRNGEngines [protected] |
std::vector of rng engines needed for synchronized distributed construction of the network
Definition at line 522 of file SimNetwork.h.
Referenced by getIncomingConstructRNGEngines(), setupConstructRNGEngines(), and ~SimNetwork().
std::vector< RandomEngine * > SimNetwork::constructOutgoingRNGEngines [protected] |
Definition at line 523 of file SimNetwork.h.
Referenced by getOutgoingConstructRNGEngines(), setupConstructRNGEngines(), and ~SimNetwork().