JuliaSIMD / JuliaSIMD/LoopVectorization.jl
Reduction not found
- Vorherrschende Sprache
- Julia
- Sterne
- 789
- Forks
- 73
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Hi, here is a MWE of an unexpected error:
```
using LoopVectorization
function test(a, b)
#s = 0.0
@turbo for i in axes(a,1)
ai = 0.0
for j in axes(b,2)
bij = b[i, j]
ai += bij^2
end
ai = exp(ai)
a[i] = ai
end
return nothing
end
a = rand(256)
b = rand(256, 256)
test(a, b)
```
LoadError: LoadError: "Reduction not found."
Stacktrace:
[1] reduction_zero
@ $HOME\.julia\packages\LoopVectorization\7gWfp\src\modeling\costs.jl:649 [inlined]
[2] add_reduction_update_parent!(vparents::Vector{LoopVectorization.Operation}, deps::Vector{Symbol}, reduceddeps::Vector{Symbol}, ls::LoopVectorization.LoopSet, parent::LoopVectorization.Operation, instr::LoopVectorization.Instruction, reduction_ind::Int64, elementbytes::Int64)
@ LoopVectorization $HOME\.julia\packages\LoopVectorization\7gWfp\src\parse\add_compute.jl:255
If I use `a[i] = exp(ai)` instead of the last two lines, it works. It also works if the last two lines are `ai = exp(ai/2); a[i] = ai`. I feel the issue is related to your explanation in #498, but honestly I don't fully understand that. My general feeling there is that the error it gives is unnecessary and can be ignored if it can run... Is that correct?
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.