version 0.0.9
This commit is contained in:
@@ -26,6 +26,7 @@ function (kfn::kfn_1)(input::AbstractArray)
|
||||
kfn.lif_firingCounter .= 0
|
||||
kfn.lif_refractoryCounter .= 0
|
||||
kfn.lif_zt .= 0
|
||||
kfn.lif_synapticActivityCounter .= 0
|
||||
|
||||
kfn.alif_vt .= 0
|
||||
kfn.alif_a .= 0
|
||||
@@ -35,6 +36,7 @@ function (kfn::kfn_1)(input::AbstractArray)
|
||||
kfn.alif_firingCounter .= 0
|
||||
kfn.alif_refractoryCounter .= 0
|
||||
kfn.alif_zt .= 0
|
||||
kfn.alif_synapticActivityCounter .= 0
|
||||
|
||||
kfn.on_vt .= 0
|
||||
kfn.on_epsilonRec .= 0
|
||||
@@ -75,7 +77,7 @@ function (kfn::kfn_1)(input::AbstractArray)
|
||||
kfn.lif_exInType,
|
||||
kfn.lif_wRecChange,
|
||||
kfn.lif_neuronInactivityCounter,
|
||||
kfn.lif_synapticInactivityCounter,
|
||||
kfn.lif_synapticActivityCounter,
|
||||
)
|
||||
end
|
||||
@async begin
|
||||
@@ -101,7 +103,7 @@ function (kfn::kfn_1)(input::AbstractArray)
|
||||
kfn.alif_exInType,
|
||||
kfn.alif_wRecChange,
|
||||
kfn.alif_neuronInactivityCounter,
|
||||
kfn.alif_synapticInactivityCounter,
|
||||
kfn.alif_synapticActivityCounter,
|
||||
kfn.alif_epsilonRecA,
|
||||
kfn.alif_a,
|
||||
kfn.alif_avth,
|
||||
@@ -169,7 +171,7 @@ function lifForward( zit::CuArray,
|
||||
exInType::CuArray,
|
||||
wRecChange::CuArray,
|
||||
neuronInactivityCounter::CuArray,
|
||||
synapticInactivityCounter::CuArray,
|
||||
synapticActivityCounter::CuArray,
|
||||
)
|
||||
|
||||
kernel = @cuda launch=false lifForward( zit,
|
||||
@@ -189,7 +191,7 @@ function lifForward( zit::CuArray,
|
||||
exInType,
|
||||
wRecChange,
|
||||
neuronInactivityCounter,
|
||||
synapticInactivityCounter,
|
||||
synapticActivityCounter,
|
||||
GeneralUtils.linear_to_cartesian,
|
||||
)
|
||||
config = launch_configuration(kernel.fun)
|
||||
@@ -223,7 +225,7 @@ function lifForward( zit::CuArray,
|
||||
exInType,
|
||||
wRecChange,
|
||||
neuronInactivityCounter,
|
||||
synapticInactivityCounter,
|
||||
synapticActivityCounter,
|
||||
GeneralUtils.linear_to_cartesian; threads, blocks)
|
||||
end
|
||||
end
|
||||
@@ -246,7 +248,7 @@ function lifForward( zit,
|
||||
exInType,
|
||||
wRecChange,
|
||||
neuronInactivityCounter,
|
||||
synapticInactivityCounter,
|
||||
synapticActivityCounter,
|
||||
linear_to_cartesian,
|
||||
)
|
||||
i = (blockIdx().x - 1) * blockDim().x + threadIdx().x # gpu threads index
|
||||
@@ -297,12 +299,10 @@ function lifForward( zit,
|
||||
|
||||
# count synaptic inactivity
|
||||
if !iszero(wRec[i1,i2,i3,i4]) # check if this is wRec subscription
|
||||
if !iszero(zit[i1,i2,i3,i4]) # synapse is active, reset counter
|
||||
#WORKING should be function based. range +1.0 to +0.1
|
||||
synapticInactivityCounter[i1,i2,i3,i4] += 1
|
||||
else # synapse is inactive, counting
|
||||
#WORKING should be function based. range +1.0 to +0.01
|
||||
synapticInactivityCounter[i1,i2,i3,i4] -= 1
|
||||
if !iszero(zit[i1,i2,i3,i4]) # synapse is active
|
||||
synapticActivityCounter[i1,i2,i3,i4] += 1
|
||||
else # synapse is inactive
|
||||
synapticActivityCounter[i1,i2,i3,i4] += 0
|
||||
end
|
||||
end
|
||||
# voltage regulator
|
||||
@@ -331,7 +331,7 @@ function alifForward( zit::CuArray,
|
||||
exInType::CuArray,
|
||||
wRecChange::CuArray,
|
||||
neuronInactivityCounter::CuArray,
|
||||
synapticInactivityCounter::CuArray,
|
||||
synapticActivityCounter::CuArray,
|
||||
epsilonRecA::CuArray,
|
||||
a::CuArray,
|
||||
avth::CuArray,
|
||||
@@ -356,7 +356,7 @@ function alifForward( zit::CuArray,
|
||||
exInType,
|
||||
wRecChange,
|
||||
neuronInactivityCounter,
|
||||
synapticInactivityCounter,
|
||||
synapticActivityCounter,
|
||||
epsilonRecA,
|
||||
a,
|
||||
avth,
|
||||
@@ -394,7 +394,7 @@ function alifForward( zit::CuArray,
|
||||
exInType,
|
||||
wRecChange,
|
||||
neuronInactivityCounter,
|
||||
synapticInactivityCounter,
|
||||
synapticActivityCounter,
|
||||
epsilonRecA,
|
||||
a,
|
||||
avth,
|
||||
@@ -422,7 +422,7 @@ function alifForward( zit,
|
||||
exInType,
|
||||
wRecChange,
|
||||
neuronInactivityCounter,
|
||||
synapticInactivityCounter,
|
||||
synapticActivityCounter,
|
||||
epsilonRecA,
|
||||
a,
|
||||
avth,
|
||||
@@ -492,10 +492,10 @@ function alifForward( zit,
|
||||
|
||||
# count synaptic inactivity
|
||||
if !iszero(wRec[i1,i2,i3,i4]) # check if this is wRec subscription
|
||||
if !iszero(zit[i1,i2,i3,i4]) # synapse is active, reset counter
|
||||
synapticInactivityCounter[i1,i2,i3,i4] += 1
|
||||
else # synapse is inactive, counting
|
||||
synapticInactivityCounter[i1,i2,i3,i4] -= 1
|
||||
if !iszero(zit[i1,i2,i3,i4]) # synapse is active
|
||||
synapticActivityCounter[i1,i2,i3,i4] += 1
|
||||
else # synapse is inactive
|
||||
synapticActivityCounter[i1,i2,i3,i4] += 0
|
||||
end
|
||||
end
|
||||
# voltage regulator
|
||||
|
||||
Reference in New Issue
Block a user