CARLsim  4.1.0
CARLsim: a GPU-accelerated SNN simulator
snn_datastructures.h
Go to the documentation of this file.
1 /* * Copyright (c) 2016 Regents of the University of California. All rights reserved.
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions
5 * are met:
6 *
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 *
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * 3. The names of its contributors may not be used to endorse or promote
15 * products derived from this software without specific prior written
16 * permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 *
30 * *********************************************************************************************** *
31 * CARLsim
32 * created by: (MDR) Micah Richert, (JN) Jayram M. Nageswaran
33 * maintained by:
34 * (MA) Mike Avery <averym@uci.edu>
35 * (MB) Michael Beyeler <mbeyeler@uci.edu>,
36 * (KDC) Kristofor Carlson <kdcarlso@uci.edu>
37 * (TSC) Ting-Shuo Chou <tingshuc@uci.edu>
38 * (HK) Hirak J Kashyap <kashyaph@uci.edu>
39 *
40 * CARLsim v1.0: JM, MDR
41 * CARLsim v2.0/v2.1/v2.2: JM, MDR, MA, MB, KDC
42 * CARLsim3: MB, KDC, TSC
43 * CARLsim4: TSC, HK
44 *
45 * CARLsim available from http://socsci.uci.edu/~jkrichma/CARLsim/
46 * Ver 12/31/2016
47 */
48 
49 #ifndef _SNN_DATASTRUCTURES_H_
50 #define _SNN_DATASTRUCTURES_H_
51 
52 // include CUDA version-dependent macros and include files
53 #ifndef __NO_CUDA__
54  #include <cuda_version_control.h>
55  #include <curand.h>
56 #endif
57 
68 enum MemType {
71 };
72 
75 
77 enum SNNState {
82 };
83 
84 typedef struct DelayInfo_s {
86  short delay_length;
88 
89 typedef struct SynInfo_s {
90  int gsId;
91  int nId;
93 
94 typedef struct ConnectionInfo_s {
95  int grpSrc;
96  int grpDest;
97  int nSrc;
98  int nDest;
100  float initWt;
101  float maxWt;
102  int preSynId;
103  short int connId;
104  uint8_t delay;
105 
106  bool operator== (const struct ConnectionInfo_s& conn) {
107  return (nSrc + srcGLoffset == conn.nSrc);
108  }
110 
119 typedef struct ConnectConfig_s {
120  int grpSrc;
121  int grpDest;
122  uint8_t maxDelay;
123  uint8_t minDelay;
124  float maxWt;
125  float initWt;
126  float minWt;
128  float mulSynFast;
129  float mulSynSlow;
130  int connectionMonitorId; // ToDo: move to ConnectConfigMD
131  uint32_t connProp;
135  short int connId;
136  int numberOfConnections; // ToDo: move to ConnectConfigMD
138 
144 typedef struct ConnectConfigMD_s {
146  {}
147  int gConnId;
148  int lConnId;
152 
161 typedef struct ConnectConfigRT_s {
162  float* mulSynFast;
163  float* mulSynSlow;
165 
166 typedef struct compConnectionInfo_s {
168  short int connId;
170 
179 typedef struct compConnectConfig_s {
181  short int connId;
183 
185 typedef struct NeuralDynamicsConfig_s {
186  NeuralDynamicsConfig_s() : Izh_a(-1.0f), Izh_a_sd(-1.0f), Izh_b(-1.0f), Izh_b_sd(-1.0f),
187  Izh_c(-1.0f), Izh_c_sd(-1.0f), Izh_d(-1.0f), Izh_d_sd(-1.0f),
188  Izh_C(-1.0f), Izh_C_sd(-1.0f), Izh_k(-1.0f), Izh_k_sd(-1.0f),
189  Izh_vr(-1.0f), Izh_vr_sd(1.0f), Izh_vt(1.0f), Izh_vt_sd(-1.0f),
190  Izh_vpeak(-1.0f), Izh_vpeak_sd(-1.0f), lif_tau_m(-1),
191  lif_tau_ref(-1), lif_vTh(1.0f), lif_vReset(0.0f), lif_minRmem(1.0f),
192  lif_maxRmem(1.0f)
193  {}
194  float Izh_C;
195  float Izh_C_sd;
196  float Izh_k;
197  float Izh_k_sd;
198  float Izh_vr;
199  float Izh_vr_sd;
200  float Izh_vt;
201  float Izh_vt_sd;
202  float Izh_vpeak;
204  float Izh_a;
205  float Izh_a_sd;
206  float Izh_b;
207  float Izh_b_sd;
208  float Izh_c;
209  float Izh_c_sd;
210  float Izh_d;
211  float Izh_d_sd;
212  int lif_tau_m;
214  float lif_vTh;
215  float lif_vReset;
216  double lif_minRmem;
217  double lif_maxRmem;
219 
221 typedef struct STDPConfig_s {
222  STDPConfig_s() : WithSTDP(false), WithESTDP(false), WithISTDP(false),
224  {}
225  bool WithSTDP;
226  bool WithESTDP;
227  bool WithISTDP;
236  float GAMMA;
237  float KAPPA;
238  float OMEGA;
243  float BETA_LTP;
244  float BETA_LTD;
245  float LAMBDA;
246  float DELTA;
247 } STDPConfig;
248 
250 typedef struct STPConfig_s {
251  STPConfig_s() : WithSTP(false), STP_A(-1.0f), STP_U(-1.0f), STP_tau_u_inv(-1.0f), STP_tau_x_inv(-1.0f)
252  {}
253 
254  bool WithSTP;
255  float STP_A; // scaling factor
256  float STP_U;
257  float STP_tau_u_inv; // facilitatory
258  float STP_tau_x_inv; // depressive
259 } STPConfig;
260 
262 typedef struct HomeostasisConfig_s {
264  avgTimeScale(-1.0f), avgTimeScaleInv(-1.0f), avgTimeScaleDecay(-1.0f),
265  homeostasisScale(-1.0f)
266  {}
267 
269  float baseFiring;
276 
278 typedef struct NeuromodulatorConfig_s {
279  NeuromodulatorConfig_s() : baseDP(1.0f), base5HT(1.0f), baseACh(1.0f), baseNE(1.0f),
280  decayDP(0.99f), decay5HT(0.99f), decayACh(0.99f), decayNE(0.99f)
281  {}
282 
283  float baseDP;
284  float base5HT;
285  float baseACh;
286  float baseNE;
287  float decayDP;
288  float decay5HT;
289  float decayACh;
290  float decayNE;
292 
301 typedef struct GroupConfig_s {
303  {}
304 
305  // properties of neural group size and location
306  std::string grpName;
308  unsigned int type;
309  int numN;
312  bool isLIF;
314 
317 
319 
320  Grid3D grid; //<! location information of neurons
327 
328 typedef struct GroupConfigMD_s {
329  GroupConfigMD_s() : gGrpId(-1), gStartN(-1), gEndN(-1),
330  lGrpId(-1), lStartN(-1), lEndN(-1),
334  {}
335 
336  int gGrpId;
337  int gStartN;
338  int gEndN;
339  int netId;
340  int lGrpId;
341  int lStartN;
342  int lEndN;
356  int homeoId;
357  int Noffset;
359 
360  bool operator== (const struct GroupConfigMD_s& grp) {
361  return (gGrpId == grp.gGrpId);
362  }
364 
373 typedef struct GroupConfigRT_s {
374  int netId;
375  int gGrpId;
376  int gStartN;
377  int gEndN;
378  int lGrpId;
379  int lStartN;
380  int lEndN;
383  unsigned int Type;
384  int numN;
389  bool WithSTP;
390  bool WithSTDP;
391  bool WithESTDP;
392  bool WithISTDP;
400  int Noffset;
401  int8_t MaxDelay;
402 
403  float STP_A;
404  float STP_U;
411  float GAMMA;
412  float KAPPA;
413  float OMEGA;
418  float BETA_LTP;
419  float BETA_LTD;
420  float LAMBDA;
421  float DELTA;
422 
424  float avgTimeScale;
428 
429  // parameters of neuromodulator
430  float baseDP;
431  float base5HT;
432  float baseACh;
433  float baseNE;
434  float decayDP;
435  float decay5HT;
436  float decayACh;
437  float decayNE;
438 
440  bool isLIF;
441 
446  float compCoupling[4];
449 
450 typedef struct RuntimeData_s {
451  unsigned int spikeCountSec;
452  unsigned int spikeCountD1Sec;
453  unsigned int spikeCountD2Sec;
454  unsigned int spikeCountExtRxD1Sec;
455  unsigned int spikeCountExtRxD2Sec;
456  unsigned int spikeCount;
457  unsigned int spikeCountD1;
458  unsigned int spikeCountD2;
459  unsigned int nPoissonSpikes;
460  unsigned int spikeCountLastSecLeftD2;
461  unsigned int spikeCountExtRxD2;
462  unsigned int spikeCountExtRxD1;
463 
464  float* voltage;
465  float* nextVoltage;
466  float* recovery;
467  float* Izh_C;
468  float* Izh_k;
469  float* Izh_vr;
470  float* Izh_vt;
471  float* Izh_vpeak;
472  float* Izh_a;
473  float* Izh_b;
474  float* Izh_c;
475  float* Izh_d;
476  float* current;
477  float* totalCurrent;
478  float* extCurrent;
479 
480  int* lif_tau_m;
482  int* lif_tau_ref_c; // current refractory of the neuron
483  float* lif_vTh;
484  float* lif_vReset;
485  float* lif_gain;
486  float* lif_bias;
487 
491  bool* curSpike;
492 
493  // conductances and stp values
494  float* gNMDA;
495  float* gNMDA_r;
496  float* gNMDA_d;
497  float* gAMPA;
498  float* gGABAa;
499  float* gGABAb;
500  float* gGABAb_r;
501  float* gGABAb_d;
502 
503  int* I_set;
504 
506  bool allocated;
507 
508  /* Tsodyks & Markram (1998), where the short-term dynamics of synapses is characterized by three parameters:
509  U (which roughly models the release probability of a synaptic vesicle for the first spike in a train of spikes),
510  maxDelay_ (time constant for recovery from depression), and F (time constant for recovery from facilitation). */
511  float* stpx;
512  float* stpu;
513 
514  unsigned short* Npre;
515  unsigned short* Npre_plastic;
517  unsigned short* Npost;
518 
521 
522  float* wtChange;
523  float* wt;
524  float* maxSynWt;
525 
526  unsigned int* cumulativePost;
527  unsigned int* cumulativePre;
528 
529  short int* connIdsPreIdx;
530  short int* grpIds;
531 
540 
542  unsigned int* timeTableD1;
543  unsigned int* timeTableD2;
544 
547 
550 
553 
555  float* randNum;
556 #ifndef __NO_CUDA__
558  int3* groupIdInfo;
559 #endif
560 
561  int* nSpikeCnt;
562 
564  float* baseFiringInv;
565  float* baseFiring;
566  float* avgFiring;
567 
571  float* grpDA;
572  float* grp5HT;
573  float* grpACh;
574  float* grpNE;
575 
576  // group monitor assistive buffers
577  float* grpDABuffer;
578  float* grp5HTBuffer;
579  float* grpAChBuffer;
580  float* grpNEBuffer;
581 
582  // neuron monitor assistive buffers
583  float* nVBuffer;
584  float* nUBuffer;
585  float* nIBuffer;
586 
587  unsigned int* spikeGenBits;
588 #ifndef __NO_CUDA__
589  curandGenerator_t gpuRandGen;
590 #endif
592 
593 typedef struct GlobalNetworkConfig_s {
598  simNumStepsPerMs(2), timeStep(0.5)
599  {}
600 
601  int numN;
604  int numNReg;
605  int numComp;
608  int numNPois;
609  int numSynNet;
610  int maxDelay;
613 
616  float timeStep;
618 
620 
625 typedef struct NetworkConfigRT_s {
626  // global configuration for maximum axonal delay
627  int maxDelay;
628 
629  // configurations for boundries of neural types
630  int numN;
633  int numNReg;
634  int numComp;
637  int numNPois;
642 
643  // configurations for runtime data sizes
644  unsigned int I_setLength;
645  size_t I_setPitch;
646  size_t STP_Pitch;
651  unsigned int maxSpikesD2;
652  unsigned int maxSpikesD1;
653 
654  // configurations for assigned groups and connections
655  int numGroups;
658  //int numAssignedConnections; //!< number of connections assigned to this local network
659 
660  // configurations for execution features
669 
670  // please note that spike monitor and connection monitor don't need this flag because no extra buffer is required
671  // for neuron monitor, the kernel allocates extra buffers to store v, u, i values of each monitored neuron
672  bool sim_with_nm; // simulation with neuron monitor
673 
674  // stdp, da-stdp configurations
677 
678  // conductance configurations
681  double dAMPA;
682  double rNMDA;
683  double dNMDA;
684  double sNMDA;
685  double dGABAa;
686  double rGABAb;
687  double dGABAb;
688  double sGABAb;
689 
692  float timeStep;
694 
695 
697 
701 typedef struct RoutingTableEntry_s {
703 
704  RoutingTableEntry_s(int srcNetId_, int destNetId_) : srcNetId(srcNetId_), destNetId(destNetId_) {}
705 
706  int srcNetId;
708 
709  bool operator== (const struct RoutingTableEntry_s& rte) const {
710  return (srcNetId == rte.srcNetId && destNetId == rte.destNetId);
711  }
713 
714 
716 
722 typedef struct ThreadStruct_s {
723  void* snn_pointer;
724  int netId;
725  int lGrpId;
726  int startIdx;
727  int endIdx;
730 
731 #endif
RuntimeData_s::groupIdInfo
int3 * groupIdInfo
.x , .y: the start and end index of neurons in a group, .z: gourd id, used for group Id calculations
Definition: snn_datastructures.h:558
NetworkConfigRT_s::wtChangeDecay
float wtChangeDecay
the wtChange decay
Definition: snn_datastructures.h:676
GroupConfig_s::compCouplingDown
float compCouplingDown
Definition: snn_datastructures.h:316
ThreadStruct_s::endIdx
int endIdx
Definition: snn_datastructures.h:727
GroupConfig
struct GroupConfig_s GroupConfig
The configuration of a group.
RuntimeData_s::gNMDA
float * gNMDA
conductance of gNMDA
Definition: snn_datastructures.h:494
RuntimeData_s::Izh_d
float * Izh_d
Definition: snn_datastructures.h:475
RuntimeData_s::neuronAllocation
int2 * neuronAllocation
.x: [31:0] index of the first neuron, .y: [31:16] number of neurons, [15:0] group id
Definition: snn_datastructures.h:557
ConnectionInfo_s::delay
uint8_t delay
Definition: snn_datastructures.h:104
GroupConfig_s::neuromodulatorConfig
NeuromodulatorConfig neuromodulatorConfig
Definition: snn_datastructures.h:325
GroupConfigRT_s::WithISTDPcurve
STDPCurve WithISTDPcurve
published by GroupConfig
Definition: snn_datastructures.h:396
STPConfig_s::STP_U
float STP_U
Definition: snn_datastructures.h:256
NetworkConfigRT_s::stdpScaleFactor
float stdpScaleFactor
Definition: snn_datastructures.h:675
RuntimeData_s::totalCurrent
float * totalCurrent
Definition: snn_datastructures.h:477
GroupConfig_s::homeoConfig
HomeostasisConfig homeoConfig
Definition: snn_datastructures.h:324
RuntimeData_s::spikeCountExtRxD2
unsigned int spikeCountExtRxD2
the number of external spikes with axonal delay > 1 in a simulation, used in CPU_MODE currently
Definition: snn_datastructures.h:461
ConnectConfig_s::mulSynFast
float mulSynFast
factor to be applied to either gAMPA or gGABAa
Definition: snn_datastructures.h:128
NetworkConfigRT_s::numNExternal
int numNExternal
number of external neurons in the view of the local network
Definition: snn_datastructures.h:640
STDPConfig_s::ALPHA_PLUS_INB
float ALPHA_PLUS_INB
Definition: snn_datastructures.h:241
RoutingTableEntry_s::RoutingTableEntry_s
RoutingTableEntry_s(int srcNetId_, int destNetId_)
Definition: snn_datastructures.h:704
RuntimeData_s::grpNEBuffer
float * grpNEBuffer
Definition: snn_datastructures.h:580
STDPConfig_s::WithSTDP
bool WithSTDP
Definition: snn_datastructures.h:225
SynInfo_s
Definition: snn_datastructures.h:89
ConnectConfigMD
struct ConnectConfigMD_s ConnectConfigMD
the intermediate data of connect config
NetworkConfigRT_s::maxSpikesD2
unsigned int maxSpikesD2
the estimated maximum number of spikes with delay >= 2 in a network
Definition: snn_datastructures.h:651
NeuromodulatorConfig_s::NeuromodulatorConfig_s
NeuromodulatorConfig_s()
Definition: snn_datastructures.h:279
integrationMethod_t
integrationMethod_t
Integration methods.
Definition: carlsim_datastructures.h:132
NetworkConfigRT_s::sim_with_compartments
bool sim_with_compartments
Definition: snn_datastructures.h:663
RuntimeData_s::lif_tau_ref
int * lif_tau_ref
Definition: snn_datastructures.h:481
GroupConfig_s::grid
Grid3D grid
Definition: snn_datastructures.h:320
GroupConfigRT_s
The runtime configuration of a group.
Definition: snn_datastructures.h:373
RuntimeData_s::gpuRandGen
curandGenerator_t gpuRandGen
Definition: snn_datastructures.h:589
NetworkConfigRT_s::numNInhReg
int numNInhReg
number of regular inhibitory neurons
Definition: snn_datastructures.h:632
ConnectionInfo_s::operator==
bool operator==(const struct ConnectionInfo_s &conn)
Definition: snn_datastructures.h:106
GroupConfigMD_s::GroupConfigMD_s
GroupConfigMD_s()
Definition: snn_datastructures.h:329
NeuralDynamicsConfig_s::Izh_vpeak
float Izh_vpeak
Definition: snn_datastructures.h:202
GroupConfigRT_s::decayDP
float decayDP
decay rate for Dopaamine, published by GroupConfig
Definition: snn_datastructures.h:434
ConnectConfig_s::minWt
float minWt
Definition: snn_datastructures.h:126
STDPConfig_s::GAMMA
float GAMMA
Definition: snn_datastructures.h:236
DelayInfo_s
Definition: snn_datastructures.h:84
RoutingTableEntry_s::destNetId
int destNetId
Definition: snn_datastructures.h:707
RuntimeData_s::poissonFireRate
float * poissonFireRate
Definition: snn_datastructures.h:554
CONN_FULL
@ CONN_FULL
Definition: snn_datastructures.h:74
RuntimeData_s::lif_tau_ref_c
int * lif_tau_ref_c
Definition: snn_datastructures.h:482
STDPConfig_s::BETA_LTD
float BETA_LTD
Definition: snn_datastructures.h:244
RuntimeData_s::timeTableD2
unsigned int * timeTableD2
firing table, only used in CPU_MODE currently
Definition: snn_datastructures.h:543
NetworkConfigRT_s::numNPois
int numNPois
number of poisson neurons
Definition: snn_datastructures.h:637
NetworkConfigRT_s::dAMPA
double dAMPA
multiplication factor for decay time of AMPA conductance (gAMPA[i] *= dAMPA)
Definition: snn_datastructures.h:681
NetworkConfigRT_s::rNMDA
double rNMDA
multiplication factor for rise time of NMDA
Definition: snn_datastructures.h:682
GroupConfigRT_s::LAMBDA
float LAMBDA
published by GroupConfig
Definition: snn_datastructures.h:420
NetworkConfigRT_s::sGABAb
double sGABAb
scaling factor for GABAb amplitude
Definition: snn_datastructures.h:688
RuntimeData_s::wtChange
float * wtChange
stores the weight change of a synaptic connection
Definition: snn_datastructures.h:522
STDPConfig_s::DELTA
float DELTA
Definition: snn_datastructures.h:246
STPConfig_s::STP_tau_u_inv
float STP_tau_u_inv
Definition: snn_datastructures.h:257
RuntimeData_s::Izh_vr
float * Izh_vr
Definition: snn_datastructures.h:469
RuntimeData
struct RuntimeData_s RuntimeData
HomeostasisConfig_s::WithHomeostasis
bool WithHomeostasis
Definition: snn_datastructures.h:268
GroupConfigRT_s::WithESTDP
bool WithESTDP
published by GroupConfig
Definition: snn_datastructures.h:391
GlobalNetworkConfig_s::numN2msDelay
int numN2msDelay
number of neurons with maximum out going axonal delay >= 2 ms
Definition: snn_datastructures.h:612
GroupConfigRT_s::WithESTDPtype
STDPType WithESTDPtype
published by GroupConfig
Definition: snn_datastructures.h:393
RuntimeData_s
Definition: snn_datastructures.h:450
NetworkConfigRT_s::dNMDA
double dNMDA
multiplication factor for decay time of NMDA
Definition: snn_datastructures.h:683
ConnectConfig_s::initWt
float initWt
Definition: snn_datastructures.h:125
STDPConfig_s::WithESTDP
bool WithESTDP
Definition: snn_datastructures.h:226
compConnectConfig_s::grpDest
int grpDest
Definition: snn_datastructures.h:180
NetworkConfigRT_s::numNExcReg
int numNExcReg
number of regular excitatory neurons
Definition: snn_datastructures.h:631
RuntimeData_s::nextVoltage
float * nextVoltage
membrane potential buffer (next/future time step) for each regular neuron
Definition: snn_datastructures.h:465
NetworkConfigRT_s::numNSpikeGen
int numNSpikeGen
number of poisson neurons generating spikes based on callback functions
Definition: snn_datastructures.h:638
NeuralDynamicsConfig_s::Izh_k_sd
float Izh_k_sd
Definition: snn_datastructures.h:197
GroupConfig_s::compCouplingUp
float compCouplingUp
Definition: snn_datastructures.h:315
RuntimeData_s::baseFiring
float * baseFiring
Definition: snn_datastructures.h:565
GroupConfigRT_s::ALPHA_PLUS_INB
float ALPHA_PLUS_INB
published by GroupConfig
Definition: snn_datastructures.h:416
COMPILED_SNN
@ COMPILED_SNN
Definition: snn_datastructures.h:79
ConnectConfig_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:120
GlobalNetworkConfig_s::GlobalNetworkConfig_s
GlobalNetworkConfig_s()
Definition: snn_datastructures.h:594
NetworkConfigRT_s::numComp
int numComp
number of compartmental neurons
Definition: snn_datastructures.h:634
CONN_UNKNOWN
@ CONN_UNKNOWN
Definition: snn_datastructures.h:74
NeuromodulatorConfig_s
Definition: snn_datastructures.h:278
NeuralDynamicsConfig_s::Izh_k
float Izh_k
Definition: snn_datastructures.h:196
NetworkConfigRT_s::dGABAa
double dGABAa
multiplication factor for decay time of GABAa
Definition: snn_datastructures.h:685
RuntimeData_s::stpx
float * stpx
Definition: snn_datastructures.h:511
HomeostasisConfig_s::baseFiring
float baseFiring
Definition: snn_datastructures.h:269
NetworkConfigRT_s::rGABAb
double rGABAb
multiplication factor for rise time of GABAb
Definition: snn_datastructures.h:686
RuntimeData_s::Izh_vpeak
float * Izh_vpeak
Definition: snn_datastructures.h:471
NetworkConfigRT_s::I_setLength
unsigned int I_setLength
used for GPU only
Definition: snn_datastructures.h:644
NetworkConfigRT_s::sim_with_GABAb_rise
bool sim_with_GABAb_rise
a flag to inform whether to compute GABAb rise time
Definition: snn_datastructures.h:680
SpikeGeneratorCore
used for relaying callback to SpikeGenerator
Definition: callback_core.h:69
GroupConfigMD_s::groupMonitorId
int groupMonitorId
Definition: snn_datastructures.h:352
GroupConfigRT_s::TAU_PLUS_INV_EXC
float TAU_PLUS_INV_EXC
published by GroupConfig
Definition: snn_datastructures.h:407
RuntimeData_s::baseFiringInv
float * baseFiringInv
only used on GPU
Definition: snn_datastructures.h:564
GPU_MEM
@ GPU_MEM
runtime data is allocated on GPU memory
Definition: snn_datastructures.h:70
HomeostasisConfig_s::avgTimeScaleDecay
float avgTimeScaleDecay
Definition: snn_datastructures.h:273
NeuralDynamicsConfig_s
Definition: snn_datastructures.h:185
RoutingTableEntry_s::operator==
bool operator==(const struct RoutingTableEntry_s &rte) const
Definition: snn_datastructures.h:709
NeuralDynamicsConfig_s::Izh_d_sd
float Izh_d_sd
Definition: snn_datastructures.h:211
STDPConfig
struct STDPConfig_s STDPConfig
short-term plasiticity configurations
RuntimeData_s::Izh_b
float * Izh_b
Definition: snn_datastructures.h:473
GroupConfigRT_s::numPostSynapses
int numPostSynapses
the total number of post-connections of a group, published by GroupConfigMD
Definition: snn_datastructures.h:385
RuntimeData_s::spikeCount
unsigned int spikeCount
the total number of spikes in a simulation, used in CPU_MODE currently
Definition: snn_datastructures.h:456
ConnectionInfo_s::grpDest
int grpDest
Definition: snn_datastructures.h:96
GroupConfigMD_s::numPostSynapses
int numPostSynapses
Definition: snn_datastructures.h:345
RuntimeData_s::spikeCountD2Sec
unsigned int spikeCountD2Sec
the total number of spikes with axonal delay > 1 in 1 second, used in CPU_MODE currently
Definition: snn_datastructures.h:453
NetworkConfigRT_s::I_setPitch
size_t I_setPitch
used for GPU only
Definition: snn_datastructures.h:645
NeuralDynamicsConfig_s::Izh_vr_sd
float Izh_vr_sd
Definition: snn_datastructures.h:199
GroupConfig_s::type
unsigned int type
Definition: snn_datastructures.h:308
RuntimeData_s::gGABAa
float * gGABAa
conductance of gGABAa
Definition: snn_datastructures.h:498
NetworkConfigRT_s::sim_with_nm
bool sim_with_nm
Definition: snn_datastructures.h:672
GroupConfigRT_s::GtoLOffset
int GtoLOffset
published by GroupConfigMD
Definition: snn_datastructures.h:382
NetworkConfigRT_s::STP_Pitch
size_t STP_Pitch
numN rounded upwards to the nearest 256 boundary, used for GPU only
Definition: snn_datastructures.h:646
NetworkConfigRT_s
runtime network configuration
Definition: snn_datastructures.h:625
GroupConfigMD_s::GtoLOffset
int GtoLOffset
Definition: snn_datastructures.h:344
GroupConfigRT_s::baseDP
float baseDP
baseline concentration of Dopamine, published by GroupConfig
Definition: snn_datastructures.h:430
STDPConfig_s::WithESTDPcurve
STDPCurve WithESTDPcurve
Definition: snn_datastructures.h:230
GroupConfigMD_s::homeoId
int homeoId
Definition: snn_datastructures.h:356
STDPConfig_s
Definition: snn_datastructures.h:221
RuntimeData_s::current
float * current
Definition: snn_datastructures.h:476
ConnectConfigMD_s
the intermediate data of connect config
Definition: snn_datastructures.h:144
GroupConfigRT_s::withCompartments
bool withCompartments
Definition: snn_datastructures.h:442
RuntimeData_s::Npre
unsigned short * Npre
stores the number of input connections to a neuron
Definition: snn_datastructures.h:514
GroupConfigRT_s::WithISTDPtype
STDPType WithISTDPtype
published by GroupConfig
Definition: snn_datastructures.h:394
RuntimeData_s::grpAChBuffer
float * grpAChBuffer
Definition: snn_datastructures.h:579
SynInfo
struct SynInfo_s SynInfo
GlobalNetworkConfig_s::simIntegrationMethod
integrationMethod_t simIntegrationMethod
integration method (forward-Euler or Fourth-order Runge-Kutta)
Definition: snn_datastructures.h:614
NetworkConfigRT_s::sim_with_stdp
bool sim_with_stdp
Definition: snn_datastructures.h:664
NeuralDynamicsConfig_s::Izh_b
float Izh_b
Definition: snn_datastructures.h:206
ConnectionGeneratorCore
used for relaying callback to ConnectionGenerator
Definition: callback_core.h:89
RuntimeData_s::I_set
int * I_set
an array of bits indicating which synapse got a spike
Definition: snn_datastructures.h:503
ConnectionInfo_s::connId
short int connId
Definition: snn_datastructures.h:103
GroupConfigMD_s::netId
int netId
Definition: snn_datastructures.h:339
HomeostasisConfig_s
Definition: snn_datastructures.h:262
STDPConfig_s::LAMBDA
float LAMBDA
Definition: snn_datastructures.h:245
GroupConfigRT_s::netId
int netId
published by GroupConfigMD
Definition: snn_datastructures.h:374
GroupConfigRT_s::decayACh
float decayACh
decay rate for Acetylcholine, published by GroupConfig
Definition: snn_datastructures.h:436
GroupConfigMD_s::numPreSynapses
int numPreSynapses
Definition: snn_datastructures.h:346
GlobalNetworkConfig_s
Definition: snn_datastructures.h:593
PoissonRate
Class for generating Poisson spike trains.
Definition: poisson_rate.h:84
STDPConfig_s::WithISTDPtype
STDPType WithISTDPtype
Definition: snn_datastructures.h:229
GroupConfigRT_s::isSpikeGenerator
bool isSpikeGenerator
published by GroupConfig
Definition: snn_datastructures.h:387
NeuralDynamicsConfig_s::Izh_c
float Izh_c
Definition: snn_datastructures.h:208
GroupConfigRT_s::numPreSynapses
int numPreSynapses
the total number of pre-connections of a group, published by GroupConfigMD
Definition: snn_datastructures.h:386
GlobalNetworkConfig_s::numSynNet
int numSynNet
number of total synaptic connections in the global network
Definition: snn_datastructures.h:609
GlobalNetworkConfig
struct GlobalNetworkConfig_s GlobalNetworkConfig
HomeostasisConfig_s::HomeostasisConfig_s
HomeostasisConfig_s()
Definition: snn_datastructures.h:263
RuntimeData_s::spikeGenBits
unsigned int * spikeGenBits
Definition: snn_datastructures.h:587
ConnectConfig_s::connId
short int connId
connectID of the element in the linked list
Definition: snn_datastructures.h:135
RuntimeData_s::lif_vTh
float * lif_vTh
Definition: snn_datastructures.h:483
NetworkConfigRT_s::numConnections
int numConnections
number of local connections in this local network
Definition: snn_datastructures.h:657
RuntimeData_s::recovery
float * recovery
Definition: snn_datastructures.h:466
RuntimeData_s::gAMPA
float * gAMPA
conductance of gAMPA
Definition: snn_datastructures.h:497
GroupConfigRT_s::OMEGA
float OMEGA
published by GroupConfig
Definition: snn_datastructures.h:413
NetworkConfigRT_s::dGABAb
double dGABAb
multiplication factor for decay time of GABAb
Definition: snn_datastructures.h:687
STDPConfig_s::STDPConfig_s
STDPConfig_s()
Definition: snn_datastructures.h:222
NetworkConfigRT_s::maxDelay
int maxDelay
maximum axonal delay in the gloabl network
Definition: snn_datastructures.h:627
NetworkConfigRT_s::sim_with_conductances
bool sim_with_conductances
Definition: snn_datastructures.h:662
ConnectConfig_s::mulSynSlow
float mulSynSlow
factor to be applied to either gNMDA or gGABAb
Definition: snn_datastructures.h:129
ConnectConfigRT_s
The runtime configuration of a connection.
Definition: snn_datastructures.h:161
ConnectionInfo_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:95
compConnectConfig_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:180
NeuromodulatorConfig_s::baseNE
float baseNE
baseline concentration of Noradrenaline
Definition: snn_datastructures.h:286
GroupConfigMD_s::currTimeSlice
int currTimeSlice
timeSlice is used by the Poisson generators in order to not generate too many or too few spikes withi...
Definition: snn_datastructures.h:354
NetworkConfigRT_s::maxNumPostSynN
int maxNumPostSynN
the maximum number of post-synaptic connections among neurons
Definition: snn_datastructures.h:649
RuntimeData_s::lif_gain
float * lif_gain
Definition: snn_datastructures.h:485
RuntimeData_s::Izh_vt
float * Izh_vt
Definition: snn_datastructures.h:470
NeuromodulatorConfig_s::base5HT
float base5HT
baseline concentration of Serotonin
Definition: snn_datastructures.h:284
HomeostasisConfig_s::baseFiringSD
float baseFiringSD
Definition: snn_datastructures.h:270
GroupConfigRT_s::GAMMA
float GAMMA
published by GroupConfig
Definition: snn_datastructures.h:411
RuntimeData_s::Npost
unsigned short * Npost
stores the number of output connections from a neuron.
Definition: snn_datastructures.h:517
GroupConfigRT_s::numN
int numN
published by GroupConfig
Definition: snn_datastructures.h:384
GroupConfig_s::numN
int numN
Definition: snn_datastructures.h:309
GroupConfigMD_s::hasExternalConnect
bool hasExternalConnect
Definition: snn_datastructures.h:349
ThreadStruct_s
CPU multithreading subroutine (that takes single argument) struct argument.
Definition: snn_datastructures.h:722
GlobalNetworkConfig_s::maxDelay
int maxDelay
maximum axonal delay in the gloabl network
Definition: snn_datastructures.h:610
RoutingTableEntry_s::srcNetId
int srcNetId
Definition: snn_datastructures.h:706
GroupConfig_s::withParamModel_9
bool withParamModel_9
False = 4 parameter model; 1 = 9 parameter model.
Definition: snn_datastructures.h:311
GroupConfigRT_s::isSpikeGenFunc
bool isSpikeGenFunc
published by GroupConfig
Definition: snn_datastructures.h:388
cuda_version_control.h
GroupConfigRT_s::hasExternalConnect
bool hasExternalConnect
published by GroupConfigMD
Definition: snn_datastructures.h:399
RuntimeData_s::extCurrent
float * extCurrent
Definition: snn_datastructures.h:478
GroupConfigRT_s::decay5HT
float decay5HT
decay rate for Serotonin, published by GroupConfig
Definition: snn_datastructures.h:435
CONN_USER_DEFINED
@ CONN_USER_DEFINED
Definition: snn_datastructures.h:74
RuntimeData_s::nUBuffer
float * nUBuffer
Definition: snn_datastructures.h:584
DelayInfo
struct DelayInfo_s DelayInfo
NeuralDynamicsConfig_s::Izh_C
float Izh_C
Definition: snn_datastructures.h:194
CONN_RANDOM
@ CONN_RANDOM
Definition: snn_datastructures.h:74
ConnectionInfo_s::nSrc
int nSrc
Definition: snn_datastructures.h:97
NeuromodulatorConfig_s::baseDP
float baseDP
baseline concentration of Dopamine
Definition: snn_datastructures.h:283
NeuromodulatorConfig_s::decayNE
float decayNE
decay rate for Noradrenaline
Definition: snn_datastructures.h:290
RuntimeData_s::nPoissonSpikes
unsigned int nPoissonSpikes
the total number of spikes of poisson neurons, used in CPU_MODE currently
Definition: snn_datastructures.h:459
RuntimeData_s::wt
float * wt
stores the weight change of a synaptic connection
Definition: snn_datastructures.h:523
RuntimeData_s::nVBuffer
float * nVBuffer
Definition: snn_datastructures.h:583
STPConfig_s::STP_tau_x_inv
float STP_tau_x_inv
Definition: snn_datastructures.h:258
GroupConfigRT_s::isLIF
bool isLIF
True = a LIF spiking group.
Definition: snn_datastructures.h:440
GroupConfigRT_s::Type
unsigned int Type
published by GroupConfig
Definition: snn_datastructures.h:383
NetworkConfigRT_s::sNMDA
double sNMDA
scaling factor for NMDA amplitude
Definition: snn_datastructures.h:684
conType_t
conType_t
connection types, used internally (externally it's a string)
Definition: snn_datastructures.h:74
FORWARD_EULER
@ FORWARD_EULER
Definition: carlsim_datastructures.h:133
compConnectionInfo
struct compConnectionInfo_s compConnectionInfo
GroupConfigRT_s::gEndN
int gEndN
published by GroupConfigMD
Definition: snn_datastructures.h:377
GroupConfigMD_s::gEndN
int gEndN
Definition: snn_datastructures.h:338
GroupConfig_s::GroupConfig_s
GroupConfig_s()
Definition: snn_datastructures.h:302
GroupConfig_s::stdpConfig
STDPConfig stdpConfig
Definition: snn_datastructures.h:322
RuntimeData_s::curSpike
bool * curSpike
Definition: snn_datastructures.h:491
STDPConfig_s::BETA_LTP
float BETA_LTP
Definition: snn_datastructures.h:243
GroupConfigRT_s::TAU_MINUS_INV_INB
float TAU_MINUS_INV_INB
published by GroupConfig
Definition: snn_datastructures.h:415
GroupConfigMD_s::gGrpId
int gGrpId
Definition: snn_datastructures.h:336
RoutingTableEntry
struct RoutingTableEntry_s RoutingTableEntry
runtime spike routing table entry
ConnectionInfo_s::preSynId
int preSynId
Definition: snn_datastructures.h:102
NeuralDynamicsConfig_s::lif_minRmem
double lif_minRmem
Definition: snn_datastructures.h:216
GroupConfigRT_s::gGrpId
int gGrpId
published by GroupConfigMD
Definition: snn_datastructures.h:375
GroupConfig_s::spikeGenFunc
SpikeGeneratorCore * spikeGenFunc
Definition: snn_datastructures.h:318
ConnectConfigMD_s::lConnId
int lConnId
Definition: snn_datastructures.h:148
GroupConfigRT_s::compNeighbors
int compNeighbors[4]
Definition: snn_datastructures.h:445
RuntimeData_s::Npre_plasticInv
float * Npre_plasticInv
stores the 1/number of plastic input connections, only used on GPU
Definition: snn_datastructures.h:516
STPConfig_s::WithSTP
bool WithSTP
Definition: snn_datastructures.h:254
RuntimeData_s::postDelayInfo
DelayInfo * postDelayInfo
delay information
Definition: snn_datastructures.h:541
STDPConfig_s::TAU_PLUS_INV_EXC
float TAU_PLUS_INV_EXC
Definition: snn_datastructures.h:232
RuntimeData_s::timeTableD1
unsigned int * timeTableD1
firing table, only used in CPU_MODE currently
Definition: snn_datastructures.h:542
compConnectConfig_s
The configuration of a compartmental connection.
Definition: snn_datastructures.h:179
ConnectConfig_s::maxDelay
uint8_t maxDelay
Definition: snn_datastructures.h:122
ConnectConfig_s::grpDest
int grpDest
Definition: snn_datastructures.h:121
NeuralDynamicsConfig_s::Izh_b_sd
float Izh_b_sd
Definition: snn_datastructures.h:207
GlobalNetworkConfig_s::numNPois
int numNPois
number of poisson neurons in the global network
Definition: snn_datastructures.h:608
STPConfig_s::STPConfig_s
STPConfig_s()
Definition: snn_datastructures.h:251
ConnectionInfo_s::initWt
float initWt
Definition: snn_datastructures.h:100
NeuralDynamicsConfig_s::Izh_C_sd
float Izh_C_sd
Definition: snn_datastructures.h:195
NeuralDynamicsConfig_s::Izh_vt
float Izh_vt
Definition: snn_datastructures.h:200
GroupConfig_s::neuralDynamicsConfig
NeuralDynamicsConfig neuralDynamicsConfig
Definition: snn_datastructures.h:321
STDPConfig_s::TAU_MINUS_INV_EXC
float TAU_MINUS_INV_EXC
Definition: snn_datastructures.h:233
RuntimeData_s::voltage
float * voltage
membrane potential for each regular neuron
Definition: snn_datastructures.h:464
GroupConfig_s::preferredNetId
int preferredNetId
Definition: snn_datastructures.h:307
STDPConfig_s::KAPPA
float KAPPA
Definition: snn_datastructures.h:237
NetworkConfigRT_s::sim_with_modulated_stdp
bool sim_with_modulated_stdp
Definition: snn_datastructures.h:665
NeuromodulatorConfig_s::decay5HT
float decay5HT
decay rate for Serotonin
Definition: snn_datastructures.h:288
STDPConfig_s::ALPHA_MINUS_EXC
float ALPHA_MINUS_EXC
Definition: snn_datastructures.h:235
NetworkConfigRT
struct NetworkConfigRT_s NetworkConfigRT
runtime network configuration
GroupConfigRT_s::avgTimeScaleInv
float avgTimeScaleInv
published by GroupConfig
Definition: snn_datastructures.h:426
ConnectionInfo
struct ConnectionInfo_s ConnectionInfo
ThreadStruct_s::netId
int netId
Definition: snn_datastructures.h:724
RuntimeData_s::Npre_plastic
unsigned short * Npre_plastic
stores the number of plastic input connections to a neuron
Definition: snn_datastructures.h:515
RuntimeData_s::spikeCountD1Sec
unsigned int spikeCountD1Sec
the total number of spikes with axonal delay == 1 in 1 second, used in CPU_MODE currently
Definition: snn_datastructures.h:452
PARTITIONED_SNN
@ PARTITIONED_SNN
Definition: snn_datastructures.h:80
GroupConfigMD_s::fixedInputWts
bool fixedInputWts
Definition: snn_datastructures.h:348
GroupConfigRT_s::lGrpId
int lGrpId
published by GroupConfigMD
Definition: snn_datastructures.h:378
GroupConfigRT_s::compCouplingUp
float compCouplingUp
Definition: snn_datastructures.h:443
NetworkConfigRT_s::sim_with_stp
bool sim_with_stp
Definition: snn_datastructures.h:667
NetworkConfigRT_s::maxSpikesD1
unsigned int maxSpikesD1
the estimated maximum number of spikes with delay == 1 in a network
Definition: snn_datastructures.h:652
NeuralDynamicsConfig_s::Izh_d
float Izh_d
Definition: snn_datastructures.h:210
STDPConfig_s::WithISTDPcurve
STDPCurve WithISTDPcurve
Definition: snn_datastructures.h:231
GlobalNetworkConfig_s::numNExcPois
int numNExcPois
number of excitatory poisson neurons in the global network
Definition: snn_datastructures.h:606
RuntimeData_s::Izh_C
float * Izh_C
Definition: snn_datastructures.h:467
GroupConfigMD_s::lGrpId
int lGrpId
Definition: snn_datastructures.h:340
GroupConfigRT_s::base5HT
float base5HT
baseline concentration of Serotonin, published by GroupConfig
Definition: snn_datastructures.h:431
GroupConfigRT_s::compCoupling
float compCoupling[4]
Definition: snn_datastructures.h:446
MemType
MemType
type of memory pointer
Definition: snn_datastructures.h:68
GlobalNetworkConfig_s::numN1msDelay
int numN1msDelay
number of neurons with maximum out going axonal delay = 1 ms
Definition: snn_datastructures.h:611
HomeostasisConfig_s::avgTimeScale
float avgTimeScale
Definition: snn_datastructures.h:271
GroupConfigRT_s::baseNE
float baseNE
baseline concentration of Noradrenaline, published by GroupConfig
Definition: snn_datastructures.h:433
RuntimeData_s::Izh_c
float * Izh_c
Definition: snn_datastructures.h:474
RuntimeData_s::gNMDA_r
float * gNMDA_r
Definition: snn_datastructures.h:495
ConnectionInfo_s::nDest
int nDest
Definition: snn_datastructures.h:98
STDPConfig_s::OMEGA
float OMEGA
Definition: snn_datastructures.h:238
RuntimeData_s::nIBuffer
float * nIBuffer
Definition: snn_datastructures.h:585
GroupConfigRT_s::WithHomeostasis
bool WithHomeostasis
published by GroupConfig
Definition: snn_datastructures.h:397
RuntimeData_s::lastSpikeTime
int * lastSpikeTime
stores the last spike time of a neuron
Definition: snn_datastructures.h:519
HomeostasisConfig_s::homeostasisScale
float homeostasisScale
Definition: snn_datastructures.h:274
RoutingTableEntry_s::RoutingTableEntry_s
RoutingTableEntry_s()
Definition: snn_datastructures.h:702
STDPConfig_s::WithESTDPtype
STDPType WithESTDPtype
Definition: snn_datastructures.h:228
NeuralDynamicsConfig_s::lif_tau_ref
int lif_tau_ref
Definition: snn_datastructures.h:213
compConnectConfig_s::connId
short int connId
Definition: snn_datastructures.h:181
NeuralDynamicsConfig_s::Izh_a_sd
float Izh_a_sd
Definition: snn_datastructures.h:205
NetworkConfigRT_s::simIntegrationMethod
integrationMethod_t simIntegrationMethod
integration method (forward-Euler or Fourth-order Runge-Kutta)
Definition: snn_datastructures.h:690
GroupConfigMD_s::spikeMonitorId
int spikeMonitorId
Definition: snn_datastructures.h:350
ConnectConfigMD_s::connectionMonitorId
int connectionMonitorId
Definition: snn_datastructures.h:149
HomeostasisConfig
struct HomeostasisConfig_s HomeostasisConfig
neuromodulator configurations
GroupConfigMD_s::operator==
bool operator==(const struct GroupConfigMD_s &grp)
Definition: snn_datastructures.h:360
ConnectConfig_s::minDelay
uint8_t minDelay
Definition: snn_datastructures.h:123
NetworkConfigRT_s::numPreSynNet
int numPreSynNet
the total number of pre-connections in a network
Definition: snn_datastructures.h:648
GroupConfigRT_s::baseACh
float baseACh
baseline concentration of Acetylcholine, published by GroupConfig
Definition: snn_datastructures.h:432
CONN_GAUSSIAN
@ CONN_GAUSSIAN
Definition: snn_datastructures.h:74
RuntimeData_s::spikeCountExtRxD1
unsigned int spikeCountExtRxD1
the number of external spikes with axonal delay == 1 in a simulation, used in CPU_MODE currently
Definition: snn_datastructures.h:462
GroupConfigRT_s::avgTimeScale_decay
float avgTimeScale_decay
published by GroupConfig
Definition: snn_datastructures.h:425
ConnectConfigRT_s::mulSynSlow
float * mulSynSlow
factor to be applied to either gNMDA or gGABAb
Definition: snn_datastructures.h:163
NetworkConfigRT_s::numPostSynNet
int numPostSynNet
the total number of post-connections in a network
Definition: snn_datastructures.h:647
ConnectConfigMD_s::ConnectConfigMD_s
ConnectConfigMD_s()
Definition: snn_datastructures.h:145
RuntimeData_s::grpDABuffer
float * grpDABuffer
Definition: snn_datastructures.h:577
DelayInfo_s::delay_index_start
short delay_index_start
Definition: snn_datastructures.h:85
GroupConfigMD_s::Noffset
int Noffset
the offset of spike generator (poisson) neurons [0, numNPois)
Definition: snn_datastructures.h:357
ConnectConfig_s::connProp
uint32_t connProp
Definition: snn_datastructures.h:131
compConnectConfig
struct compConnectConfig_s compConnectConfig
The configuration of a compartmental connection.
GroupConfigRT_s::WithSTDP
bool WithSTDP
published by GroupConfig
Definition: snn_datastructures.h:390
RuntimeData_s::postSynapticIds
SynInfo * postSynapticIds
10 bit syn id, 22 bit neuron id, ordered based on delay
Definition: snn_datastructures.h:538
GroupConfigRT_s::Noffset
int Noffset
the offset of spike generator (poisson) neurons [0, numNPois), published by GroupConfigMD
Definition: snn_datastructures.h:400
RuntimeData_s::spikeCountSec
unsigned int spikeCountSec
the total number of spikes in 1 second, used in CPU_MODE currently
Definition: snn_datastructures.h:451
CPU_MEM
@ CPU_MEM
runtime data is allocated on CPU (main) memory
Definition: snn_datastructures.h:69
ThreadStruct_s::snn_pointer
void * snn_pointer
Definition: snn_datastructures.h:723
GroupConfigMD_s::ratePtr
PoissonRate * ratePtr
Definition: snn_datastructures.h:358
NeuralDynamicsConfig_s::lif_vTh
float lif_vTh
Definition: snn_datastructures.h:214
GroupConfigMD
struct GroupConfigMD_s GroupConfigMD
RuntimeData_s::connIdsPreIdx
short int * connIdsPreIdx
connectId, per synapse, presynaptic cumulative indexing
Definition: snn_datastructures.h:529
RuntimeData_s::firingTableD1
int * firingTableD1
Definition: snn_datastructures.h:545
ThreadStruct_s::startIdx
int startIdx
Definition: snn_datastructures.h:726
RuntimeData_s::spikeCountD2
unsigned int spikeCountD2
the total number of spikes with anxonal delay > 1 in a simulation, used in CPU_MODE currently
Definition: snn_datastructures.h:458
RuntimeData_s::cumulativePost
unsigned int * cumulativePost
Definition: snn_datastructures.h:526
UNKNOWN_STDP
@ UNKNOWN_STDP
Definition: carlsim_datastructures.h:163
GroupConfigRT
struct GroupConfigRT_s GroupConfigRT
The runtime configuration of a group.
GroupConfigMD_s::lStartN
int lStartN
Definition: snn_datastructures.h:341
RuntimeData_s::spikeCountD1
unsigned int spikeCountD1
the total number of spikes with anxonal delay == 1 in a simulation, used in CPU_MODE currently
Definition: snn_datastructures.h:457
RuntimeData_s::maxSynWt
float * maxSynWt
maximum synaptic weight for a connection
Definition: snn_datastructures.h:524
GroupConfigRT_s::numCompNeighbors
short numCompNeighbors
Definition: snn_datastructures.h:447
GroupConfigRT_s::lStartN
int lStartN
published by GroupConfigMD
Definition: snn_datastructures.h:379
STDPCurve
STDPCurve
STDP curves.
Definition: carlsim_datastructures.h:177
ThreadStruct_s::GtoLOffset
int GtoLOffset
Definition: snn_datastructures.h:728
NeuralDynamicsConfig_s::Izh_vt_sd
float Izh_vt_sd
Definition: snn_datastructures.h:201
STPConfig_s
Definition: snn_datastructures.h:250
RuntimeData_s::Izh_k
float * Izh_k
Definition: snn_datastructures.h:468
NetworkConfigRT_s::numNRateGen
int numNRateGen
number of poisson neurons generating spikes based on firing rate
Definition: snn_datastructures.h:639
RuntimeData_s::extFiringTableEndIdxD1
int * extFiringTableEndIdxD1
Definition: snn_datastructures.h:551
ConnectConfig_s::connectionMonitorId
int connectionMonitorId
Definition: snn_datastructures.h:130
NeuralDynamicsConfig
struct NeuralDynamicsConfig_s NeuralDynamicsConfig
long-term plasiticity configurations
GlobalNetworkConfig_s::numNInhPois
int numNInhPois
number of inhibitory poisson neurons in the global network
Definition: snn_datastructures.h:607
RuntimeData_s::synSpikeTime
int * synSpikeTime
stores the last spike time of a synapse
Definition: snn_datastructures.h:520
GroupConfigRT_s::MaxDelay
int8_t MaxDelay
published by GroupConfigMD
Definition: snn_datastructures.h:401
NeuralDynamicsConfig_s::lif_maxRmem
double lif_maxRmem
Definition: snn_datastructures.h:217
Grid3D
A struct to arrange neurons on a 3D grid (a primitive cubic Bravais lattice with cubic side length 1)
Definition: carlsim_datastructures.h:489
NeuralDynamicsConfig_s::Izh_a
float Izh_a
Definition: snn_datastructures.h:204
GroupConfigMD_s::gStartN
int gStartN
Definition: snn_datastructures.h:337
RuntimeData_s::preSynapticIds
SynInfo * preSynapticIds
Definition: snn_datastructures.h:539
NetworkConfigRT_s::numNAssigned
int numNAssigned
number of total neurons assigned to the local network
Definition: snn_datastructures.h:641
GlobalNetworkConfig_s::numNExcReg
int numNExcReg
number of regular excitatory neurons in the global network
Definition: snn_datastructures.h:602
NeuromodulatorConfig
struct NeuromodulatorConfig_s NeuromodulatorConfig
GroupConfigRT_s::gStartN
int gStartN
published by GroupConfigMD
Definition: snn_datastructures.h:376
NetworkConfigRT_s::maxNumPreSynN
int maxNumPreSynN
the maximum number of pre-syanptic connections among neurons
Definition: snn_datastructures.h:650
NetworkConfigRT_s::sim_with_homeostasis
bool sim_with_homeostasis
Definition: snn_datastructures.h:666
RuntimeData_s::gGABAb
float * gGABAb
conductance of gGABAb
Definition: snn_datastructures.h:499
compConnectionInfo_s
Definition: snn_datastructures.h:166
GroupConfigMD_s::maxOutgoingDelay
int maxOutgoingDelay
Definition: snn_datastructures.h:347
EXECUTABLE_SNN
@ EXECUTABLE_SNN
Definition: snn_datastructures.h:81
ConnectConfig_s
The configuration of a connection.
Definition: snn_datastructures.h:119
RuntimeData_s::Izh_a
float * Izh_a
Definition: snn_datastructures.h:472
NetworkConfigRT_s::sim_in_testing
bool sim_in_testing
Definition: snn_datastructures.h:668
RuntimeData_s::lif_tau_m
int * lif_tau_m
parameters for a LIF spiking group
Definition: snn_datastructures.h:480
GroupConfigRT_s::withParamModel_9
bool withParamModel_9
False = 4 parameter model; 1 = 9 parameter model.
Definition: snn_datastructures.h:439
GroupConfigRT_s::STP_tau_x_inv
float STP_tau_x_inv
published by GroupConfig
Definition: snn_datastructures.h:406
RuntimeData_s::avgFiring
float * avgFiring
Definition: snn_datastructures.h:566
GroupConfigRT_s::ALPHA_MINUS_INB
float ALPHA_MINUS_INB
published by GroupConfig
Definition: snn_datastructures.h:417
NeuralDynamicsConfig_s::Izh_vpeak_sd
float Izh_vpeak_sd
Definition: snn_datastructures.h:203
NetworkConfigRT_s::numGroups
int numGroups
number of local groups in this local network
Definition: snn_datastructures.h:655
GroupConfig_s::isSpikeGenerator
bool isSpikeGenerator
Definition: snn_datastructures.h:310
RuntimeData_s::grpDA
float * grpDA
Definition: snn_datastructures.h:571
GroupConfigMD_s::neuronMonitorId
int neuronMonitorId
Definition: snn_datastructures.h:351
ConnectConfig_s::connProbability
float connProbability
connection probability
Definition: snn_datastructures.h:134
RuntimeData_s::extFiringTableD1
int ** extFiringTableD1
external firing table, only used on GPU
Definition: snn_datastructures.h:548
GlobalNetworkConfig_s::numN
int numN
number of neurons in the global network
Definition: snn_datastructures.h:601
STDPConfig_s::TAU_MINUS_INV_INB
float TAU_MINUS_INV_INB
Definition: snn_datastructures.h:240
CONFIG_SNN
@ CONFIG_SNN
Definition: snn_datastructures.h:78
GroupConfigMD_s::lEndN
int lEndN
Definition: snn_datastructures.h:342
SynInfo_s::nId
int nId
neuron id
Definition: snn_datastructures.h:91
GroupConfigRT_s::WithESTDPcurve
STDPCurve WithESTDPcurve
published by GroupConfig
Definition: snn_datastructures.h:395
GroupConfigRT_s::lEndN
int lEndN
published by GroupConfigMD
Definition: snn_datastructures.h:380
NeuromodulatorConfig_s::decayACh
float decayACh
decay rate for Acetylcholine
Definition: snn_datastructures.h:289
NetworkConfigRT_s::numNReg
int numNReg
number of regular (spking) neurons
Definition: snn_datastructures.h:633
NeuromodulatorConfig_s::decayDP
float decayDP
decay rate for Dopamine
Definition: snn_datastructures.h:287
compConnectionInfo_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:167
compConnectionInfo_s::connId
short int connId
Definition: snn_datastructures.h:168
ConnectConfig_s::type
conType_t type
Definition: snn_datastructures.h:133
RuntimeData_s::extFiringTableEndIdxD2
int * extFiringTableEndIdxD2
Definition: snn_datastructures.h:552
RuntimeData_s::memType
MemType memType
Definition: snn_datastructures.h:505
GlobalNetworkConfig_s::numNInhReg
int numNInhReg
number of regular inhibitory neurons in the global network
Definition: snn_datastructures.h:603
RuntimeData_s::grpIds
short int * grpIds
Definition: snn_datastructures.h:530
GroupConfigRT_s::KAPPA
float KAPPA
published by GroupConfig
Definition: snn_datastructures.h:412
NeuralDynamicsConfig_s::NeuralDynamicsConfig_s
NeuralDynamicsConfig_s()
Definition: snn_datastructures.h:186
ConnectConfig
struct ConnectConfig_s ConnectConfig
The configuration of a connection.
ConnectConfig_s::maxWt
float maxWt
Definition: snn_datastructures.h:124
GroupConfigRT_s::STP_A
float STP_A
published by GroupConfig
Definition: snn_datastructures.h:403
GroupConfigRT_s::ALPHA_PLUS_EXC
float ALPHA_PLUS_EXC
published by GroupConfig
Definition: snn_datastructures.h:409
NetworkConfigRT_s::sim_with_fixedwts
bool sim_with_fixedwts
Definition: snn_datastructures.h:661
GlobalNetworkConfig_s::numNReg
int numNReg
number of regular (spking) neurons in the global network
Definition: snn_datastructures.h:604
RuntimeData_s::stpu
float * stpu
Definition: snn_datastructures.h:512
GroupConfigRT_s::LtoGOffset
int LtoGOffset
published by GroupConfigMD
Definition: snn_datastructures.h:381
ConnectionInfo_s::srcGLoffset
int srcGLoffset
Definition: snn_datastructures.h:99
SynInfo_s::gsId
int gsId
group id and synapse id
Definition: snn_datastructures.h:90
ConnectConfigRT_s::mulSynFast
float * mulSynFast
factor to be applied to either gAMPA or gGABAa
Definition: snn_datastructures.h:162
GroupConfigMD_s::LtoGOffset
int LtoGOffset
Definition: snn_datastructures.h:343
NeuralDynamicsConfig_s::lif_tau_m
int lif_tau_m
parameters for a LIF spiking group
Definition: snn_datastructures.h:212
RuntimeData_s::spikeCountExtRxD1Sec
unsigned int spikeCountExtRxD1Sec
Definition: snn_datastructures.h:454
compConnectionInfo_s::grpDest
int grpDest
Definition: snn_datastructures.h:167
NeuralDynamicsConfig_s::lif_vReset
float lif_vReset
Definition: snn_datastructures.h:215
RuntimeData_s::lif_bias
float * lif_bias
Definition: snn_datastructures.h:486
RuntimeData_s::grpNE
float * grpNE
Definition: snn_datastructures.h:574
STDPConfig_s::ALPHA_PLUS_EXC
float ALPHA_PLUS_EXC
Definition: snn_datastructures.h:234
ConnectConfig_s::numberOfConnections
int numberOfConnections
Definition: snn_datastructures.h:136
GroupConfig_s
The configuration of a group.
Definition: snn_datastructures.h:301
NeuralDynamicsConfig_s::Izh_c_sd
float Izh_c_sd
Definition: snn_datastructures.h:209
RuntimeData_s::nSpikeCnt
int * nSpikeCnt
homeostatic plasticity variables
Definition: snn_datastructures.h:561
RuntimeData_s::extFiringTableD2
int ** extFiringTableD2
external firing table, only used on GPU
Definition: snn_datastructures.h:549
STPConfig
struct STPConfig_s STPConfig
homeostatic plasticity configurations
NetworkConfigRT_s::numGroupsAssigned
int numGroupsAssigned
number of groups assigned to this local network
Definition: snn_datastructures.h:656
CONN_FULL_NO_DIRECT
@ CONN_FULL_NO_DIRECT
Definition: snn_datastructures.h:74
ConnectionInfo_s::maxWt
float maxWt
Definition: snn_datastructures.h:101
DelayInfo_s::delay_length
short delay_length
Definition: snn_datastructures.h:86
RuntimeData_s::gNMDA_d
float * gNMDA_d
Definition: snn_datastructures.h:496
NeuralDynamicsConfig_s::Izh_vr
float Izh_vr
Definition: snn_datastructures.h:198
GroupConfigRT_s::TAU_PLUS_INV_INB
float TAU_PLUS_INV_INB
published by GroupConfig
Definition: snn_datastructures.h:414
NeuromodulatorConfig_s::baseACh
float baseACh
baseline concentration of Acetylcholine
Definition: snn_datastructures.h:285
ConnectConfigRT
struct ConnectConfigRT_s ConnectConfigRT
The runtime configuration of a connection.
GroupConfig_s::stpConfig
STPConfig stpConfig
Definition: snn_datastructures.h:323
GroupConfigRT_s::FixedInputWts
bool FixedInputWts
published by GroupConfigMD
Definition: snn_datastructures.h:398
UNKNOWN_CURVE
@ UNKNOWN_CURVE
unknown curve type
Definition: carlsim_datastructures.h:181
GroupConfigRT_s::decayNE
float decayNE
decay rate for Noradrenaline, published by GroupConfig
Definition: snn_datastructures.h:437
GroupConfig_s::isLIF
bool isLIF
Definition: snn_datastructures.h:312
RuntimeData_s::grp5HTBuffer
float * grp5HTBuffer
Definition: snn_datastructures.h:578
NetworkConfigRT_s::numNExcPois
int numNExcPois
number of excitatory poisson neurons
Definition: snn_datastructures.h:635
NetworkConfigRT_s::sim_with_NMDA_rise
bool sim_with_NMDA_rise
a flag to inform whether to compute NMDA rise time
Definition: snn_datastructures.h:679
GroupConfig_s::withCompartments
bool withCompartments
Definition: snn_datastructures.h:313
RoutingTableEntry_s
runtime spike routing table entry
Definition: snn_datastructures.h:701
RuntimeData_s::grp5HT
float * grp5HT
Definition: snn_datastructures.h:572
GlobalNetworkConfig_s::simNumStepsPerMs
int simNumStepsPerMs
number of steps per 1 millisecond
Definition: snn_datastructures.h:615
STDPConfig_s::TAU_PLUS_INV_INB
float TAU_PLUS_INV_INB
Definition: snn_datastructures.h:239
RuntimeData_s::firingTableD2
int * firingTableD2
Definition: snn_datastructures.h:546
RuntimeData_s::randNum
float * randNum
firing random number. max value is 10,000
Definition: snn_datastructures.h:555
RuntimeData_s::gGABAb_r
float * gGABAb_r
Definition: snn_datastructures.h:500
ConnectionInfo_s
Definition: snn_datastructures.h:94
GroupConfigMD_s
Definition: snn_datastructures.h:328
RuntimeData_s::spikeCountLastSecLeftD2
unsigned int spikeCountLastSecLeftD2
the nubmer of spike left in the last second, used in CPU_MODE currently
Definition: snn_datastructures.h:460
GroupConfigRT_s::ALPHA_MINUS_EXC
float ALPHA_MINUS_EXC
published by GroupConfig
Definition: snn_datastructures.h:410
GroupConfigRT_s::STP_tau_u_inv
float STP_tau_u_inv
published by GroupConfig
Definition: snn_datastructures.h:405
GroupConfigMD_s::refractPeriod
float refractPeriod
Definition: snn_datastructures.h:353
ThreadStruct_s::lGrpId
int lGrpId
Definition: snn_datastructures.h:725
GroupConfigRT_s::compCouplingDown
float compCouplingDown
Definition: snn_datastructures.h:444
NetworkConfigRT_s::simNumStepsPerMs
int simNumStepsPerMs
number of steps per 1 millisecond
Definition: snn_datastructures.h:691
NetworkConfigRT_s::numNInhPois
int numNInhPois
number of inhibitory poisson neurons
Definition: snn_datastructures.h:636
GroupConfigRT_s::TAU_MINUS_INV_EXC
float TAU_MINUS_INV_EXC
published by GroupConfig
Definition: snn_datastructures.h:408
STPConfig_s::STP_A
float STP_A
Definition: snn_datastructures.h:255
NetworkConfigRT_s::numN
int numN
number of neurons in th local network
Definition: snn_datastructures.h:630
GlobalNetworkConfig_s::timeStep
float timeStep
inverse of simNumStepsPerMs
Definition: snn_datastructures.h:616
GroupConfigRT_s::STP_U
float STP_U
published by GroupConfig
Definition: snn_datastructures.h:404
RuntimeData_s::grpACh
float * grpACh
Definition: snn_datastructures.h:573
ConnectConfigMD_s::gConnId
int gConnId
Definition: snn_datastructures.h:147
STDPConfig_s::WithISTDP
bool WithISTDP
Definition: snn_datastructures.h:227
GlobalNetworkConfig_s::numComp
int numComp
number of compartmental neurons
Definition: snn_datastructures.h:605
ConnectConfigMD_s::numberOfConnections
int numberOfConnections
Definition: snn_datastructures.h:150
GroupConfig_s::grpName
std::string grpName
Definition: snn_datastructures.h:306
GroupConfigRT_s::BETA_LTP
float BETA_LTP
published by GroupConfig
Definition: snn_datastructures.h:418
ThreadStruct
struct ThreadStruct_s ThreadStruct
CPU multithreading subroutine (that takes single argument) struct argument.
RadiusRF
A struct to specify the receptive field (RF) radius in 3 dimensions.
Definition: carlsim_datastructures.h:363
GroupConfigRT_s::WithSTP
bool WithSTP
published by GroupConfig
Definition: snn_datastructures.h:389
NetworkConfigRT_s::timeStep
float timeStep
inverse of simNumStepsPerMs
Definition: snn_datastructures.h:692
RuntimeData_s::spikeCountExtRxD2Sec
unsigned int spikeCountExtRxD2Sec
Definition: snn_datastructures.h:455
GroupConfigRT_s::homeostasisScale
float homeostasisScale
published by GroupConfig
Definition: snn_datastructures.h:427
GroupConfigRT_s::DELTA
float DELTA
published by GroupConfig
Definition: snn_datastructures.h:421
GroupConfigRT_s::avgTimeScale
float avgTimeScale
published by GroupConfig
Definition: snn_datastructures.h:424
GroupConfigRT_s::BETA_LTD
float BETA_LTD
published by GroupConfig
Definition: snn_datastructures.h:419
STDPConfig_s::ALPHA_MINUS_INB
float ALPHA_MINUS_INB
Definition: snn_datastructures.h:242
RuntimeData_s::lif_vReset
float * lif_vReset
Definition: snn_datastructures.h:484
ConnectConfig_s::connRadius
RadiusRF connRadius
Definition: snn_datastructures.h:127
ConnectConfig_s::conn
ConnectionGeneratorCore * conn
Definition: snn_datastructures.h:132
STDPType
STDPType
STDP flavors.
Definition: carlsim_datastructures.h:160
GroupConfigRT_s::WithISTDP
bool WithISTDP
published by GroupConfig
Definition: snn_datastructures.h:392
RuntimeData_s::cumulativePre
unsigned int * cumulativePre
Definition: snn_datastructures.h:527
GroupConfigMD_s::sliceUpdateTime
int sliceUpdateTime
Definition: snn_datastructures.h:355
HomeostasisConfig_s::avgTimeScaleInv
float avgTimeScaleInv
Definition: snn_datastructures.h:272
RuntimeData_s::gGABAb_d
float * gGABAb_d
Definition: snn_datastructures.h:501
RuntimeData_s::allocated
bool allocated
true if all data has been allocated
Definition: snn_datastructures.h:506
CONN_ONE_TO_ONE
@ CONN_ONE_TO_ONE
Definition: snn_datastructures.h:74
SNNState
SNNState
the state of spiking neural network, used with in kernel.
Definition: snn_datastructures.h:77