From e8706a8f2efcecac33f64b7bbe0c0b365eeb3a0a Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Tue, 27 Jan 2026 20:52:48 -0800 Subject: [PATCH 1/9] Added Dhruva Pyapali to Contributors.md --- Contributors.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Contributors.md b/Contributors.md index 7b504f6db..66237e0c4 100644 --- a/Contributors.md +++ b/Contributors.md @@ -91,6 +91,9 @@ Lawrence Scott Star Wong +## 2026 +Dhruva Pyapali + # Graduate From 785a495c0822ad5574633d5c8011b7c650625e53 Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Wed, 28 Jan 2026 20:17:50 -0800 Subject: [PATCH 2/9] Added Dhruva Pyapali to Contributors.md --- Contributors.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Contributors.md b/Contributors.md index 66237e0c4..c3ca4cacc 100644 --- a/Contributors.md +++ b/Contributors.md @@ -94,6 +94,7 @@ Star Wong ## 2026 Dhruva Pyapali + # Graduate From 748bc3526ca7390fc5d616790954052aa6a27b92 Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Sat, 7 Feb 2026 16:55:52 -0800 Subject: [PATCH 3/9] Moved all model-specific defaults from Global.h to appropriate model classes --- Simulator/Edges/Neuro/AllDSSynapses.cpp | 4 +-- .../Edges/Neuro/AllDynamicSTDPSynapses.cpp | 4 +-- Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 2 +- Simulator/Edges/Neuro/AllSpikingSynapses.h | 5 ++++ .../Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp | 17 ++++++------ Simulator/Utils/Global.h | 27 ------------------- Simulator/Vertices/Neuro/AllIFNeurons.cpp | 26 +++++++++--------- Simulator/Vertices/Neuro/AllIFNeurons.h | 12 +++++++++ 8 files changed, 44 insertions(+), 53 deletions(-) diff --git a/Simulator/Edges/Neuro/AllDSSynapses.cpp b/Simulator/Edges/Neuro/AllDSSynapses.cpp index 6f12ab551..a93b28926 100644 --- a/Simulator/Edges/Neuro/AllDSSynapses.cpp +++ b/Simulator/Edges/Neuro/AllDSSynapses.cpp @@ -100,7 +100,7 @@ void AllDSSynapses::resetEdge(BGSIZE iEdg, BGFLOAT deltaT) { AllSpikingSynapses::resetEdge(iEdg, deltaT); - u_[iEdg] = DEFAULT_U; + u_[iEdg] = AllSpikingSynapses::DEFAULT_U; r_[iEdg] = 1.0; lastSpike_[iEdg] = ULONG_MAX; } @@ -117,7 +117,7 @@ void AllDSSynapses::createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLO { AllSpikingSynapses::createEdge(iEdg, srcVertex, destVertex, deltaT, type); - U_[iEdg] = DEFAULT_U; + U_[iEdg] = AllSpikingSynapses::DEFAULT_U; BGFLOAT U; BGFLOAT D; diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp index 966a10f40..91788c59e 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp @@ -100,7 +100,7 @@ void AllDynamicSTDPSynapses::resetEdge(BGSIZE iEdg, BGFLOAT deltaT) { AllSTDPSynapses::resetEdge(iEdg, deltaT); - u_[iEdg] = DEFAULT_U; + u_[iEdg] = AllSpikingSynapses::DEFAULT_U; r_[iEdg] = 1.0; lastSpike_[iEdg] = ULONG_MAX; } @@ -117,7 +117,7 @@ void AllDynamicSTDPSynapses::createEdge(BGSIZE iEdg, int srcVertex, int destVert { AllSTDPSynapses::createEdge(iEdg, srcVertex, destVertex, deltaT, type); - U_[iEdg] = DEFAULT_U; + U_[iEdg] = AllSpikingSynapses::DEFAULT_U; BGFLOAT U; BGFLOAT D; diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 23328177a..8f9bdca3c 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -173,7 +173,7 @@ void AllSpikingSynapses::createEdge(BGSIZE iEdg, int srcVertex, int destVertex, sourceVertexIndex_[iEdg] = srcVertex; W_[iEdg] = edgSign(type) * 10.0e-9; type_[iEdg] = type; - tau_[iEdg] = DEFAULT_tau; + tau_[iEdg] = AllSpikingSynapses::DEFAULT_tau; BGFLOAT tau; switch (type) { diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 5a292daaf..674094d0f 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -38,6 +38,11 @@ using fpPostSynapsesSpikeHit_t = void (*)(const BGSIZE, AllSpikingSynapsesDevice class AllSpikingSynapses : public AllNeuroEdges { public: + // Default synapse parameter values + static constexpr BGFLOAT DEFAULT_tau = 3e-3; // The default synaptic time constant + static constexpr BGFLOAT DEFAULT_U = 0.4; // The default synaptic efficiency + static constexpr BGFLOAT DEFAULT_delay_weight = 0; // The default delay weight + AllSpikingSynapses(); AllSpikingSynapses(int numVertices, int maxEdges); diff --git a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp index d61208c93..93217a2b2 100644 --- a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp +++ b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp @@ -9,6 +9,7 @@ #include "AllDynamicSTDPSynapses.h" #include "AllNeuroEdges.h" +#include "AllSpikingSynapses.h" #include "AllSTDPSynapses.h" #include "AllSynapsesDeviceFuncs.h" #include @@ -112,7 +113,7 @@ CUDA_CALLABLE void createSpikingSynapse(AllSpikingSynapsesDeviceProperties *allE allEdgesDevice->psr_[iEdg] = 0.0; allEdgesDevice->type_[iEdg] = type; - allEdgesDevice->tau_[iEdg] = DEFAULT_tau; + allEdgesDevice->tau_[iEdg] = AllSpikingSynapses::DEFAULT_tau; BGFLOAT tau; switch (type) { @@ -173,12 +174,12 @@ CUDA_CALLABLE void createDSSynapse(AllDSSynapsesDeviceProperties *allEdgesDevice allEdgesDevice->psr_[iEdg] = 0.0; allEdgesDevice->r_[iEdg] = 1.0; - allEdgesDevice->u_[iEdg] = 0.4; // DEFAULT_U + allEdgesDevice->u_[iEdg] = AllSpikingSynapses::DEFAULT_U; allEdgesDevice->lastSpike_[iEdg] = ULONG_MAX; allEdgesDevice->type_[iEdg] = type; - allEdgesDevice->U_[iEdg] = DEFAULT_U; - allEdgesDevice->tau_[iEdg] = DEFAULT_tau; + allEdgesDevice->U_[iEdg] = AllSpikingSynapses::DEFAULT_U; + allEdgesDevice->tau_[iEdg] = AllSpikingSynapses::DEFAULT_tau; BGFLOAT U; BGFLOAT D; @@ -259,7 +260,7 @@ CUDA_CALLABLE void createSTDPSynapse(AllSTDPSynapsesDeviceProperties *allEdgesDe allEdgesDevice->psr_[iEdg] = 0.0; allEdgesDevice->type_[iEdg] = type; - allEdgesDevice->tau_[iEdg] = DEFAULT_tau; + allEdgesDevice->tau_[iEdg] = AllSpikingSynapses::DEFAULT_tau; BGFLOAT tau; switch (type) { @@ -341,12 +342,12 @@ CUDA_CALLABLE void createDynamicSTDPSynapse(AllDynamicSTDPSynapsesDeviceProperti allEdgesDevice->psr_[iEdg] = 0.0; allEdgesDevice->r_[iEdg] = 1.0; - allEdgesDevice->u_[iEdg] = 0.4; // DEFAULT_U + allEdgesDevice->u_[iEdg] = AllSpikingSynapses::DEFAULT_U; allEdgesDevice->lastSpike_[iEdg] = ULONG_MAX; allEdgesDevice->type_[iEdg] = type; - allEdgesDevice->U_[iEdg] = DEFAULT_U; - allEdgesDevice->tau_[iEdg] = DEFAULT_tau; + allEdgesDevice->U_[iEdg] = AllSpikingSynapses::DEFAULT_U; + allEdgesDevice->tau_[iEdg] = AllSpikingSynapses::DEFAULT_tau; BGFLOAT U; BGFLOAT D; diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index db1678432..c4d48d800 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -126,35 +126,8 @@ inline std::ostream &operator<<(std::ostream &os, edgeType eT) return os; } -// The default membrane capacitance. -#define DEFAULT_Cm (3e-8) -// The default membrane resistance. -#define DEFAULT_Rm (1e6) -// The default resting voltage. -#define DEFAULT_Vrest (0.0) -// The default reset voltage. -#define DEFAULT_Vreset (-0.06) -// The default absolute refractory period. -#define DEFAULT_Trefract (3e-3) -// The default synaptic noise. -#define DEFAULT_Inoise (0.0) -// The default injected current. -#define DEFAULT_Iinject (0.0) -// The default threshold voltage. If \f$V_m >= V_{thresh}\f$ then the neuron fires. -#define DEFAULT_Vthresh (-0.04) // The default time step size. #define DEFAULT_dt (1e-4) // MODEL INDEPENDENT -// The default absolute refractory period for inhibitory neurons. -#define DEFAULT_InhibTrefract (2.0e-3) -// The default absolute refractory period for excitory neurons. -#define DEFAULT_ExcitTrefract (3.0e-3) - -// The default synaptic time constant. -#define DEFAULT_tau (3e-3) -// The default synaptic efficiency. -#define DEFAULT_U (0.4) -// The default synaptic efficiency. -#define DEFAULT_delay_weight (0) // } NMV-END // Converts a 1-d index into a coordinate string. diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.cpp b/Simulator/Vertices/Neuro/AllIFNeurons.cpp index f51926646..85057b0b2 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons.cpp @@ -132,13 +132,13 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) case vertexType::INH: LOG4CPLUS_DEBUG(vertexLogger_, "Setting inhibitory neuron: " << i); // set inhibitory absolute refractory period - Trefract_[i] = DEFAULT_InhibTrefract; // TODO(derek): move defaults inside model. + Trefract_[i] = AllIFNeurons::DEFAULT_InhibTrefract; break; case vertexType::EXC: LOG4CPLUS_DEBUG(vertexLogger_, "Setting excitatory neuron: " << i); // set excitatory absolute refractory period - Trefract_[i] = DEFAULT_ExcitTrefract; + Trefract_[i] = AllIFNeurons::DEFAULT_ExcitTrefract; break; default: @@ -152,7 +152,7 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) // set endogenously active threshold voltage, reset voltage, and refractory period Vthresh_[i] = initRNG.inRange(starterVthreshRange_[0], starterVthreshRange_[1]); Vreset_[i] = initRNG.inRange(starterVresetRange_[0], starterVresetRange_[1]); - Trefract_[i] = DEFAULT_ExcitTrefract; // TODO(derek): move defaults inside model. + Trefract_[i] = AllIFNeurons::DEFAULT_ExcitTrefract; } LOG4CPLUS_DEBUG(vertexLogger_, "\nCREATE NEURON[" << i << "] {" << endl @@ -172,16 +172,16 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) /// @param index Index of the Neuron that the synapse belongs to. void AllIFNeurons::setNeuronDefaults(int index) { - Cm_[index] = DEFAULT_Cm; - Rm_[index] = DEFAULT_Rm; - Vthresh_[index] = DEFAULT_Vthresh; - Vrest_[index] = DEFAULT_Vrest; - Vreset_[index] = DEFAULT_Vreset; - Vinit_[index] = DEFAULT_Vreset; - Trefract_[index] = DEFAULT_Trefract; - Inoise_[index] = DEFAULT_Inoise; - Iinject_[index] = DEFAULT_Iinject; - Tau_[index] = DEFAULT_Cm * DEFAULT_Rm; + Cm_[index] = AllIFNeurons::DEFAULT_Cm; + Rm_[index] = AllIFNeurons::DEFAULT_Rm; + Vthresh_[index] = AllIFNeurons::DEFAULT_Vthresh; + Vrest_[index] = AllIFNeurons::DEFAULT_Vrest; + Vreset_[index] = AllIFNeurons::DEFAULT_Vreset; + Vinit_[index] = AllIFNeurons::DEFAULT_Vreset; + Trefract_[index] = AllIFNeurons::DEFAULT_Trefract; + Inoise_[index] = AllIFNeurons::DEFAULT_Inoise; + Iinject_[index] = AllIFNeurons::DEFAULT_Iinject; + Tau_[index] = AllIFNeurons::DEFAULT_Cm * AllIFNeurons::DEFAULT_Rm; } /// Initializes the Neuron constants at the indexed location. diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.h b/Simulator/Vertices/Neuro/AllIFNeurons.h index bbe06c177..1c3d9a01d 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.h +++ b/Simulator/Vertices/Neuro/AllIFNeurons.h @@ -40,6 +40,18 @@ using AllIFNeuronsDeviceProperties = AllSpikingNeuronsDeviceProperties; class AllIFNeurons : public AllSpikingNeurons { public: + // Default neuron parameter values + static constexpr BGFLOAT DEFAULT_Cm = 3e-8; // The default membrane capacitance + static constexpr BGFLOAT DEFAULT_Rm = 1e6; // The default membrane resistance + static constexpr BGFLOAT DEFAULT_Vrest = 0.0; // The default resting voltage + static constexpr BGFLOAT DEFAULT_Vreset = -0.06; // The default reset voltage + static constexpr BGFLOAT DEFAULT_Trefract = 3e-3; // The default absolute refractory period + static constexpr BGFLOAT DEFAULT_Inoise = 0.0; // The default synaptic noise + static constexpr BGFLOAT DEFAULT_Iinject = 0.0; // The default injected current + static constexpr BGFLOAT DEFAULT_Vthresh = -0.04; // The default threshold voltage + static constexpr BGFLOAT DEFAULT_InhibTrefract = 2.0e-3; // The default absolute refractory period for inhibitory neurons + static constexpr BGFLOAT DEFAULT_ExcitTrefract = 3.0e-3; // The default absolute refractory period for excitory neurons + AllIFNeurons() = default; virtual ~AllIFNeurons() = default; From 31326ebb149d8fe037dde902e9282ee3ff381718 Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Sat, 7 Feb 2026 17:41:45 -0800 Subject: [PATCH 4/9] Fixed clang format issues --- Simulator/Edges/Neuro/AllSpikingSynapses.h | 6 ++--- .../Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp | 2 +- Simulator/Vertices/Neuro/AllIFNeurons.h | 22 ++++++++++--------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 674094d0f..f8b6bfe1e 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -39,9 +39,9 @@ using fpPostSynapsesSpikeHit_t = void (*)(const BGSIZE, AllSpikingSynapsesDevice class AllSpikingSynapses : public AllNeuroEdges { public: // Default synapse parameter values - static constexpr BGFLOAT DEFAULT_tau = 3e-3; // The default synaptic time constant - static constexpr BGFLOAT DEFAULT_U = 0.4; // The default synaptic efficiency - static constexpr BGFLOAT DEFAULT_delay_weight = 0; // The default delay weight + static constexpr BGFLOAT DEFAULT_tau = 3e-3; // The default synaptic time constant + static constexpr BGFLOAT DEFAULT_U = 0.4; // The default synaptic efficiency + static constexpr BGFLOAT DEFAULT_delay_weight = 0; // The default delay weight AllSpikingSynapses(); diff --git a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp index 93217a2b2..e5c7721cf 100644 --- a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp +++ b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp @@ -9,8 +9,8 @@ #include "AllDynamicSTDPSynapses.h" #include "AllNeuroEdges.h" -#include "AllSpikingSynapses.h" #include "AllSTDPSynapses.h" +#include "AllSpikingSynapses.h" #include "AllSynapsesDeviceFuncs.h" #include diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.h b/Simulator/Vertices/Neuro/AllIFNeurons.h index 1c3d9a01d..acd83db8f 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.h +++ b/Simulator/Vertices/Neuro/AllIFNeurons.h @@ -41,16 +41,18 @@ using AllIFNeuronsDeviceProperties = AllSpikingNeuronsDeviceProperties; class AllIFNeurons : public AllSpikingNeurons { public: // Default neuron parameter values - static constexpr BGFLOAT DEFAULT_Cm = 3e-8; // The default membrane capacitance - static constexpr BGFLOAT DEFAULT_Rm = 1e6; // The default membrane resistance - static constexpr BGFLOAT DEFAULT_Vrest = 0.0; // The default resting voltage - static constexpr BGFLOAT DEFAULT_Vreset = -0.06; // The default reset voltage - static constexpr BGFLOAT DEFAULT_Trefract = 3e-3; // The default absolute refractory period - static constexpr BGFLOAT DEFAULT_Inoise = 0.0; // The default synaptic noise - static constexpr BGFLOAT DEFAULT_Iinject = 0.0; // The default injected current - static constexpr BGFLOAT DEFAULT_Vthresh = -0.04; // The default threshold voltage - static constexpr BGFLOAT DEFAULT_InhibTrefract = 2.0e-3; // The default absolute refractory period for inhibitory neurons - static constexpr BGFLOAT DEFAULT_ExcitTrefract = 3.0e-3; // The default absolute refractory period for excitory neurons + static constexpr BGFLOAT DEFAULT_Cm = 3e-8; // The default membrane capacitance + static constexpr BGFLOAT DEFAULT_Rm = 1e6; // The default membrane resistance + static constexpr BGFLOAT DEFAULT_Vrest = 0.0; // The default resting voltage + static constexpr BGFLOAT DEFAULT_Vreset = -0.06; // The default reset voltage + static constexpr BGFLOAT DEFAULT_Trefract = 3e-3; // The default absolute refractory period + static constexpr BGFLOAT DEFAULT_Inoise = 0.0; // The default synaptic noise + static constexpr BGFLOAT DEFAULT_Iinject = 0.0; // The default injected current + static constexpr BGFLOAT DEFAULT_Vthresh = -0.04; // The default threshold voltage + static constexpr BGFLOAT DEFAULT_InhibTrefract + = 2.0e-3; // The default absolute refractory period for inhibitory neurons + static constexpr BGFLOAT DEFAULT_ExcitTrefract + = 3.0e-3; // The default absolute refractory period for excitory neurons AllIFNeurons() = default; From 718f6a2683049c96316f473fb60c0f3ba09dca91 Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Thu, 19 Mar 2026 16:26:47 -0700 Subject: [PATCH 5/9] Changed constexpr to const to aviod any confusion --- Simulator/Edges/Neuro/AllSpikingSynapses.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index f8b6bfe1e..c2c2a3433 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -39,9 +39,9 @@ using fpPostSynapsesSpikeHit_t = void (*)(const BGSIZE, AllSpikingSynapsesDevice class AllSpikingSynapses : public AllNeuroEdges { public: // Default synapse parameter values - static constexpr BGFLOAT DEFAULT_tau = 3e-3; // The default synaptic time constant - static constexpr BGFLOAT DEFAULT_U = 0.4; // The default synaptic efficiency - static constexpr BGFLOAT DEFAULT_delay_weight = 0; // The default delay weight + static const BGFLOAT DEFAULT_tau = 3e-3; // The default synaptic time constant + static const BGFLOAT DEFAULT_U = 0.4; // The default synaptic efficiency + static const BGFLOAT DEFAULT_delay_weight = 0; // The default delay weight AllSpikingSynapses(); From 805698ad8b9310e882abe2379d2c1617654a0bf5 Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Thu, 19 Mar 2026 17:21:07 -0700 Subject: [PATCH 6/9] Fix model default consistency and relocate defaults from Global.h --- Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 4 ++++ Simulator/Edges/Neuro/AllSpikingSynapses.h | 6 +++--- Simulator/Vertices/Neuro/AllIFNeurons.cpp | 2 +- Simulator/Vertices/Neuro/AllIFNeurons.h | 2 ++ 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 8f9bdca3c..7f73cd91d 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -12,6 +12,10 @@ using namespace std; +const BGFLOAT AllSpikingSynapses::DEFAULT_tau = 3e-3; +const BGFLOAT AllSpikingSynapses::DEFAULT_U = 0.4; +const BGFLOAT AllSpikingSynapses::DEFAULT_delay_weight = 0; + AllSpikingSynapses::AllSpikingSynapses() : AllNeuroEdges() { tau_II_ = 0; diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index c2c2a3433..0d9fc0fb1 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -39,9 +39,9 @@ using fpPostSynapsesSpikeHit_t = void (*)(const BGSIZE, AllSpikingSynapsesDevice class AllSpikingSynapses : public AllNeuroEdges { public: // Default synapse parameter values - static const BGFLOAT DEFAULT_tau = 3e-3; // The default synaptic time constant - static const BGFLOAT DEFAULT_U = 0.4; // The default synaptic efficiency - static const BGFLOAT DEFAULT_delay_weight = 0; // The default delay weight + static const BGFLOAT DEFAULT_tau; // The default synaptic time constant + static const BGFLOAT DEFAULT_U; // The default synaptic efficiency + static const BGFLOAT DEFAULT_delay_weight; // The default delay weight AllSpikingSynapses(); diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.cpp b/Simulator/Vertices/Neuro/AllIFNeurons.cpp index 85057b0b2..7f7c4bd8e 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons.cpp @@ -181,7 +181,7 @@ void AllIFNeurons::setNeuronDefaults(int index) Trefract_[index] = AllIFNeurons::DEFAULT_Trefract; Inoise_[index] = AllIFNeurons::DEFAULT_Inoise; Iinject_[index] = AllIFNeurons::DEFAULT_Iinject; - Tau_[index] = AllIFNeurons::DEFAULT_Cm * AllIFNeurons::DEFAULT_Rm; + Tau_[index] = AllIFNeurons::DEFAULT_Tau; } /// Initializes the Neuron constants at the indexed location. diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.h b/Simulator/Vertices/Neuro/AllIFNeurons.h index acd83db8f..10bfeb877 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.h +++ b/Simulator/Vertices/Neuro/AllIFNeurons.h @@ -49,6 +49,8 @@ class AllIFNeurons : public AllSpikingNeurons { static constexpr BGFLOAT DEFAULT_Inoise = 0.0; // The default synaptic noise static constexpr BGFLOAT DEFAULT_Iinject = 0.0; // The default injected current static constexpr BGFLOAT DEFAULT_Vthresh = -0.04; // The default threshold voltage + // Keep tau consistent with its biophysical definition: tau = Cm * Rm + static constexpr BGFLOAT DEFAULT_Tau = DEFAULT_Cm * DEFAULT_Rm; static constexpr BGFLOAT DEFAULT_InhibTrefract = 2.0e-3; // The default absolute refractory period for inhibitory neurons static constexpr BGFLOAT DEFAULT_ExcitTrefract From 8ef27ca511aa0ea365eadbda023fbb32fed95c44 Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Thu, 19 Mar 2026 17:27:22 -0700 Subject: [PATCH 7/9] Fixed Code Style Issues --- Simulator/Edges/Neuro/AllSpikingSynapses.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 0d9fc0fb1..c00672f75 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -39,9 +39,9 @@ using fpPostSynapsesSpikeHit_t = void (*)(const BGSIZE, AllSpikingSynapsesDevice class AllSpikingSynapses : public AllNeuroEdges { public: // Default synapse parameter values - static const BGFLOAT DEFAULT_tau; // The default synaptic time constant - static const BGFLOAT DEFAULT_U; // The default synaptic efficiency - static const BGFLOAT DEFAULT_delay_weight; // The default delay weight + static const BGFLOAT DEFAULT_tau; // The default synaptic time constant + static const BGFLOAT DEFAULT_U; // The default synaptic efficiency + static const BGFLOAT DEFAULT_delay_weight; // The default delay weight AllSpikingSynapses(); From 4e976f07c3bf3fbd9d458d6a502b142d157a7dac Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Thu, 19 Mar 2026 17:30:40 -0700 Subject: [PATCH 8/9] Fixed Global.h Cpp Standard Issue --- Simulator/Utils/Global.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index c4d48d800..690ea1e01 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -67,7 +67,11 @@ using uint64_t = unsigned long long int; //included in inttypes.h, which is no #include "VectorMatrix.h" #include "VertexType.h" -using namespace std; +using std::ostream; +using std::string; +using std::stringstream; +using std::unique_ptr; +using std::vector; // If defined, a table with time and each neuron voltage will output to stdout. //#define DUMP_VOLTAGES @@ -126,8 +130,10 @@ inline std::ostream &operator<<(std::ostream &os, edgeType eT) return os; } -// The default time step size. -#define DEFAULT_dt (1e-4) // MODEL INDEPENDENT +// The default time step size (model-independent). +inline constexpr BGFLOAT kDefaultDt = 1e-4; +// Compatibility alias for legacy call sites. +#define DEFAULT_dt kDefaultDt // } NMV-END // Converts a 1-d index into a coordinate string. From 6c04600e657c0e7f85023954f3a7a55069d8871b Mon Sep 17 00:00:00 2001 From: Dhruva Vatsal Pyapali Date: Thu, 19 Mar 2026 17:33:04 -0700 Subject: [PATCH 9/9] Fixed Clang Issue --- Simulator/Edges/Neuro/AllSpikingSynapses.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index c00672f75..4b7c7e40e 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -39,9 +39,9 @@ using fpPostSynapsesSpikeHit_t = void (*)(const BGSIZE, AllSpikingSynapsesDevice class AllSpikingSynapses : public AllNeuroEdges { public: // Default synapse parameter values - static const BGFLOAT DEFAULT_tau; // The default synaptic time constant - static const BGFLOAT DEFAULT_U; // The default synaptic efficiency - static const BGFLOAT DEFAULT_delay_weight; // The default delay weight + static const BGFLOAT DEFAULT_tau; + static const BGFLOAT DEFAULT_U; + static const BGFLOAT DEFAULT_delay_weight; AllSpikingSynapses();