GeNN  1.1
GPU enhanced Neuronal Networks (GeNN)
 All Classes Files Functions Variables Typedefs Macros Pages
modelSpec.h File Reference

Header file that contains the class (struct) definition of neuronModel for defining a neuron model and the class definition of NNmodel for defining a neuronal network model. Part of the code generation and generated code sections. More...

#include <vector>
#include "global.h"

Go to the source code of this file.

Classes

class  dpclass
 
struct  neuronModel
 class (struct) for specifying a neuron model. More...
 
struct  postSynModel
 
class  NNmodel
 

Macros

#define _MODELSPEC_H_
 macro for avoiding multiple inclusion during compilation More...
 
#define MAPNEURON   0
 Macro attaching the name "MAPNEURON" to neuron type 0. More...
 
#define POISSONNEURON   1
 Macro attaching the name "POISSONNEURON" to neuron type 1. More...
 
#define TRAUBMILES   2
 Macro attaching the name "TRAUBMILES" to neuron type 2. More...
 
#define IZHIKEVICH   3
 Macro attaching the name "IZHIKEVICH" to neuron type 3. More...
 
#define IZHIKEVICH_V   4
 Macro attaching the name "IZHIKEVICH_V" to neuron type 4. More...
 
#define MAXNRN   5
 
#define SYNTYPENO   4
 
#define NSYNAPSE   0
 Macro attaching the name NSYNAPSE to predefined synapse type 0, which is a non-learning synapse. More...
 
#define NGRADSYNAPSE   1
 Macro attaching the name NGRADSYNAPSE to predefined synapse type 1 which is a graded synapse wrt the presynaptic voltage. More...
 
#define LEARN1SYNAPSE   2
 Macro attaching the name LEARN1SYNAPSE to the predefined synapse type 2 which is a learning using spike timing; uses a primitive STDP rule for learning. More...
 
#define USERDEFSYNAPSE   3
 Macro attaching the name USERDEFSYNAPSE to the predefined synapse type 3 which is a user-defined synapse. More...
 
#define NOINP   0
 Macro attaching the name NOINP (no input) to 0. More...
 
#define CONSTINP   1
 Macro attaching the name CONSTINP (constant input) to 1. More...
 
#define MATINP   2
 Macro attaching the name MATINP (explicit input defined as a matrix) to 2. More...
 
#define INPRULE   3
 Macro attaching the name INPRULE (explicit dynamic input defined as a rule) to 3. More...
 
#define RANDNINP   4
 Macro attaching the name RANDNINP (Random input with Gaussian distribution, calculated real time on the device by the generated code) to 4 (TODO, not implemented yet) More...
 
#define ALLTOALL   0
 Macro attaching the label "ALLTOALL" to connectivity type 0. More...
 
#define DENSE   1
 Macro attaching the label "DENSE" to connectivity type 1. More...
 
#define SPARSE   2
 Macro attaching the label "SPARSE" to connectivity type 2. More...
 
#define INDIVIDUALG   0
 Macro attaching the label "INDIVIDUALG" to method 0 for the definition of synaptic conductances. More...
 
#define GLOBALG   1
 Macro attaching the label "GLOBALG" to method 1 for the definition of synaptic conductances. More...
 
#define INDIVIDUALID   2
 Macro attaching the label "INDIVIDUALID" to method 2 for the definition of synaptic conductances. More...
 
#define NO_DELAY   1
 Macro used to indicate no synapse delay for the group (only one queue slot will be generated) More...
 
#define NOLEARNING   0
 Macro attaching the label "NOLEARNING" to flag 0. More...
 
#define LEARNING   1
 Macro attaching the label "LEARNING" to flag 1. More...
 
#define EXITSYN   0
 Macro attaching the label "EXITSYN" to flag 0 (excitatory synapse) More...
 
#define INHIBSYN   1
 Macro attaching the label "INHIBSYN" to flag 1 (inhibitory synapse) More...
 
#define TRUE   1
 Macro attaching the label "TRUE" to value 1. More...
 
#define FALSE   0
 Macro attaching the label "FALSE" to value 1. More...
 
#define CPU   0
 Macro attaching the label "CPU" to flag 0. More...
 
#define GPU   1
 Macro attaching the label "GPU" to flag 1. More...
 
#define FLOAT   0
 Macro attaching the label "FLOAT" to flag 0. Used by NNModel::setPrecision() More...
 
#define DOUBLE   1
 Macro attaching the label "DOUBLE" to flag 1. Used by NNModel::setPrecision() More...
 
#define AUTODEVICE   -1
 Macro attaching the label AUTODEVICE to flag -1. Used by setGPUDevice. More...
 
