add voltage regulator

This commit is contained in:
ton
2023-08-29 22:32:13 +07:00
parent 619e8d7f83
commit 336c97f755
3 changed files with 18 additions and 2 deletions

View File

@@ -73,6 +73,7 @@ function (kfn::kfn_1)(input::AbstractArray)
kfn.lif_firingCounter,
kfn.lif_recSignal,
kfn.lif_exInType,
kfn.lif_wRecChange,
kfn.lif_neuronInactivityCounter,
kfn.lif_synapticInactivityCounter,
)
@@ -98,6 +99,7 @@ function (kfn::kfn_1)(input::AbstractArray)
kfn.alif_firingCounter,
kfn.alif_recSignal,
kfn.alif_exInType,
kfn.alif_wRecChange,
kfn.alif_neuronInactivityCounter,
kfn.alif_synapticInactivityCounter,
kfn.alif_epsilonRecA,
@@ -165,6 +167,7 @@ function lifForward( zit::CuArray,
firingCounter::CuArray,
recSignal::CuArray,
exInType::CuArray,
wRecChange::CuArray,
neuronInactivityCounter::CuArray,
synapticInactivityCounter::CuArray,
)
@@ -184,6 +187,7 @@ function lifForward( zit::CuArray,
firingCounter,
recSignal,
exInType,
wRecChange,
neuronInactivityCounter,
synapticInactivityCounter,
GeneralUtils.linear_to_cartesian,
@@ -217,6 +221,7 @@ function lifForward( zit::CuArray,
firingCounter,
recSignal,
exInType,
wRecChange,
neuronInactivityCounter,
synapticInactivityCounter,
GeneralUtils.linear_to_cartesian; threads, blocks)
@@ -239,6 +244,7 @@ function lifForward( zit,
firingCounter,
recSignal,
exInType,
wRecChange,
neuronInactivityCounter,
synapticInactivityCounter,
linear_to_cartesian,
@@ -299,7 +305,9 @@ function lifForward( zit,
synapticInactivityCounter[i1,i2,i3,i4] -= 1
end
end
# voltage regulator
wRecChange[i1,i2,i3,i4] = -0.01*0.01 * (vt[i1,i2,i3,i4] - vth[i1,i2,i3,i4]) *
zit[i1,i2,i3,i4]
end
end
return nothing
@@ -321,6 +329,7 @@ function alifForward( zit::CuArray,
firingCounter::CuArray,
recSignal::CuArray,
exInType::CuArray,
wRecChange::CuArray,
neuronInactivityCounter::CuArray,
synapticInactivityCounter::CuArray,
epsilonRecA::CuArray,
@@ -345,6 +354,7 @@ function alifForward( zit::CuArray,
firingCounter,
recSignal,
exInType,
wRecChange,
neuronInactivityCounter,
synapticInactivityCounter,
epsilonRecA,
@@ -382,6 +392,7 @@ function alifForward( zit::CuArray,
firingCounter,
recSignal,
exInType,
wRecChange,
neuronInactivityCounter,
synapticInactivityCounter,
epsilonRecA,
@@ -409,6 +420,7 @@ function alifForward( zit,
firingCounter,
recSignal,
exInType,
wRecChange,
neuronInactivityCounter,
synapticInactivityCounter,
epsilonRecA,
@@ -486,6 +498,9 @@ function alifForward( zit,
synapticInactivityCounter[i1,i2,i3,i4] -= 1
end
end
# voltage regulator
wRecChange[i1,i2,i3,i4] = -0.01*0.01 * (vt[i1,i2,i3,i4] - avth[i1,i2,i3,i4]) *
zit[i1,i2,i3,i4]
end
end
return nothing