CARLsim  5.0.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 * CARLsim5: HK, JX, KC
45 *
46 * CARLsim available from http://socsci.uci.edu/~jkrichma/CARLsim/
47 * Ver 12/31/2016
48 */
49 
50 #ifndef _SNN_DATASTRUCTURES_H_
51 #define _SNN_DATASTRUCTURES_H_
52 
53 // include CUDA version-dependent macros and include files
54 #ifndef __NO_CUDA__
55  #include <cuda_version_control.h>
56  #include <curand.h>
57 #endif
58 
69 enum MemType {
72 };
73 
76 
78 enum SNNState {
83 };
84 
85 typedef struct DelayInfo_s {
87  short delay_length;
89 
90 typedef struct SynInfo_s {
91  int gsId;
92  int nId;
94 
95 typedef struct ConnectionInfo_s {
96  int grpSrc;
97  int grpDest;
98  int nSrc;
99  int nDest;
101  float initWt;
102  float maxWt;
103  int preSynId;
104  short int connId;
105  uint8_t delay;
106 
107  bool operator== (const struct ConnectionInfo_s& conn) {
108  return (nSrc + srcGLoffset == conn.nSrc);
109  }
111 
120 typedef struct ConnectConfig_s {
121  int grpSrc;
122  int grpDest;
123  uint8_t maxDelay;
124  uint8_t minDelay;
125  float maxWt;
126  float initWt;
127  float minWt;
129  float mulSynFast;
130  float mulSynSlow;
131  int connectionMonitorId; // ToDo: move to ConnectConfigMD
132  uint32_t connProp;
136  short int connId;
137  int numberOfConnections; // ToDo: move to ConnectConfigMD
139 
145 typedef struct ConnectConfigMD_s {
147  {}
148  int gConnId;
149  int lConnId;
153 
162 typedef struct ConnectConfigRT_s {
163  float* mulSynFast;
164  float* mulSynSlow;
166 
167 typedef struct compConnectionInfo_s {
169  short int connId;
171 
180 typedef struct compConnectConfig_s {
182  short int connId;
184 
186 typedef struct NeuralDynamicsConfig_s {
187  NeuralDynamicsConfig_s() : Izh_a(-1.0f), Izh_a_sd(-1.0f), Izh_b(-1.0f), Izh_b_sd(-1.0f),
188  Izh_c(-1.0f), Izh_c_sd(-1.0f), Izh_d(-1.0f), Izh_d_sd(-1.0f),
189  Izh_C(-1.0f), Izh_C_sd(-1.0f), Izh_k(-1.0f), Izh_k_sd(-1.0f),
190  Izh_vr(-1.0f), Izh_vr_sd(1.0f), Izh_vt(1.0f), Izh_vt_sd(-1.0f),
191  Izh_vpeak(-1.0f), Izh_vpeak_sd(-1.0f), lif_tau_m(-1),
192  lif_tau_ref(-1), lif_vTh(1.0f), lif_vReset(0.0f), lif_minRmem(1.0f),
193  lif_maxRmem(1.0f)
194  {}
195  float Izh_C;
196  float Izh_C_sd;
197  float Izh_k;
198  float Izh_k_sd;
199  float Izh_vr;
200  float Izh_vr_sd;
201  float Izh_vt;
202  float Izh_vt_sd;
203  float Izh_vpeak;
205  float Izh_a;
206  float Izh_a_sd;
207  float Izh_b;
208  float Izh_b_sd;
209  float Izh_c;
210  float Izh_c_sd;
211  float Izh_d;
212  float Izh_d_sd;
213  int lif_tau_m;
215  float lif_vTh;
216  float lif_vReset;
217  double lif_minRmem;
218  double lif_maxRmem;
220 
222 typedef struct STDPConfig_s {
223  STDPConfig_s() : WithSTDP(false), WithESTDP(false), WithISTDP(false),
225  {}
226  bool WithSTDP;
227  bool WithESTDP;
228  bool WithISTDP;
237  float GAMMA;
238  float KAPPA;
239  float OMEGA;
244  float BETA_LTP;
245  float BETA_LTD;
246  float LAMBDA;
247  float DELTA;
248 } STDPConfig;
249 
251 typedef struct STPConfig_s {
252  STPConfig_s() : WithSTP(false), STP_A(-1.0f), STP_U(-1.0f), STP_tau_u_inv(-1.0f), STP_tau_x_inv(-1.0f)
253  {}
254 
255  bool WithSTP;
256  float STP_A; // scaling factor
257  float STP_U;
258  float STP_tau_u_inv; // facilitatory
259  float STP_tau_x_inv; // depressive
260 } STPConfig;
261 
263 typedef struct HomeostasisConfig_s {
265  avgTimeScale(-1.0f), avgTimeScaleInv(-1.0f), avgTimeScaleDecay(-1.0f),
266  homeostasisScale(-1.0f)
267  {}
268 
270  float baseFiring;
277 
279 typedef struct NeuromodulatorConfig_s {
280  NeuromodulatorConfig_s() : baseDP(1.0f), base5HT(1.0f), baseACh(1.0f), baseNE(1.0f),
281  decayDP(0.99f), decay5HT(0.99f), decayACh(0.99f), decayNE(0.99f)
282  {}
283 
284  float baseDP;
285  float base5HT;
286  float baseACh;
287  float baseNE;
288  float decayDP;
289  float decay5HT;
290  float decayACh;
291  float decayNE;
293 
302 typedef struct GroupConfig_s {
304  {}
305 
306  // properties of neural group size and location
307  std::string grpName;
309  unsigned int type;
310  int numN;
313  bool isLIF;
315 
318 
320 
321  Grid3D grid; //<! location information of neurons
328 
329 typedef struct GroupConfigMD_s {
330  GroupConfigMD_s() : gGrpId(-1), gStartN(-1), gEndN(-1),
331  lGrpId(-1), lStartN(-1), lEndN(-1),
335  {}
336 
337  int gGrpId;
338  int gStartN;
339  int gEndN;
340  int netId;
341  int lGrpId;
342  int lStartN;
343  int lEndN;
357  int homeoId;
358  int Noffset;
360 
361  bool operator== (const struct GroupConfigMD_s& grp) {
362  return (gGrpId == grp.gGrpId);
363  }
365 
374 typedef struct GroupConfigRT_s {
375  int netId;
376  int gGrpId;
377  int gStartN;
378  int gEndN;
379  int lGrpId;
380  int lStartN;
381  int lEndN;
384  unsigned int Type;
385  int numN;
390  bool WithSTP;
391  bool WithSTDP;
392  bool WithESTDP;
393  bool WithISTDP;
401  int Noffset;
402  int8_t MaxDelay;
403 
404  float STP_A;
405  float STP_U;
412  float GAMMA;
413  float KAPPA;
414  float OMEGA;
419  float BETA_LTP;
420  float BETA_LTD;
421  float LAMBDA;
422  float DELTA;
423 
425  float avgTimeScale;
429 
430  // parameters of neuromodulator
431  float baseDP;
432  float base5HT;
433  float baseACh;
434  float baseNE;
435  float decayDP;
436  float decay5HT;
437  float decayACh;
438  float decayNE;
439 
441  bool isLIF;
442 
447  float compCoupling[4];
450 
451 typedef struct RuntimeData_s {
452  unsigned int spikeCountSec;
453  unsigned int spikeCountD1Sec;
454  unsigned int spikeCountD2Sec;
455  unsigned int spikeCountExtRxD1Sec;
456  unsigned int spikeCountExtRxD2Sec;
457  unsigned int spikeCount;
458  unsigned int spikeCountD1;
459  unsigned int spikeCountD2;
460  unsigned int nPoissonSpikes;
461  unsigned int spikeCountLastSecLeftD2;
462  unsigned int spikeCountExtRxD2;
463  unsigned int spikeCountExtRxD1;
464 
465  float* voltage;
466  float* nextVoltage;
467  float* recovery;
468  float* Izh_C;
469  float* Izh_k;
470  float* Izh_vr;
471  float* Izh_vt;
472  float* Izh_vpeak;
473  float* Izh_a;
474  float* Izh_b;
475  float* Izh_c;
476  float* Izh_d;
477  float* current;
478  float* totalCurrent;
479  float* extCurrent;
480 
481  int* lif_tau_m;
483  int* lif_tau_ref_c; // current refractory of the neuron
484  float* lif_vTh;
485  float* lif_vReset;
486  float* lif_gain;
487  float* lif_bias;
488 
492  bool* curSpike;
493 
494  // conductances and stp values
495  float* gNMDA;
496  float* gNMDA_r;
497  float* gNMDA_d;
498  float* gAMPA;
499  float* gGABAa;
500  float* gGABAb;
501  float* gGABAb_r;
502  float* gGABAb_d;
503 
504  int* I_set;
505 
507  bool allocated;
508 
509  /* Tsodyks & Markram (1998), where the short-term dynamics of synapses is characterized by three parameters:
510  U (which roughly models the release probability of a synaptic vesicle for the first spike in a train of spikes),
511  maxDelay_ (time constant for recovery from depression), and F (time constant for recovery from facilitation). */
512  float* stpx;
513  float* stpu;
514 
515  unsigned short* Npre;
516  unsigned short* Npre_plastic;
518  unsigned short* Npost;
519 
522 
523  float* wtChange;
524  float* wt;
525  float* maxSynWt;
526 
527  unsigned int* cumulativePost;
528  unsigned int* cumulativePre;
529 
530  short int* connIdsPreIdx;
531  short int* grpIds;
532 
541 
543  unsigned int* timeTableD1;
544  unsigned int* timeTableD2;
545 
548 
551 
554 
556  float* randNum;
557 #ifndef __NO_CUDA__
559  int3* groupIdInfo;
560 #endif
561 
562  int* nSpikeCnt;
563 
565  float* baseFiringInv;
566  float* baseFiring;
567  float* avgFiring;
568 
572  float* grpDA;
573  float* grp5HT;
574  float* grpACh;
575  float* grpNE;
576 
577  // group monitor assistive buffers
578  float* grpDABuffer;
579  float* grp5HTBuffer;
580  float* grpAChBuffer;
581  float* grpNEBuffer;
582 
583  // neuron monitor assistive buffers
584  float* nVBuffer;
585  float* nUBuffer;
586  float* nIBuffer;
587 
588  unsigned int* spikeGenBits;
589 #ifndef __NO_CUDA__
590  curandGenerator_t gpuRandGen;
591 #endif
593 
594 typedef struct GlobalNetworkConfig_s {
599  simNumStepsPerMs(2), timeStep(0.5)
600  {}
601 
602  int numN;
605  int numNReg;
606  int numComp;
609  int numNPois;
610  int numSynNet;
611  int maxDelay;
614 
617  float timeStep;
619 
621 
626 typedef struct NetworkConfigRT_s {
627  // global configuration for maximum axonal delay
628  int maxDelay;
629 
630  // configurations for boundries of neural types
631  int numN;
634  int numNReg;
635  int numComp;
638  int numNPois;
643 
644  // configurations for runtime data sizes
645  unsigned int I_setLength;
646  size_t I_setPitch;
647  size_t STP_Pitch;
652  unsigned int maxSpikesD2;
653  unsigned int maxSpikesD1;
654 
655  // configurations for assigned groups and connections
656  int numGroups;
659  //int numAssignedConnections; //!< number of connections assigned to this local network
660 
661  // configurations for execution features
670 
671  // please note that spike monitor and connection monitor don't need this flag because no extra buffer is required
672  // for neuron monitor, the kernel allocates extra buffers to store v, u, i values of each monitored neuron
673  bool sim_with_nm; // simulation with neuron monitor
674 
675  // stdp, da-stdp configurations
678 
679  // conductance configurations
682  double dAMPA;
683  double rNMDA;
684  double dNMDA;
685  double sNMDA;
686  double dGABAa;
687  double rGABAb;
688  double dGABAb;
689  double sGABAb;
690 
693  float timeStep;
695 
696 
698 
702 typedef struct RoutingTableEntry_s {
704 
705  RoutingTableEntry_s(int srcNetId_, int destNetId_) : srcNetId(srcNetId_), destNetId(destNetId_) {}
706 
707  int srcNetId;
709 
710  bool operator== (const struct RoutingTableEntry_s& rte) const {
711  return (srcNetId == rte.srcNetId && destNetId == rte.destNetId);
712  }
714 
715 
717 
723 typedef struct ThreadStruct_s {
724  void* snn_pointer;
725  int netId;
726  int lGrpId;
727  int startIdx;
728  int endIdx;
731 
732 #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:559
NetworkConfigRT_s::wtChangeDecay
float wtChangeDecay
the wtChange decay
Definition: snn_datastructures.h:677
GroupConfig_s::compCouplingDown
float compCouplingDown
Definition: snn_datastructures.h:317
ThreadStruct_s::endIdx
int endIdx
Definition: snn_datastructures.h:728
GroupConfig
struct GroupConfig_s GroupConfig
The configuration of a group.
RuntimeData_s::gNMDA
float * gNMDA
conductance of gNMDA
Definition: snn_datastructures.h:495
RuntimeData_s::Izh_d
float * Izh_d
Definition: snn_datastructures.h:476
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:558
ConnectionInfo_s::delay
uint8_t delay
Definition: snn_datastructures.h:105
GroupConfig_s::neuromodulatorConfig
NeuromodulatorConfig neuromodulatorConfig
Definition: snn_datastructures.h:326
GroupConfigRT_s::WithISTDPcurve
STDPCurve WithISTDPcurve
published by GroupConfig
Definition: snn_datastructures.h:397
STPConfig_s::STP_U
float STP_U
Definition: snn_datastructures.h:257
NetworkConfigRT_s::stdpScaleFactor
float stdpScaleFactor
Definition: snn_datastructures.h:676
RuntimeData_s::totalCurrent
float * totalCurrent
Definition: snn_datastructures.h:478
GroupConfig_s::homeoConfig
HomeostasisConfig homeoConfig
Definition: snn_datastructures.h:325
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:462
ConnectConfig_s::mulSynFast
float mulSynFast
factor to be applied to either gAMPA or gGABAa
Definition: snn_datastructures.h:129
NetworkConfigRT_s::numNExternal
int numNExternal
number of external neurons in the view of the local network
Definition: snn_datastructures.h:641
STDPConfig_s::ALPHA_PLUS_INB
float ALPHA_PLUS_INB
Definition: snn_datastructures.h:242
RoutingTableEntry_s::RoutingTableEntry_s
RoutingTableEntry_s(int srcNetId_, int destNetId_)
Definition: snn_datastructures.h:705
RuntimeData_s::grpNEBuffer
float * grpNEBuffer
Definition: snn_datastructures.h:581
STDPConfig_s::WithSTDP
bool WithSTDP
Definition: snn_datastructures.h:226
SynInfo_s
Definition: snn_datastructures.h:90
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:652
NeuromodulatorConfig_s::NeuromodulatorConfig_s
NeuromodulatorConfig_s()
Definition: snn_datastructures.h:280
integrationMethod_t
integrationMethod_t
Integration methods.
Definition: carlsim_datastructures.h:133
NetworkConfigRT_s::sim_with_compartments
bool sim_with_compartments
Definition: snn_datastructures.h:664
RuntimeData_s::lif_tau_ref
int * lif_tau_ref
Definition: snn_datastructures.h:482
GroupConfig_s::grid
Grid3D grid
Definition: snn_datastructures.h:321
GroupConfigRT_s
The runtime configuration of a group.
Definition: snn_datastructures.h:374
RuntimeData_s::gpuRandGen
curandGenerator_t gpuRandGen
Definition: snn_datastructures.h:590
NetworkConfigRT_s::numNInhReg
int numNInhReg
number of regular inhibitory neurons
Definition: snn_datastructures.h:633
ConnectionInfo_s::operator==
bool operator==(const struct ConnectionInfo_s &conn)
Definition: snn_datastructures.h:107
GroupConfigMD_s::GroupConfigMD_s
GroupConfigMD_s()
Definition: snn_datastructures.h:330
NeuralDynamicsConfig_s::Izh_vpeak
float Izh_vpeak
Definition: snn_datastructures.h:203
GroupConfigRT_s::decayDP
float decayDP
decay rate for Dopaamine, published by GroupConfig
Definition: snn_datastructures.h:435
ConnectConfig_s::minWt
float minWt
Definition: snn_datastructures.h:127
STDPConfig_s::GAMMA
float GAMMA
Definition: snn_datastructures.h:237
DelayInfo_s
Definition: snn_datastructures.h:85
RoutingTableEntry_s::destNetId
int destNetId
Definition: snn_datastructures.h:708
RuntimeData_s::poissonFireRate
float * poissonFireRate
Definition: snn_datastructures.h:555
CONN_FULL
@ CONN_FULL
Definition: snn_datastructures.h:75
RuntimeData_s::lif_tau_ref_c
int * lif_tau_ref_c
Definition: snn_datastructures.h:483
STDPConfig_s::BETA_LTD
float BETA_LTD
Definition: snn_datastructures.h:245
RuntimeData_s::timeTableD2
unsigned int * timeTableD2
firing table, only used in CPU_MODE currently
Definition: snn_datastructures.h:544
NetworkConfigRT_s::numNPois
int numNPois
number of poisson neurons
Definition: snn_datastructures.h:638
NetworkConfigRT_s::dAMPA
double dAMPA
multiplication factor for decay time of AMPA conductance (gAMPA[i] *= dAMPA)
Definition: snn_datastructures.h:682
NetworkConfigRT_s::rNMDA
double rNMDA
multiplication factor for rise time of NMDA
Definition: snn_datastructures.h:683
GroupConfigRT_s::LAMBDA
float LAMBDA
published by GroupConfig
Definition: snn_datastructures.h:421
NetworkConfigRT_s::sGABAb
double sGABAb
scaling factor for GABAb amplitude
Definition: snn_datastructures.h:689
RuntimeData_s::wtChange
float * wtChange
stores the weight change of a synaptic connection
Definition: snn_datastructures.h:523
STDPConfig_s::DELTA
float DELTA
Definition: snn_datastructures.h:247
STPConfig_s::STP_tau_u_inv
float STP_tau_u_inv
Definition: snn_datastructures.h:258
RuntimeData_s::Izh_vr
float * Izh_vr
Definition: snn_datastructures.h:470
RuntimeData
struct RuntimeData_s RuntimeData
HomeostasisConfig_s::WithHomeostasis
bool WithHomeostasis
Definition: snn_datastructures.h:269
GroupConfigRT_s::WithESTDP
bool WithESTDP
published by GroupConfig
Definition: snn_datastructures.h:392
GlobalNetworkConfig_s::numN2msDelay
int numN2msDelay
number of neurons with maximum out going axonal delay >= 2 ms
Definition: snn_datastructures.h:613
GroupConfigRT_s::WithESTDPtype
STDPType WithESTDPtype
published by GroupConfig
Definition: snn_datastructures.h:394
RuntimeData_s
Definition: snn_datastructures.h:451
NetworkConfigRT_s::dNMDA
double dNMDA
multiplication factor for decay time of NMDA
Definition: snn_datastructures.h:684
ConnectConfig_s::initWt
float initWt
Definition: snn_datastructures.h:126
STDPConfig_s::WithESTDP
bool WithESTDP
Definition: snn_datastructures.h:227
compConnectConfig_s::grpDest
int grpDest
Definition: snn_datastructures.h:181
NetworkConfigRT_s::numNExcReg
int numNExcReg
number of regular excitatory neurons
Definition: snn_datastructures.h:632
RuntimeData_s::nextVoltage
float * nextVoltage
membrane potential buffer (next/future time step) for each regular neuron
Definition: snn_datastructures.h:466
NetworkConfigRT_s::numNSpikeGen
int numNSpikeGen
number of poisson neurons generating spikes based on callback functions
Definition: snn_datastructures.h:639
NeuralDynamicsConfig_s::Izh_k_sd
float Izh_k_sd
Definition: snn_datastructures.h:198
GroupConfig_s::compCouplingUp
float compCouplingUp
Definition: snn_datastructures.h:316
RuntimeData_s::baseFiring
float * baseFiring
Definition: snn_datastructures.h:566
GroupConfigRT_s::ALPHA_PLUS_INB
float ALPHA_PLUS_INB
published by GroupConfig
Definition: snn_datastructures.h:417
COMPILED_SNN
@ COMPILED_SNN
Definition: snn_datastructures.h:80
ConnectConfig_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:121
GlobalNetworkConfig_s::GlobalNetworkConfig_s
GlobalNetworkConfig_s()
Definition: snn_datastructures.h:595
NetworkConfigRT_s::numComp
int numComp
number of compartmental neurons
Definition: snn_datastructures.h:635
CONN_UNKNOWN
@ CONN_UNKNOWN
Definition: snn_datastructures.h:75
NeuromodulatorConfig_s
Definition: snn_datastructures.h:279
NeuralDynamicsConfig_s::Izh_k
float Izh_k
Definition: snn_datastructures.h:197
NetworkConfigRT_s::dGABAa
double dGABAa
multiplication factor for decay time of GABAa
Definition: snn_datastructures.h:686
RuntimeData_s::stpx
float * stpx
Definition: snn_datastructures.h:512
HomeostasisConfig_s::baseFiring
float baseFiring
Definition: snn_datastructures.h:270
NetworkConfigRT_s::rGABAb
double rGABAb
multiplication factor for rise time of GABAb
Definition: snn_datastructures.h:687
RuntimeData_s::Izh_vpeak
float * Izh_vpeak
Definition: snn_datastructures.h:472
NetworkConfigRT_s::I_setLength
unsigned int I_setLength
used for GPU only
Definition: snn_datastructures.h:645
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:681
SpikeGeneratorCore
used for relaying callback to SpikeGenerator
Definition: callback_core.h:70
GroupConfigMD_s::groupMonitorId
int groupMonitorId
Definition: snn_datastructures.h:353
GroupConfigRT_s::TAU_PLUS_INV_EXC
float TAU_PLUS_INV_EXC
published by GroupConfig
Definition: snn_datastructures.h:408
RuntimeData_s::baseFiringInv
float * baseFiringInv
only used on GPU
Definition: snn_datastructures.h:565
GPU_MEM
@ GPU_MEM
runtime data is allocated on GPU memory
Definition: snn_datastructures.h:71
HomeostasisConfig_s::avgTimeScaleDecay
float avgTimeScaleDecay
Definition: snn_datastructures.h:274
NeuralDynamicsConfig_s
Definition: snn_datastructures.h:186
RoutingTableEntry_s::operator==
bool operator==(const struct RoutingTableEntry_s &rte) const
Definition: snn_datastructures.h:710
NeuralDynamicsConfig_s::Izh_d_sd
float Izh_d_sd
Definition: snn_datastructures.h:212
STDPConfig
struct STDPConfig_s STDPConfig
short-term plasiticity configurations
RuntimeData_s::Izh_b
float * Izh_b
Definition: snn_datastructures.h:474
GroupConfigRT_s::numPostSynapses
int numPostSynapses
the total number of post-connections of a group, published by GroupConfigMD
Definition: snn_datastructures.h:386
RuntimeData_s::spikeCount
unsigned int spikeCount
the total number of spikes in a simulation, used in CPU_MODE currently
Definition: snn_datastructures.h:457
ConnectionInfo_s::grpDest
int grpDest
Definition: snn_datastructures.h:97
GroupConfigMD_s::numPostSynapses
int numPostSynapses
Definition: snn_datastructures.h:346
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:454
NetworkConfigRT_s::I_setPitch
size_t I_setPitch
used for GPU only
Definition: snn_datastructures.h:646
NeuralDynamicsConfig_s::Izh_vr_sd
float Izh_vr_sd
Definition: snn_datastructures.h:200
GroupConfig_s::type
unsigned int type
Definition: snn_datastructures.h:309
RuntimeData_s::gGABAa
float * gGABAa
conductance of gGABAa
Definition: snn_datastructures.h:499
NetworkConfigRT_s::sim_with_nm
bool sim_with_nm
Definition: snn_datastructures.h:673
GroupConfigRT_s::GtoLOffset
int GtoLOffset
published by GroupConfigMD
Definition: snn_datastructures.h:383
NetworkConfigRT_s::STP_Pitch
size_t STP_Pitch
numN rounded upwards to the nearest 256 boundary, used for GPU only
Definition: snn_datastructures.h:647
NetworkConfigRT_s
runtime network configuration
Definition: snn_datastructures.h:626
GroupConfigMD_s::GtoLOffset
int GtoLOffset
Definition: snn_datastructures.h:345
GroupConfigRT_s::baseDP
float baseDP
baseline concentration of Dopamine, published by GroupConfig
Definition: snn_datastructures.h:431
STDPConfig_s::WithESTDPcurve
STDPCurve WithESTDPcurve
Definition: snn_datastructures.h:231
GroupConfigMD_s::homeoId
int homeoId
Definition: snn_datastructures.h:357
STDPConfig_s
Definition: snn_datastructures.h:222
RuntimeData_s::current
float * current
Definition: snn_datastructures.h:477
ConnectConfigMD_s
the intermediate data of connect config
Definition: snn_datastructures.h:145
GroupConfigRT_s::withCompartments
bool withCompartments
Definition: snn_datastructures.h:443
RuntimeData_s::Npre
unsigned short * Npre
stores the number of input connections to a neuron
Definition: snn_datastructures.h:515
GroupConfigRT_s::WithISTDPtype
STDPType WithISTDPtype
published by GroupConfig
Definition: snn_datastructures.h:395
RuntimeData_s::grpAChBuffer
float * grpAChBuffer
Definition: snn_datastructures.h:580
SynInfo
struct SynInfo_s SynInfo
GlobalNetworkConfig_s::simIntegrationMethod
integrationMethod_t simIntegrationMethod
integration method (forward-Euler or Fourth-order Runge-Kutta)
Definition: snn_datastructures.h:615
NetworkConfigRT_s::sim_with_stdp
bool sim_with_stdp
Definition: snn_datastructures.h:665
NeuralDynamicsConfig_s::Izh_b
float Izh_b
Definition: snn_datastructures.h:207
ConnectionGeneratorCore
used for relaying callback to ConnectionGenerator
Definition: callback_core.h:90
RuntimeData_s::I_set
int * I_set
an array of bits indicating which synapse got a spike
Definition: snn_datastructures.h:504
ConnectionInfo_s::connId
short int connId
Definition: snn_datastructures.h:104
GroupConfigMD_s::netId
int netId
Definition: snn_datastructures.h:340
HomeostasisConfig_s
Definition: snn_datastructures.h:263
STDPConfig_s::LAMBDA
float LAMBDA
Definition: snn_datastructures.h:246
GroupConfigRT_s::netId
int netId
published by GroupConfigMD
Definition: snn_datastructures.h:375
GroupConfigRT_s::decayACh
float decayACh
decay rate for Acetylcholine, published by GroupConfig
Definition: snn_datastructures.h:437
GroupConfigMD_s::numPreSynapses
int numPreSynapses
Definition: snn_datastructures.h:347
GlobalNetworkConfig_s
Definition: snn_datastructures.h:594
PoissonRate
Class for generating Poisson spike trains.
Definition: poisson_rate.h:84
STDPConfig_s::WithISTDPtype
STDPType WithISTDPtype
Definition: snn_datastructures.h:230
GroupConfigRT_s::isSpikeGenerator
bool isSpikeGenerator
published by GroupConfig
Definition: snn_datastructures.h:388
NeuralDynamicsConfig_s::Izh_c
float Izh_c
Definition: snn_datastructures.h:209
GroupConfigRT_s::numPreSynapses
int numPreSynapses
the total number of pre-connections of a group, published by GroupConfigMD
Definition: snn_datastructures.h:387
GlobalNetworkConfig_s::numSynNet
int numSynNet
number of total synaptic connections in the global network
Definition: snn_datastructures.h:610
GlobalNetworkConfig
struct GlobalNetworkConfig_s GlobalNetworkConfig
HomeostasisConfig_s::HomeostasisConfig_s
HomeostasisConfig_s()
Definition: snn_datastructures.h:264
RuntimeData_s::spikeGenBits
unsigned int * spikeGenBits
Definition: snn_datastructures.h:588
ConnectConfig_s::connId
short int connId
connectID of the element in the linked list
Definition: snn_datastructures.h:136
RuntimeData_s::lif_vTh
float * lif_vTh
Definition: snn_datastructures.h:484
NetworkConfigRT_s::numConnections
int numConnections
number of local connections in this local network
Definition: snn_datastructures.h:658
RuntimeData_s::recovery
float * recovery
Definition: snn_datastructures.h:467
RuntimeData_s::gAMPA
float * gAMPA
conductance of gAMPA
Definition: snn_datastructures.h:498
GroupConfigRT_s::OMEGA
float OMEGA
published by GroupConfig
Definition: snn_datastructures.h:414
NetworkConfigRT_s::dGABAb
double dGABAb
multiplication factor for decay time of GABAb
Definition: snn_datastructures.h:688
STDPConfig_s::STDPConfig_s
STDPConfig_s()
Definition: snn_datastructures.h:223
NetworkConfigRT_s::maxDelay
int maxDelay
maximum axonal delay in the gloabl network
Definition: snn_datastructures.h:628
NetworkConfigRT_s::sim_with_conductances
bool sim_with_conductances
Definition: snn_datastructures.h:663
ConnectConfig_s::mulSynSlow
float mulSynSlow
factor to be applied to either gNMDA or gGABAb
Definition: snn_datastructures.h:130
ConnectConfigRT_s
The runtime configuration of a connection.
Definition: snn_datastructures.h:162
ConnectionInfo_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:96
compConnectConfig_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:181
NeuromodulatorConfig_s::baseNE
float baseNE
baseline concentration of Noradrenaline
Definition: snn_datastructures.h:287
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:355
NetworkConfigRT_s::maxNumPostSynN
int maxNumPostSynN
the maximum number of post-synaptic connections among neurons
Definition: snn_datastructures.h:650
RuntimeData_s::lif_gain
float * lif_gain
Definition: snn_datastructures.h:486
RuntimeData_s::Izh_vt
float * Izh_vt
Definition: snn_datastructures.h:471
NeuromodulatorConfig_s::base5HT
float base5HT
baseline concentration of Serotonin
Definition: snn_datastructures.h:285
HomeostasisConfig_s::baseFiringSD
float baseFiringSD
Definition: snn_datastructures.h:271
GroupConfigRT_s::GAMMA
float GAMMA
published by GroupConfig
Definition: snn_datastructures.h:412
RuntimeData_s::Npost
unsigned short * Npost
stores the number of output connections from a neuron.
Definition: snn_datastructures.h:518
GroupConfigRT_s::numN
int numN
published by GroupConfig
Definition: snn_datastructures.h:385
GroupConfig_s::numN
int numN
Definition: snn_datastructures.h:310
GroupConfigMD_s::hasExternalConnect
bool hasExternalConnect
Definition: snn_datastructures.h:350
ThreadStruct_s
CPU multithreading subroutine (that takes single argument) struct argument.
Definition: snn_datastructures.h:723
GlobalNetworkConfig_s::maxDelay
int maxDelay
maximum axonal delay in the gloabl network
Definition: snn_datastructures.h:611
RoutingTableEntry_s::srcNetId
int srcNetId
Definition: snn_datastructures.h:707
GroupConfig_s::withParamModel_9
bool withParamModel_9
False = 4 parameter model; 1 = 9 parameter model.
Definition: snn_datastructures.h:312
GroupConfigRT_s::isSpikeGenFunc
bool isSpikeGenFunc
published by GroupConfig
Definition: snn_datastructures.h:389
cuda_version_control.h
GroupConfigRT_s::hasExternalConnect
bool hasExternalConnect
published by GroupConfigMD
Definition: snn_datastructures.h:400
RuntimeData_s::extCurrent
float * extCurrent
Definition: snn_datastructures.h:479
GroupConfigRT_s::decay5HT
float decay5HT
decay rate for Serotonin, published by GroupConfig
Definition: snn_datastructures.h:436
CONN_USER_DEFINED
@ CONN_USER_DEFINED
Definition: snn_datastructures.h:75
RuntimeData_s::nUBuffer
float * nUBuffer
Definition: snn_datastructures.h:585
DelayInfo
struct DelayInfo_s DelayInfo
NeuralDynamicsConfig_s::Izh_C
float Izh_C
Definition: snn_datastructures.h:195
CONN_RANDOM
@ CONN_RANDOM
Definition: snn_datastructures.h:75
ConnectionInfo_s::nSrc
int nSrc
Definition: snn_datastructures.h:98
NeuromodulatorConfig_s::baseDP
float baseDP
baseline concentration of Dopamine
Definition: snn_datastructures.h:284
NeuromodulatorConfig_s::decayNE
float decayNE
decay rate for Noradrenaline
Definition: snn_datastructures.h:291
RuntimeData_s::nPoissonSpikes
unsigned int nPoissonSpikes
the total number of spikes of poisson neurons, used in CPU_MODE currently
Definition: snn_datastructures.h:460
RuntimeData_s::wt
float * wt
stores the weight change of a synaptic connection
Definition: snn_datastructures.h:524
RuntimeData_s::nVBuffer
float * nVBuffer
Definition: snn_datastructures.h:584
STPConfig_s::STP_tau_x_inv
float STP_tau_x_inv
Definition: snn_datastructures.h:259
GroupConfigRT_s::isLIF
bool isLIF
True = a LIF spiking group.
Definition: snn_datastructures.h:441
GroupConfigRT_s::Type
unsigned int Type
published by GroupConfig
Definition: snn_datastructures.h:384
NetworkConfigRT_s::sNMDA
double sNMDA
scaling factor for NMDA amplitude
Definition: snn_datastructures.h:685
conType_t
conType_t
connection types, used internally (externally it's a string)
Definition: snn_datastructures.h:75
FORWARD_EULER
@ FORWARD_EULER
Definition: carlsim_datastructures.h:134
compConnectionInfo
struct compConnectionInfo_s compConnectionInfo
GroupConfigRT_s::gEndN
int gEndN
published by GroupConfigMD
Definition: snn_datastructures.h:378
GroupConfigMD_s::gEndN
int gEndN
Definition: snn_datastructures.h:339
GroupConfig_s::GroupConfig_s
GroupConfig_s()
Definition: snn_datastructures.h:303
GroupConfig_s::stdpConfig
STDPConfig stdpConfig
Definition: snn_datastructures.h:323
RuntimeData_s::curSpike
bool * curSpike
Definition: snn_datastructures.h:492
STDPConfig_s::BETA_LTP
float BETA_LTP
Definition: snn_datastructures.h:244
GroupConfigRT_s::TAU_MINUS_INV_INB
float TAU_MINUS_INV_INB
published by GroupConfig
Definition: snn_datastructures.h:416
GroupConfigMD_s::gGrpId
int gGrpId
Definition: snn_datastructures.h:337
RoutingTableEntry
struct RoutingTableEntry_s RoutingTableEntry
runtime spike routing table entry
ConnectionInfo_s::preSynId
int preSynId
Definition: snn_datastructures.h:103
NeuralDynamicsConfig_s::lif_minRmem
double lif_minRmem
Definition: snn_datastructures.h:217
GroupConfigRT_s::gGrpId
int gGrpId
published by GroupConfigMD
Definition: snn_datastructures.h:376
GroupConfig_s::spikeGenFunc
SpikeGeneratorCore * spikeGenFunc
Definition: snn_datastructures.h:319
ConnectConfigMD_s::lConnId
int lConnId
Definition: snn_datastructures.h:149
GroupConfigRT_s::compNeighbors
int compNeighbors[4]
Definition: snn_datastructures.h:446
RuntimeData_s::Npre_plasticInv
float * Npre_plasticInv
stores the 1/number of plastic input connections, only used on GPU
Definition: snn_datastructures.h:517
STPConfig_s::WithSTP
bool WithSTP
Definition: snn_datastructures.h:255
RuntimeData_s::postDelayInfo
DelayInfo * postDelayInfo
delay information
Definition: snn_datastructures.h:542
STDPConfig_s::TAU_PLUS_INV_EXC
float TAU_PLUS_INV_EXC
Definition: snn_datastructures.h:233
RuntimeData_s::timeTableD1
unsigned int * timeTableD1
firing table, only used in CPU_MODE currently
Definition: snn_datastructures.h:543
compConnectConfig_s
The configuration of a compartmental connection.
Definition: snn_datastructures.h:180
ConnectConfig_s::maxDelay
uint8_t maxDelay
Definition: snn_datastructures.h:123
ConnectConfig_s::grpDest
int grpDest
Definition: snn_datastructures.h:122
NeuralDynamicsConfig_s::Izh_b_sd
float Izh_b_sd
Definition: snn_datastructures.h:208
GlobalNetworkConfig_s::numNPois
int numNPois
number of poisson neurons in the global network
Definition: snn_datastructures.h:609
STPConfig_s::STPConfig_s
STPConfig_s()
Definition: snn_datastructures.h:252
ConnectionInfo_s::initWt
float initWt
Definition: snn_datastructures.h:101
NeuralDynamicsConfig_s::Izh_C_sd
float Izh_C_sd
Definition: snn_datastructures.h:196
NeuralDynamicsConfig_s::Izh_vt
float Izh_vt
Definition: snn_datastructures.h:201
GroupConfig_s::neuralDynamicsConfig
NeuralDynamicsConfig neuralDynamicsConfig
Definition: snn_datastructures.h:322
STDPConfig_s::TAU_MINUS_INV_EXC
float TAU_MINUS_INV_EXC
Definition: snn_datastructures.h:234
RuntimeData_s::voltage
float * voltage
membrane potential for each regular neuron
Definition: snn_datastructures.h:465
GroupConfig_s::preferredNetId
int preferredNetId
Definition: snn_datastructures.h:308
STDPConfig_s::KAPPA
float KAPPA
Definition: snn_datastructures.h:238
NetworkConfigRT_s::sim_with_modulated_stdp
bool sim_with_modulated_stdp
Definition: snn_datastructures.h:666
NeuromodulatorConfig_s::decay5HT
float decay5HT
decay rate for Serotonin
Definition: snn_datastructures.h:289
STDPConfig_s::ALPHA_MINUS_EXC
float ALPHA_MINUS_EXC
Definition: snn_datastructures.h:236
NetworkConfigRT
struct NetworkConfigRT_s NetworkConfigRT
runtime network configuration
GroupConfigRT_s::avgTimeScaleInv
float avgTimeScaleInv
published by GroupConfig
Definition: snn_datastructures.h:427
ConnectionInfo
struct ConnectionInfo_s ConnectionInfo
ThreadStruct_s::netId
int netId
Definition: snn_datastructures.h:725
RuntimeData_s::Npre_plastic
unsigned short * Npre_plastic
stores the number of plastic input connections to a neuron
Definition: snn_datastructures.h:516
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:453
PARTITIONED_SNN
@ PARTITIONED_SNN
Definition: snn_datastructures.h:81
GroupConfigMD_s::fixedInputWts
bool fixedInputWts
Definition: snn_datastructures.h:349
GroupConfigRT_s::lGrpId
int lGrpId
published by GroupConfigMD
Definition: snn_datastructures.h:379
GroupConfigRT_s::compCouplingUp
float compCouplingUp
Definition: snn_datastructures.h:444
NetworkConfigRT_s::sim_with_stp
bool sim_with_stp
Definition: snn_datastructures.h:668
NetworkConfigRT_s::maxSpikesD1
unsigned int maxSpikesD1
the estimated maximum number of spikes with delay == 1 in a network
Definition: snn_datastructures.h:653
NeuralDynamicsConfig_s::Izh_d
float Izh_d
Definition: snn_datastructures.h:211
STDPConfig_s::WithISTDPcurve
STDPCurve WithISTDPcurve
Definition: snn_datastructures.h:232
GlobalNetworkConfig_s::numNExcPois
int numNExcPois
number of excitatory poisson neurons in the global network
Definition: snn_datastructures.h:607
RuntimeData_s::Izh_C
float * Izh_C
Definition: snn_datastructures.h:468
GroupConfigMD_s::lGrpId
int lGrpId
Definition: snn_datastructures.h:341
GroupConfigRT_s::base5HT
float base5HT
baseline concentration of Serotonin, published by GroupConfig
Definition: snn_datastructures.h:432
GroupConfigRT_s::compCoupling
float compCoupling[4]
Definition: snn_datastructures.h:447
MemType
MemType
type of memory pointer
Definition: snn_datastructures.h:69
GlobalNetworkConfig_s::numN1msDelay
int numN1msDelay
number of neurons with maximum out going axonal delay = 1 ms
Definition: snn_datastructures.h:612
HomeostasisConfig_s::avgTimeScale
float avgTimeScale
Definition: snn_datastructures.h:272
GroupConfigRT_s::baseNE
float baseNE
baseline concentration of Noradrenaline, published by GroupConfig
Definition: snn_datastructures.h:434
RuntimeData_s::Izh_c
float * Izh_c
Definition: snn_datastructures.h:475
RuntimeData_s::gNMDA_r
float * gNMDA_r
Definition: snn_datastructures.h:496
ConnectionInfo_s::nDest
int nDest
Definition: snn_datastructures.h:99
STDPConfig_s::OMEGA
float OMEGA
Definition: snn_datastructures.h:239
RuntimeData_s::nIBuffer
float * nIBuffer
Definition: snn_datastructures.h:586
GroupConfigRT_s::WithHomeostasis
bool WithHomeostasis
published by GroupConfig
Definition: snn_datastructures.h:398
RuntimeData_s::lastSpikeTime
int * lastSpikeTime
stores the last spike time of a neuron
Definition: snn_datastructures.h:520
HomeostasisConfig_s::homeostasisScale
float homeostasisScale
Definition: snn_datastructures.h:275
RoutingTableEntry_s::RoutingTableEntry_s
RoutingTableEntry_s()
Definition: snn_datastructures.h:703
STDPConfig_s::WithESTDPtype
STDPType WithESTDPtype
Definition: snn_datastructures.h:229
NeuralDynamicsConfig_s::lif_tau_ref
int lif_tau_ref
Definition: snn_datastructures.h:214
compConnectConfig_s::connId
short int connId
Definition: snn_datastructures.h:182
NeuralDynamicsConfig_s::Izh_a_sd
float Izh_a_sd
Definition: snn_datastructures.h:206
NetworkConfigRT_s::simIntegrationMethod
integrationMethod_t simIntegrationMethod
integration method (forward-Euler or Fourth-order Runge-Kutta)
Definition: snn_datastructures.h:691
GroupConfigMD_s::spikeMonitorId
int spikeMonitorId
Definition: snn_datastructures.h:351
ConnectConfigMD_s::connectionMonitorId
int connectionMonitorId
Definition: snn_datastructures.h:150
HomeostasisConfig
struct HomeostasisConfig_s HomeostasisConfig
neuromodulator configurations
GroupConfigMD_s::operator==
bool operator==(const struct GroupConfigMD_s &grp)
Definition: snn_datastructures.h:361
ConnectConfig_s::minDelay
uint8_t minDelay
Definition: snn_datastructures.h:124
NetworkConfigRT_s::numPreSynNet
int numPreSynNet
the total number of pre-connections in a network
Definition: snn_datastructures.h:649
GroupConfigRT_s::baseACh
float baseACh
baseline concentration of Acetylcholine, published by GroupConfig
Definition: snn_datastructures.h:433
CONN_GAUSSIAN
@ CONN_GAUSSIAN
Definition: snn_datastructures.h:75
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:463
GroupConfigRT_s::avgTimeScale_decay
float avgTimeScale_decay
published by GroupConfig
Definition: snn_datastructures.h:426
ConnectConfigRT_s::mulSynSlow
float * mulSynSlow
factor to be applied to either gNMDA or gGABAb
Definition: snn_datastructures.h:164
NetworkConfigRT_s::numPostSynNet
int numPostSynNet
the total number of post-connections in a network
Definition: snn_datastructures.h:648
ConnectConfigMD_s::ConnectConfigMD_s
ConnectConfigMD_s()
Definition: snn_datastructures.h:146
RuntimeData_s::grpDABuffer
float * grpDABuffer
Definition: snn_datastructures.h:578
DelayInfo_s::delay_index_start
short delay_index_start
Definition: snn_datastructures.h:86
GroupConfigMD_s::Noffset
int Noffset
the offset of spike generator (poisson) neurons [0, numNPois)
Definition: snn_datastructures.h:358
ConnectConfig_s::connProp
uint32_t connProp
Definition: snn_datastructures.h:132
compConnectConfig
struct compConnectConfig_s compConnectConfig
The configuration of a compartmental connection.
GroupConfigRT_s::WithSTDP
bool WithSTDP
published by GroupConfig
Definition: snn_datastructures.h:391
RuntimeData_s::postSynapticIds
SynInfo * postSynapticIds
10 bit syn id, 22 bit neuron id, ordered based on delay
Definition: snn_datastructures.h:539
GroupConfigRT_s::Noffset
int Noffset
the offset of spike generator (poisson) neurons [0, numNPois), published by GroupConfigMD
Definition: snn_datastructures.h:401
RuntimeData_s::spikeCountSec
unsigned int spikeCountSec
the total number of spikes in 1 second, used in CPU_MODE currently
Definition: snn_datastructures.h:452
CPU_MEM
@ CPU_MEM
runtime data is allocated on CPU (main) memory
Definition: snn_datastructures.h:70
ThreadStruct_s::snn_pointer
void * snn_pointer
Definition: snn_datastructures.h:724
GroupConfigMD_s::ratePtr
PoissonRate * ratePtr
Definition: snn_datastructures.h:359
NeuralDynamicsConfig_s::lif_vTh
float lif_vTh
Definition: snn_datastructures.h:215
GroupConfigMD
struct GroupConfigMD_s GroupConfigMD
RuntimeData_s::connIdsPreIdx
short int * connIdsPreIdx
connectId, per synapse, presynaptic cumulative indexing
Definition: snn_datastructures.h:530
RuntimeData_s::firingTableD1
int * firingTableD1
Definition: snn_datastructures.h:546
ThreadStruct_s::startIdx
int startIdx
Definition: snn_datastructures.h:727
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:459
RuntimeData_s::cumulativePost
unsigned int * cumulativePost
Definition: snn_datastructures.h:527
UNKNOWN_STDP
@ UNKNOWN_STDP
Definition: carlsim_datastructures.h:164
GroupConfigRT
struct GroupConfigRT_s GroupConfigRT
The runtime configuration of a group.
GroupConfigMD_s::lStartN
int lStartN
Definition: snn_datastructures.h:342
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:458
RuntimeData_s::maxSynWt
float * maxSynWt
maximum synaptic weight for a connection
Definition: snn_datastructures.h:525
GroupConfigRT_s::numCompNeighbors
short numCompNeighbors
Definition: snn_datastructures.h:448
GroupConfigRT_s::lStartN
int lStartN
published by GroupConfigMD
Definition: snn_datastructures.h:380
STDPCurve
STDPCurve
STDP curves.
Definition: carlsim_datastructures.h:178
ThreadStruct_s::GtoLOffset
int GtoLOffset
Definition: snn_datastructures.h:729
NeuralDynamicsConfig_s::Izh_vt_sd
float Izh_vt_sd
Definition: snn_datastructures.h:202
STPConfig_s
Definition: snn_datastructures.h:251
RuntimeData_s::Izh_k
float * Izh_k
Definition: snn_datastructures.h:469
NetworkConfigRT_s::numNRateGen
int numNRateGen
number of poisson neurons generating spikes based on firing rate
Definition: snn_datastructures.h:640
RuntimeData_s::extFiringTableEndIdxD1
int * extFiringTableEndIdxD1
Definition: snn_datastructures.h:552
ConnectConfig_s::connectionMonitorId
int connectionMonitorId
Definition: snn_datastructures.h:131
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:608
RuntimeData_s::synSpikeTime
int * synSpikeTime
stores the last spike time of a synapse
Definition: snn_datastructures.h:521
GroupConfigRT_s::MaxDelay
int8_t MaxDelay
published by GroupConfigMD
Definition: snn_datastructures.h:402
NeuralDynamicsConfig_s::lif_maxRmem
double lif_maxRmem
Definition: snn_datastructures.h:218
Grid3D
A struct to arrange neurons on a 3D grid (a primitive cubic Bravais lattice with cubic side length 1)
Definition: carlsim_datastructures.h:490
NeuralDynamicsConfig_s::Izh_a
float Izh_a
Definition: snn_datastructures.h:205
GroupConfigMD_s::gStartN
int gStartN
Definition: snn_datastructures.h:338
RuntimeData_s::preSynapticIds
SynInfo * preSynapticIds
Definition: snn_datastructures.h:540
NetworkConfigRT_s::numNAssigned
int numNAssigned
number of total neurons assigned to the local network
Definition: snn_datastructures.h:642
GlobalNetworkConfig_s::numNExcReg
int numNExcReg
number of regular excitatory neurons in the global network
Definition: snn_datastructures.h:603
NeuromodulatorConfig
struct NeuromodulatorConfig_s NeuromodulatorConfig
GroupConfigRT_s::gStartN
int gStartN
published by GroupConfigMD
Definition: snn_datastructures.h:377
NetworkConfigRT_s::maxNumPreSynN
int maxNumPreSynN
the maximum number of pre-syanptic connections among neurons
Definition: snn_datastructures.h:651
NetworkConfigRT_s::sim_with_homeostasis
bool sim_with_homeostasis
Definition: snn_datastructures.h:667
RuntimeData_s::gGABAb
float * gGABAb
conductance of gGABAb
Definition: snn_datastructures.h:500
compConnectionInfo_s
Definition: snn_datastructures.h:167
GroupConfigMD_s::maxOutgoingDelay
int maxOutgoingDelay
Definition: snn_datastructures.h:348
EXECUTABLE_SNN
@ EXECUTABLE_SNN
Definition: snn_datastructures.h:82
ConnectConfig_s
The configuration of a connection.
Definition: snn_datastructures.h:120
RuntimeData_s::Izh_a
float * Izh_a
Definition: snn_datastructures.h:473
NetworkConfigRT_s::sim_in_testing
bool sim_in_testing
Definition: snn_datastructures.h:669
RuntimeData_s::lif_tau_m
int * lif_tau_m
parameters for a LIF spiking group
Definition: snn_datastructures.h:481
GroupConfigRT_s::withParamModel_9
bool withParamModel_9
False = 4 parameter model; 1 = 9 parameter model.
Definition: snn_datastructures.h:440
GroupConfigRT_s::STP_tau_x_inv
float STP_tau_x_inv
published by GroupConfig
Definition: snn_datastructures.h:407
RuntimeData_s::avgFiring
float * avgFiring
Definition: snn_datastructures.h:567
GroupConfigRT_s::ALPHA_MINUS_INB
float ALPHA_MINUS_INB
published by GroupConfig
Definition: snn_datastructures.h:418
NeuralDynamicsConfig_s::Izh_vpeak_sd
float Izh_vpeak_sd
Definition: snn_datastructures.h:204
NetworkConfigRT_s::numGroups
int numGroups
number of local groups in this local network
Definition: snn_datastructures.h:656
GroupConfig_s::isSpikeGenerator
bool isSpikeGenerator
Definition: snn_datastructures.h:311
RuntimeData_s::grpDA
float * grpDA
Definition: snn_datastructures.h:572
GroupConfigMD_s::neuronMonitorId
int neuronMonitorId
Definition: snn_datastructures.h:352
ConnectConfig_s::connProbability
float connProbability
connection probability
Definition: snn_datastructures.h:135
RuntimeData_s::extFiringTableD1
int ** extFiringTableD1
external firing table, only used on GPU
Definition: snn_datastructures.h:549
GlobalNetworkConfig_s::numN
int numN
number of neurons in the global network
Definition: snn_datastructures.h:602
STDPConfig_s::TAU_MINUS_INV_INB
float TAU_MINUS_INV_INB
Definition: snn_datastructures.h:241
CONFIG_SNN
@ CONFIG_SNN
Definition: snn_datastructures.h:79
GroupConfigMD_s::lEndN
int lEndN
Definition: snn_datastructures.h:343
SynInfo_s::nId
int nId
neuron id
Definition: snn_datastructures.h:92
GroupConfigRT_s::WithESTDPcurve
STDPCurve WithESTDPcurve
published by GroupConfig
Definition: snn_datastructures.h:396
GroupConfigRT_s::lEndN
int lEndN
published by GroupConfigMD
Definition: snn_datastructures.h:381
NeuromodulatorConfig_s::decayACh
float decayACh
decay rate for Acetylcholine
Definition: snn_datastructures.h:290
NetworkConfigRT_s::numNReg
int numNReg
number of regular (spking) neurons
Definition: snn_datastructures.h:634
NeuromodulatorConfig_s::decayDP
float decayDP
decay rate for Dopamine
Definition: snn_datastructures.h:288
compConnectionInfo_s::grpSrc
int grpSrc
Definition: snn_datastructures.h:168
compConnectionInfo_s::connId
short int connId
Definition: snn_datastructures.h:169
ConnectConfig_s::type
conType_t type
Definition: snn_datastructures.h:134
RuntimeData_s::extFiringTableEndIdxD2
int * extFiringTableEndIdxD2
Definition: snn_datastructures.h:553
RuntimeData_s::memType
MemType memType
Definition: snn_datastructures.h:506
GlobalNetworkConfig_s::numNInhReg
int numNInhReg
number of regular inhibitory neurons in the global network
Definition: snn_datastructures.h:604
RuntimeData_s::grpIds
short int * grpIds
Definition: snn_datastructures.h:531
GroupConfigRT_s::KAPPA
float KAPPA
published by GroupConfig
Definition: snn_datastructures.h:413
NeuralDynamicsConfig_s::NeuralDynamicsConfig_s
NeuralDynamicsConfig_s()
Definition: snn_datastructures.h:187
ConnectConfig
struct ConnectConfig_s ConnectConfig
The configuration of a connection.
ConnectConfig_s::maxWt
float maxWt
Definition: snn_datastructures.h:125
GroupConfigRT_s::STP_A
float STP_A
published by GroupConfig
Definition: snn_datastructures.h:404
GroupConfigRT_s::ALPHA_PLUS_EXC
float ALPHA_PLUS_EXC
published by GroupConfig
Definition: snn_datastructures.h:410
NetworkConfigRT_s::sim_with_fixedwts
bool sim_with_fixedwts
Definition: snn_datastructures.h:662
GlobalNetworkConfig_s::numNReg
int numNReg
number of regular (spking) neurons in the global network
Definition: snn_datastructures.h:605
RuntimeData_s::stpu
float * stpu
Definition: snn_datastructures.h:513
GroupConfigRT_s::LtoGOffset
int LtoGOffset
published by GroupConfigMD
Definition: snn_datastructures.h:382
ConnectionInfo_s::srcGLoffset
int srcGLoffset
Definition: snn_datastructures.h:100
SynInfo_s::gsId
int gsId
group id and synapse id
Definition: snn_datastructures.h:91
ConnectConfigRT_s::mulSynFast
float * mulSynFast
factor to be applied to either gAMPA or gGABAa
Definition: snn_datastructures.h:163
GroupConfigMD_s::LtoGOffset
int LtoGOffset
Definition: snn_datastructures.h:344
NeuralDynamicsConfig_s::lif_tau_m
int lif_tau_m
parameters for a LIF spiking group
Definition: snn_datastructures.h:213
RuntimeData_s::spikeCountExtRxD1Sec
unsigned int spikeCountExtRxD1Sec
Definition: snn_datastructures.h:455
compConnectionInfo_s::grpDest
int grpDest
Definition: snn_datastructures.h:168
NeuralDynamicsConfig_s::lif_vReset
float lif_vReset
Definition: snn_datastructures.h:216
RuntimeData_s::lif_bias
float * lif_bias
Definition: snn_datastructures.h:487
RuntimeData_s::grpNE
float * grpNE
Definition: snn_datastructures.h:575
STDPConfig_s::ALPHA_PLUS_EXC
float ALPHA_PLUS_EXC
Definition: snn_datastructures.h:235
ConnectConfig_s::numberOfConnections
int numberOfConnections
Definition: snn_datastructures.h:137
GroupConfig_s
The configuration of a group.
Definition: snn_datastructures.h:302
NeuralDynamicsConfig_s::Izh_c_sd
float Izh_c_sd
Definition: snn_datastructures.h:210
RuntimeData_s::nSpikeCnt
int * nSpikeCnt
homeostatic plasticity variables
Definition: snn_datastructures.h:562
RuntimeData_s::extFiringTableD2
int ** extFiringTableD2
external firing table, only used on GPU
Definition: snn_datastructures.h:550
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:657
CONN_FULL_NO_DIRECT
@ CONN_FULL_NO_DIRECT
Definition: snn_datastructures.h:75
ConnectionInfo_s::maxWt
float maxWt
Definition: snn_datastructures.h:102
DelayInfo_s::delay_length
short delay_length
Definition: snn_datastructures.h:87
RuntimeData_s::gNMDA_d
float * gNMDA_d
Definition: snn_datastructures.h:497
NeuralDynamicsConfig_s::Izh_vr
float Izh_vr
Definition: snn_datastructures.h:199
GroupConfigRT_s::TAU_PLUS_INV_INB
float TAU_PLUS_INV_INB
published by GroupConfig
Definition: snn_datastructures.h:415
NeuromodulatorConfig_s::baseACh
float baseACh
baseline concentration of Acetylcholine
Definition: snn_datastructures.h:286
ConnectConfigRT
struct ConnectConfigRT_s ConnectConfigRT
The runtime configuration of a connection.
GroupConfig_s::stpConfig
STPConfig stpConfig
Definition: snn_datastructures.h:324
GroupConfigRT_s::FixedInputWts
bool FixedInputWts
published by GroupConfigMD
Definition: snn_datastructures.h:399
UNKNOWN_CURVE
@ UNKNOWN_CURVE
unknown curve type
Definition: carlsim_datastructures.h:182
GroupConfigRT_s::decayNE
float decayNE
decay rate for Noradrenaline, published by GroupConfig
Definition: snn_datastructures.h:438
GroupConfig_s::isLIF
bool isLIF
Definition: snn_datastructures.h:313
RuntimeData_s::grp5HTBuffer
float * grp5HTBuffer
Definition: snn_datastructures.h:579
NetworkConfigRT_s::numNExcPois
int numNExcPois
number of excitatory poisson neurons
Definition: snn_datastructures.h:636
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:680
GroupConfig_s::withCompartments
bool withCompartments
Definition: snn_datastructures.h:314
RoutingTableEntry_s
runtime spike routing table entry
Definition: snn_datastructures.h:702
RuntimeData_s::grp5HT
float * grp5HT
Definition: snn_datastructures.h:573
GlobalNetworkConfig_s::simNumStepsPerMs
int simNumStepsPerMs
number of steps per 1 millisecond
Definition: snn_datastructures.h:616
STDPConfig_s::TAU_PLUS_INV_INB
float TAU_PLUS_INV_INB
Definition: snn_datastructures.h:240
RuntimeData_s::firingTableD2
int * firingTableD2
Definition: snn_datastructures.h:547
RuntimeData_s::randNum
float * randNum
firing random number. max value is 10,000
Definition: snn_datastructures.h:556
RuntimeData_s::gGABAb_r
float * gGABAb_r
Definition: snn_datastructures.h:501
ConnectionInfo_s
Definition: snn_datastructures.h:95
GroupConfigMD_s
Definition: snn_datastructures.h:329
RuntimeData_s::spikeCountLastSecLeftD2
unsigned int spikeCountLastSecLeftD2
the nubmer of spike left in the last second, used in CPU_MODE currently
Definition: snn_datastructures.h:461
GroupConfigRT_s::ALPHA_MINUS_EXC
float ALPHA_MINUS_EXC
published by GroupConfig
Definition: snn_datastructures.h:411
GroupConfigRT_s::STP_tau_u_inv
float STP_tau_u_inv
published by GroupConfig
Definition: snn_datastructures.h:406
GroupConfigMD_s::refractPeriod
float refractPeriod
Definition: snn_datastructures.h:354
ThreadStruct_s::lGrpId
int lGrpId
Definition: snn_datastructures.h:726
GroupConfigRT_s::compCouplingDown
float compCouplingDown
Definition: snn_datastructures.h:445
NetworkConfigRT_s::simNumStepsPerMs
int simNumStepsPerMs
number of steps per 1 millisecond
Definition: snn_datastructures.h:692
NetworkConfigRT_s::numNInhPois
int numNInhPois
number of inhibitory poisson neurons
Definition: snn_datastructures.h:637
GroupConfigRT_s::TAU_MINUS_INV_EXC
float TAU_MINUS_INV_EXC
published by GroupConfig
Definition: snn_datastructures.h:409
STPConfig_s::STP_A
float STP_A
Definition: snn_datastructures.h:256
NetworkConfigRT_s::numN
int numN
number of neurons in th local network
Definition: snn_datastructures.h:631
GlobalNetworkConfig_s::timeStep
float timeStep
inverse of simNumStepsPerMs
Definition: snn_datastructures.h:617
GroupConfigRT_s::STP_U
float STP_U
published by GroupConfig
Definition: snn_datastructures.h:405
RuntimeData_s::grpACh
float * grpACh
Definition: snn_datastructures.h:574
ConnectConfigMD_s::gConnId
int gConnId
Definition: snn_datastructures.h:148
STDPConfig_s::WithISTDP
bool WithISTDP
Definition: snn_datastructures.h:228
GlobalNetworkConfig_s::numComp
int numComp
number of compartmental neurons
Definition: snn_datastructures.h:606
ConnectConfigMD_s::numberOfConnections
int numberOfConnections
Definition: snn_datastructures.h:151
GroupConfig_s::grpName
std::string grpName
Definition: snn_datastructures.h:307
GroupConfigRT_s::BETA_LTP
float BETA_LTP
published by GroupConfig
Definition: snn_datastructures.h:419
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:364
GroupConfigRT_s::WithSTP
bool WithSTP
published by GroupConfig
Definition: snn_datastructures.h:390
NetworkConfigRT_s::timeStep
float timeStep
inverse of simNumStepsPerMs
Definition: snn_datastructures.h:693
RuntimeData_s::spikeCountExtRxD2Sec
unsigned int spikeCountExtRxD2Sec
Definition: snn_datastructures.h:456
GroupConfigRT_s::homeostasisScale
float homeostasisScale
published by GroupConfig
Definition: snn_datastructures.h:428
GroupConfigRT_s::DELTA
float DELTA
published by GroupConfig
Definition: snn_datastructures.h:422
GroupConfigRT_s::avgTimeScale
float avgTimeScale
published by GroupConfig
Definition: snn_datastructures.h:425
GroupConfigRT_s::BETA_LTD
float BETA_LTD
published by GroupConfig
Definition: snn_datastructures.h:420
STDPConfig_s::ALPHA_MINUS_INB
float ALPHA_MINUS_INB
Definition: snn_datastructures.h:243
RuntimeData_s::lif_vReset
float * lif_vReset
Definition: snn_datastructures.h:485
ConnectConfig_s::connRadius
RadiusRF connRadius
Definition: snn_datastructures.h:128
ConnectConfig_s::conn
ConnectionGeneratorCore * conn
Definition: snn_datastructures.h:133
STDPType
STDPType
STDP flavors.
Definition: carlsim_datastructures.h:161
GroupConfigRT_s::WithISTDP
bool WithISTDP
published by GroupConfig
Definition: snn_datastructures.h:393
RuntimeData_s::cumulativePre
unsigned int * cumulativePre
Definition: snn_datastructures.h:528
GroupConfigMD_s::sliceUpdateTime
int sliceUpdateTime
Definition: snn_datastructures.h:356
HomeostasisConfig_s::avgTimeScaleInv
float avgTimeScaleInv
Definition: snn_datastructures.h:273
RuntimeData_s::gGABAb_d
float * gGABAb_d
Definition: snn_datastructures.h:502
RuntimeData_s::allocated
bool allocated
true if all data has been allocated
Definition: snn_datastructures.h:507
CONN_ONE_TO_ONE
@ CONN_ONE_TO_ONE
Definition: snn_datastructures.h:75
SNNState
SNNState
the state of spiking neural network, used with in kernel.
Definition: snn_datastructures.h:78