#define SPK_THRESH_STDP   0.0f
 Macro defining the spiking threshold for the purposes of STDP. More...
 
#define EXPDECAY   0
 
#define IZHIKEVICH_PS   1
 
#define MAXPOSTSYN   2
 

Variables

unsigned int SYNPNO [SYNTYPENO]
 Global constant integer array containing the number of parameters of each of the predefined synapse types. More...
 

Detailed Description

Header file that contains the class (struct) definition of neuronModel for defining a neuron model and the class definition of NNmodel for defining a neuronal network model. Part of the code generation and generated code sections.

Macro Definition Documentation

#define _MODELSPEC_H_

macro for avoiding multiple inclusion during compilation

#define ALLTOALL   0

Macro attaching the label "ALLTOALL" to connectivity type 0.

#define AUTODEVICE   -1

Macro attaching the label AUTODEVICE to flag -1. Used by setGPUDevice.

#define CONSTINP   1

Macro attaching the name CONSTINP (constant input) to 1.

#define CPU   0

Macro attaching the label "CPU" to flag 0.

#define DENSE   1

Macro attaching the label "DENSE" to connectivity type 1.

#define DOUBLE   1

Macro attaching the label "DOUBLE" to flag 1. Used by NNModel::setPrecision()

#define EXITSYN   0

Macro attaching the label "EXITSYN" to flag 0 (excitatory synapse)

#define EXPDECAY   0
#define FALSE   0

Macro attaching the label "FALSE" to value 1.

#define FLOAT   0

Macro attaching the label "FLOAT" to flag 0. Used by NNModel::setPrecision()

#define GLOBALG   1

Macro attaching the label "GLOBALG" to method 1 for the definition of synaptic conductances.

#define GPU   1

Macro attaching the label "GPU" to flag 1.

#define INDIVIDUALG   0

Macro attaching the label "INDIVIDUALG" to method 0 for the definition of synaptic conductances.

#define INDIVIDUALID   2

Macro attaching the label "INDIVIDUALID" to method 2 for the definition of synaptic conductances.

#define INHIBSYN   1

Macro attaching the label "INHIBSYN" to flag 1 (inhibitory synapse)

#define INPRULE   3

Macro attaching the name INPRULE (explicit dynamic input defined as a rule) to 3.

#define IZHIKEVICH   3

Macro attaching the name "IZHIKEVICH" to neuron type 3.

#define IZHIKEVICH_PS   1
#define IZHIKEVICH_V   4

Macro attaching the name "IZHIKEVICH_V" to neuron type 4.

#define LEARN1SYNAPSE   2

Macro attaching the name LEARN1SYNAPSE to the predefined synapse type 2 which is a learning using spike timing; uses a primitive STDP rule for learning.

#define LEARNING   1

Macro attaching the label "LEARNING" to flag 1.

#define MAPNEURON   0

Macro attaching the name "MAPNEURON" to neuron type 0.

#define MATINP   2

Macro attaching the name MATINP (explicit input defined as a matrix) to 2.

#define MAXNRN   5
#define MAXPOSTSYN   2
#define NGRADSYNAPSE   1

Macro attaching the name NGRADSYNAPSE to predefined synapse type 1 which is a graded synapse wrt the presynaptic voltage.

#define NO_DELAY   1

Macro used to indicate no synapse delay for the group (only one queue slot will be generated)

#define NOINP   0

Macro attaching the name NOINP (no input) to 0.

#define NOLEARNING   0

Macro attaching the label "NOLEARNING" to flag 0.

#define NSYNAPSE   0

Macro attaching the name NSYNAPSE to predefined synapse type 0, which is a non-learning synapse.

#define POISSONNEURON   1

Macro attaching the name "POISSONNEURON" to neuron type 1.

#define RANDNINP   4

Macro attaching the name RANDNINP (Random input with Gaussian distribution, calculated real time on the device by the generated code) to 4 (TODO, not implemented yet)

#define SPARSE   2

Macro attaching the label "SPARSE" to connectivity type 2.

#define SPK_THRESH_STDP   0.0f

Macro defining the spiking threshold for the purposes of STDP.

#define SYNTYPENO   4
#define TRAUBMILES   2

Macro attaching the name "TRAUBMILES" to neuron type 2.

#define TRUE   1

Macro attaching the label "TRUE" to value 1.

#define USERDEFSYNAPSE   3

Macro attaching the name USERDEFSYNAPSE to the predefined synapse type 3 which is a user-defined synapse.

Variable Documentation

unsigned int SYNPNO[SYNTYPENO]
Initial value:
= {
3,
4,
13,
1
}

Global constant integer array containing the number of parameters of each of the predefined synapse types.