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 |
Global simulation configuration.
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].
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 |
int nemo::Configuration::cpuThreadCount | ( | ) | const |
const char* nemo::Configuration::backendDescription | ( | ) | const |