nemo::Configuration Class Reference

Global simulation configuration. More...

Public Member Functions

void enableLogging ()
void setStdpFunction (const std::vector< float > &prefire, const std::vector< float > &postfire, float minWeight, float maxWeight)
void setStdpFunction (const std::vector< float > &prefire, const std::vector< float > &postfire, float minExcitatoryWeight, float maxExcitatoryWeight, float minInhibitoryWeight, float maxInhibitoryWeight)
void setWriteOnlySynapses ()
void setCudaBackend (int device=-1)
void setCpuBackend (int threadCount=-1)
int cudaDevice () const
int cpuThreadCount () const
const char * backendDescription () const

Detailed Description

Global simulation configuration.


Member Function Documentation

void nemo::Configuration::enableLogging (  ) 

Switch on logging and send output to stdout

void nemo::Configuration::setStdpFunction ( const std::vector< float > &  prefire,
const std::vector< float > &  postfire,
float  minWeight,
float  maxWeight 
)

Set global STDP function

Excitatory synapses are allowed to vary in the range [0, maxWeight]. Inhibitory synapses are allowed to vary in the range [0, minWeight].

Deprecated:
Use the other setStdpFunction instead.
void nemo::Configuration::setStdpFunction ( const std::vector< float > &  prefire,
const std::vector< float > &  postfire,
float  minExcitatoryWeight,
float  maxExcitatoryWeight,
float  minInhibitoryWeight,
float  maxInhibitoryWeight 
)

Set global STDP function

Excitatory synapses are allowed to vary in the range [minExcitatoryWeight, maxExcitatoryWeight]. Inhibitory synapses are allowed to vary in the range [minInhibitoryWeight maxInhibitoryWeight].

We take minimum and maximum here to refer to the effect of the synapse. This might cause some confusion for inhibitory weights. Since these are negative, minInhibitoryWeight > maxInhibitoryWeight. However, abs(minInhibitoryWeight) > abs(maxInhibitoryWeight).

void nemo::Configuration::setWriteOnlySynapses (  ) 

Make the synapses write-only

By default synapse state can be read back at run-time. This may require setting up data structures of considerable size before starting the simulation. If the synapse state is not required at run-time, specify that synapses are write-only in order to save memory. By default synapses are readable

void nemo::Configuration::setCudaBackend ( int  device = -1  ) 

Specify that the CUDA backend should be used and optionally specify a desired device. If the (default) device value of -1 is used the backend will choose the best available device.

If the cuda backend (and the chosen device) cannot be used for whatever reason, an exception is raised.

The device numbering is the numbering used internally by NeMo This device numbering may differ from the one provided by the CUDA driver directly, since NeMo ignores any devices it cannot use.

void nemo::Configuration::setCpuBackend ( int  threadCount = -1  ) 

Specify that the CPU backend should be used and optionally specify the number of threads to use. If the default thread count of -1 is used, the backend will choose a sensible value

int nemo::Configuration::cudaDevice (  )  const
Returns:
the chosen CUDA device or -1 if CUDA is not the selected backend.
int nemo::Configuration::cpuThreadCount (  )  const
Returns:
the number of threads used by the CPU backend or -1 if CPU is not the selected backend.
const char* nemo::Configuration::backendDescription (  )  const
Returns:
description of the chosen backend
Generated on Mon Aug 15 11:38:40 2011 for NeMo by  doxygen 1.6.3