CARLsim
5.0.0
CARLsim: a GPU-accelerated SNN simulator
|
Go to the documentation of this file.
50 #ifndef _SNN_DATASTRUCTURES_H_
51 #define _SNN_DATASTRUCTURES_H_
int3 * groupIdInfo
.x , .y: the start and end index of neurons in a group, .z: gourd id, used for group Id calculations
float wtChangeDecay
the wtChange decay
struct GroupConfig_s GroupConfig
The configuration of a group.
float * gNMDA
conductance of gNMDA
int2 * neuronAllocation
.x: [31:0] index of the first neuron, .y: [31:16] number of neurons, [15:0] group id
NeuromodulatorConfig neuromodulatorConfig
STDPCurve WithISTDPcurve
published by GroupConfig
HomeostasisConfig homeoConfig
unsigned int spikeCountExtRxD2
the number of external spikes with axonal delay > 1 in a simulation, used in CPU_MODE currently
float mulSynFast
factor to be applied to either gAMPA or gGABAa
int numNExternal
number of external neurons in the view of the local network
RoutingTableEntry_s(int srcNetId_, int destNetId_)
struct ConnectConfigMD_s ConnectConfigMD
the intermediate data of connect config
unsigned int maxSpikesD2
the estimated maximum number of spikes with delay >= 2 in a network
integrationMethod_t
Integration methods.
bool sim_with_compartments
The runtime configuration of a group.
curandGenerator_t gpuRandGen
int numNInhReg
number of regular inhibitory neurons
bool operator==(const struct ConnectionInfo_s &conn)
float decayDP
decay rate for Dopaamine, published by GroupConfig
unsigned int * timeTableD2
firing table, only used in CPU_MODE currently
int numNPois
number of poisson neurons
double dAMPA
multiplication factor for decay time of AMPA conductance (gAMPA[i] *= dAMPA)
double rNMDA
multiplication factor for rise time of NMDA
float LAMBDA
published by GroupConfig
double sGABAb
scaling factor for GABAb amplitude
float * wtChange
stores the weight change of a synaptic connection
struct RuntimeData_s RuntimeData
bool WithESTDP
published by GroupConfig
int numN2msDelay
number of neurons with maximum out going axonal delay >= 2 ms
STDPType WithESTDPtype
published by GroupConfig
double dNMDA
multiplication factor for decay time of NMDA
int numNExcReg
number of regular excitatory neurons
float * nextVoltage
membrane potential buffer (next/future time step) for each regular neuron
int numNSpikeGen
number of poisson neurons generating spikes based on callback functions
float ALPHA_PLUS_INB
published by GroupConfig
int numComp
number of compartmental neurons
double dGABAa
multiplication factor for decay time of GABAa
double rGABAb
multiplication factor for rise time of GABAb
unsigned int I_setLength
used for GPU only
bool sim_with_GABAb_rise
a flag to inform whether to compute GABAb rise time
used for relaying callback to SpikeGenerator
float TAU_PLUS_INV_EXC
published by GroupConfig
float * baseFiringInv
only used on GPU
@ GPU_MEM
runtime data is allocated on GPU memory
bool operator==(const struct RoutingTableEntry_s &rte) const
struct STDPConfig_s STDPConfig
short-term plasiticity configurations
int numPostSynapses
the total number of post-connections of a group, published by GroupConfigMD
unsigned int spikeCount
the total number of spikes in a simulation, used in CPU_MODE currently
unsigned int spikeCountD2Sec
the total number of spikes with axonal delay > 1 in 1 second, used in CPU_MODE currently
size_t I_setPitch
used for GPU only
float * gGABAa
conductance of gGABAa
int GtoLOffset
published by GroupConfigMD
size_t STP_Pitch
numN rounded upwards to the nearest 256 boundary, used for GPU only
runtime network configuration
float baseDP
baseline concentration of Dopamine, published by GroupConfig
the intermediate data of connect config
unsigned short * Npre
stores the number of input connections to a neuron
STDPType WithISTDPtype
published by GroupConfig
integrationMethod_t simIntegrationMethod
integration method (forward-Euler or Fourth-order Runge-Kutta)
used for relaying callback to ConnectionGenerator
int * I_set
an array of bits indicating which synapse got a spike
int netId
published by GroupConfigMD
float decayACh
decay rate for Acetylcholine, published by GroupConfig
Class for generating Poisson spike trains.
bool isSpikeGenerator
published by GroupConfig
int numPreSynapses
the total number of pre-connections of a group, published by GroupConfigMD
int numSynNet
number of total synaptic connections in the global network
struct GlobalNetworkConfig_s GlobalNetworkConfig
unsigned int * spikeGenBits
short int connId
connectID of the element in the linked list
int numConnections
number of local connections in this local network
float * gAMPA
conductance of gAMPA
float OMEGA
published by GroupConfig
double dGABAb
multiplication factor for decay time of GABAb
int maxDelay
maximum axonal delay in the gloabl network
bool sim_with_conductances
float mulSynSlow
factor to be applied to either gNMDA or gGABAb
The runtime configuration of a connection.
float baseNE
baseline concentration of Noradrenaline
int currTimeSlice
timeSlice is used by the Poisson generators in order to not generate too many or too few spikes withi...
int maxNumPostSynN
the maximum number of post-synaptic connections among neurons
float base5HT
baseline concentration of Serotonin
float GAMMA
published by GroupConfig
unsigned short * Npost
stores the number of output connections from a neuron.
int numN
published by GroupConfig
CPU multithreading subroutine (that takes single argument) struct argument.
int maxDelay
maximum axonal delay in the gloabl network
bool withParamModel_9
False = 4 parameter model; 1 = 9 parameter model.
bool isSpikeGenFunc
published by GroupConfig
bool hasExternalConnect
published by GroupConfigMD
float decay5HT
decay rate for Serotonin, published by GroupConfig
struct DelayInfo_s DelayInfo
float baseDP
baseline concentration of Dopamine
float decayNE
decay rate for Noradrenaline
unsigned int nPoissonSpikes
the total number of spikes of poisson neurons, used in CPU_MODE currently
float * wt
stores the weight change of a synaptic connection
bool isLIF
True = a LIF spiking group.
unsigned int Type
published by GroupConfig
double sNMDA
scaling factor for NMDA amplitude
conType_t
connection types, used internally (externally it's a string)
struct compConnectionInfo_s compConnectionInfo
int gEndN
published by GroupConfigMD
float TAU_MINUS_INV_INB
published by GroupConfig
struct RoutingTableEntry_s RoutingTableEntry
runtime spike routing table entry
int gGrpId
published by GroupConfigMD
SpikeGeneratorCore * spikeGenFunc
float * Npre_plasticInv
stores the 1/number of plastic input connections, only used on GPU
DelayInfo * postDelayInfo
delay information
unsigned int * timeTableD1
firing table, only used in CPU_MODE currently
The configuration of a compartmental connection.
int numNPois
number of poisson neurons in the global network
NeuralDynamicsConfig neuralDynamicsConfig
float * voltage
membrane potential for each regular neuron
bool sim_with_modulated_stdp
float decay5HT
decay rate for Serotonin
struct NetworkConfigRT_s NetworkConfigRT
runtime network configuration
float avgTimeScaleInv
published by GroupConfig
struct ConnectionInfo_s ConnectionInfo
unsigned short * Npre_plastic
stores the number of plastic input connections to a neuron
unsigned int spikeCountD1Sec
the total number of spikes with axonal delay == 1 in 1 second, used in CPU_MODE currently
int lGrpId
published by GroupConfigMD
unsigned int maxSpikesD1
the estimated maximum number of spikes with delay == 1 in a network
int numNExcPois
number of excitatory poisson neurons in the global network
float base5HT
baseline concentration of Serotonin, published by GroupConfig
MemType
type of memory pointer
int numN1msDelay
number of neurons with maximum out going axonal delay = 1 ms
float baseNE
baseline concentration of Noradrenaline, published by GroupConfig
bool WithHomeostasis
published by GroupConfig
int * lastSpikeTime
stores the last spike time of a neuron
integrationMethod_t simIntegrationMethod
integration method (forward-Euler or Fourth-order Runge-Kutta)
struct HomeostasisConfig_s HomeostasisConfig
neuromodulator configurations
bool operator==(const struct GroupConfigMD_s &grp)
int numPreSynNet
the total number of pre-connections in a network
float baseACh
baseline concentration of Acetylcholine, published by GroupConfig
unsigned int spikeCountExtRxD1
the number of external spikes with axonal delay == 1 in a simulation, used in CPU_MODE currently
float avgTimeScale_decay
published by GroupConfig
float * mulSynSlow
factor to be applied to either gNMDA or gGABAb
int numPostSynNet
the total number of post-connections in a network
int Noffset
the offset of spike generator (poisson) neurons [0, numNPois)
struct compConnectConfig_s compConnectConfig
The configuration of a compartmental connection.
bool WithSTDP
published by GroupConfig
SynInfo * postSynapticIds
10 bit syn id, 22 bit neuron id, ordered based on delay
int Noffset
the offset of spike generator (poisson) neurons [0, numNPois), published by GroupConfigMD
unsigned int spikeCountSec
the total number of spikes in 1 second, used in CPU_MODE currently
@ CPU_MEM
runtime data is allocated on CPU (main) memory
struct GroupConfigMD_s GroupConfigMD
short int * connIdsPreIdx
connectId, per synapse, presynaptic cumulative indexing
unsigned int spikeCountD2
the total number of spikes with anxonal delay > 1 in a simulation, used in CPU_MODE currently
unsigned int * cumulativePost
struct GroupConfigRT_s GroupConfigRT
The runtime configuration of a group.
unsigned int spikeCountD1
the total number of spikes with anxonal delay == 1 in a simulation, used in CPU_MODE currently
float * maxSynWt
maximum synaptic weight for a connection
int lStartN
published by GroupConfigMD
int numNRateGen
number of poisson neurons generating spikes based on firing rate
int * extFiringTableEndIdxD1
struct NeuralDynamicsConfig_s NeuralDynamicsConfig
long-term plasiticity configurations
int numNInhPois
number of inhibitory poisson neurons in the global network
int * synSpikeTime
stores the last spike time of a synapse
int8_t MaxDelay
published by GroupConfigMD
A struct to arrange neurons on a 3D grid (a primitive cubic Bravais lattice with cubic side length 1)
int numNAssigned
number of total neurons assigned to the local network
int numNExcReg
number of regular excitatory neurons in the global network
struct NeuromodulatorConfig_s NeuromodulatorConfig
int gStartN
published by GroupConfigMD
int maxNumPreSynN
the maximum number of pre-syanptic connections among neurons
bool sim_with_homeostasis
float * gGABAb
conductance of gGABAb
The configuration of a connection.
int * lif_tau_m
parameters for a LIF spiking group
bool withParamModel_9
False = 4 parameter model; 1 = 9 parameter model.
float STP_tau_x_inv
published by GroupConfig
float ALPHA_MINUS_INB
published by GroupConfig
int numGroups
number of local groups in this local network
float connProbability
connection probability
int ** extFiringTableD1
external firing table, only used on GPU
int numN
number of neurons in the global network
STDPCurve WithESTDPcurve
published by GroupConfig
int lEndN
published by GroupConfigMD
float decayACh
decay rate for Acetylcholine
int numNReg
number of regular (spking) neurons
float decayDP
decay rate for Dopamine
int * extFiringTableEndIdxD2
int numNInhReg
number of regular inhibitory neurons in the global network
float KAPPA
published by GroupConfig
struct ConnectConfig_s ConnectConfig
The configuration of a connection.
float STP_A
published by GroupConfig
float ALPHA_PLUS_EXC
published by GroupConfig
int numNReg
number of regular (spking) neurons in the global network
int LtoGOffset
published by GroupConfigMD
int gsId
group id and synapse id
float * mulSynFast
factor to be applied to either gAMPA or gGABAa
int lif_tau_m
parameters for a LIF spiking group
unsigned int spikeCountExtRxD1Sec
The configuration of a group.
int * nSpikeCnt
homeostatic plasticity variables
int ** extFiringTableD2
external firing table, only used on GPU
struct STPConfig_s STPConfig
homeostatic plasticity configurations
int numGroupsAssigned
number of groups assigned to this local network
float TAU_PLUS_INV_INB
published by GroupConfig
float baseACh
baseline concentration of Acetylcholine
struct ConnectConfigRT_s ConnectConfigRT
The runtime configuration of a connection.
bool FixedInputWts
published by GroupConfigMD
@ UNKNOWN_CURVE
unknown curve type
float decayNE
decay rate for Noradrenaline, published by GroupConfig
int numNExcPois
number of excitatory poisson neurons
bool sim_with_NMDA_rise
a flag to inform whether to compute NMDA rise time
runtime spike routing table entry
int simNumStepsPerMs
number of steps per 1 millisecond
float * randNum
firing random number. max value is 10,000
unsigned int spikeCountLastSecLeftD2
the nubmer of spike left in the last second, used in CPU_MODE currently
float ALPHA_MINUS_EXC
published by GroupConfig
float STP_tau_u_inv
published by GroupConfig
int simNumStepsPerMs
number of steps per 1 millisecond
int numNInhPois
number of inhibitory poisson neurons
float TAU_MINUS_INV_EXC
published by GroupConfig
int numN
number of neurons in th local network
float timeStep
inverse of simNumStepsPerMs
float STP_U
published by GroupConfig
int numComp
number of compartmental neurons
float BETA_LTP
published by GroupConfig
struct ThreadStruct_s ThreadStruct
CPU multithreading subroutine (that takes single argument) struct argument.
A struct to specify the receptive field (RF) radius in 3 dimensions.
bool WithSTP
published by GroupConfig
float timeStep
inverse of simNumStepsPerMs
unsigned int spikeCountExtRxD2Sec
float homeostasisScale
published by GroupConfig
float DELTA
published by GroupConfig
float avgTimeScale
published by GroupConfig
float BETA_LTD
published by GroupConfig
ConnectionGeneratorCore * conn
bool WithISTDP
published by GroupConfig
unsigned int * cumulativePre
bool allocated
true if all data has been allocated
SNNState
the state of spiking neural network, used with in kernel.