JuliaSIMD / JuliaSIMD/LoopVectorization.jl

"Reduction not found." error with `ifelse`

Aperta
#243 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Julia
Stelle
789
Fork
73
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

```julia
julia> using LoopVectorization

julia> m = [1,2,3,4,5,6,7,8]
8-element Array{Int64,1}:
1
2
3
4
5
6
7
8

julia> s = -Inf
-Inf

julia> @avx for i in eachindex(m)
s = ifelse(m[i]>=s, m[i], s)
end
ERROR: LoadError: "Reduction not found."
Stacktrace:
[1] reduction_zero at C:\Users\89639\.julia\packages\LoopVectorization\O8WW6\src\modeling\costs.jl:469 [inlined]
[2] add_reduction_update_parent!(::Array{LoopVectorization.Operation,1}, ::Array{Symbol,1}, ::Array{Symbol,1}, ::LoopVectorization.LoopSet, ::LoopVectorization.Operation, ::LoopVectorization.Instruction, ::Int64, ::Int64) at C:\Users\89639\.julia\packages\LoopVectorization\O8WW6\src\parse\add_compute.jl:188
in expression starting at REPL[4]:1
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Reproduce the Julia REPL example with LoopVectorization and inspect the stack-trace locations in src/modeling/costs.jl and src/parse/add_compute.jl, especially reduction_zero and add_reduction_update_parent!. Done means the @avx loop using ifelse no longer raises "Reduction not found." and the behavior is covered by an appropriate regression test.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
julia
Ambito
performance, tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.