You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I observe that the following MWE code works differently with vs without the tturbo.
using LoopVectorization, Random
function weird_update(a, c, d)
@tturbo for j in axes(a, 2)
tmp = 0.0
for i in axes(a, 1)
a_ij = a[i, j]
b_ij = a_ij + 1.0
tmp += b_ij^2
end
c[j] = tmp
d[j] = exp(2.0*tmp)
end
return nothing
end
m = 100
n = 5
rng = MersenneTwister(0)
a = zeros(n, m)
randn!(rng, a)
c = zeros(m)
d = zeros(m)
weird_update(a, c, d)
println(c)
println(d)
In fact, with tturbo, d is always 1, as if the code for updating d is written after tmp=0.0. On the other hand, the update for c works well.
Could you help me figure out a way to do this correctly with tturbo?
UPDATE1: it is weird that if I change d[j] = exp(2.0*tmp) to d[j]=exp(2.0*(0.0+tmp)), then it works correctly.
UPDATE2: The following code works even more weirdly
function weird_update(a, c, d)
@tturbo for j in axes(a, 2)
tmp = 0.0
for i in axes(a, 1)
a_ij = a[i, j]
b_ij = a_ij + 1.0
tmp += b_ij^2
end
c[j] = tmp
d[j] = exp(2.0*c[j])
end
return nothing
end
m = 100
n = 5
rng = MersenneTwister(0)
a = zeros(n, m)
randn!(rng, a)
c = ones(m)
d = zeros(m)
weird_update(a, c, d)
println(c)
println(d)
The output of d is all one's -- not even exp(2). I am totally confused.
The text was updated successfully, but these errors were encountered:
I observe that the following MWE code works differently with vs without the tturbo.
In fact, with tturbo,
d
is always 1, as if the code for updatingd
is written aftertmp=0.0
. On the other hand, the update forc
works well.Could you help me figure out a way to do this correctly with tturbo?
UPDATE1: it is weird that if I change
d[j] = exp(2.0*tmp)
tod[j]=exp(2.0*(0.0+tmp))
, then it works correctly.UPDATE2: The following code works even more weirdly
The output of
d
is all one's -- not evenexp(2)
. I am totally confused.The text was updated successfully, but these errors were encountered: