JuliaSIMD / JuliaSIMD/LoopVectorization.jl

"Reduction not found." error with `ifelse`

Ouverte
#243 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Julia
Étoiles
789
Forks
73
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

```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
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Reproduisez l’exemple du REPL Julia avec LoopVectorization et examinez les emplacements de la trace de pile dans src/modeling/costs.jl et src/parse/add_compute.jl, en particulier reduction_zero et add_reduction_update_parent!. Le travail est considéré comme terminé lorsque la boucle @avx utilisant ifelse ne déclenche plus "Reduction not found." et que le comportement est couvert par un test de régression approprié.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
julia
Domaine
performance, tooling
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.